From 6db4c61f0463b56b08737359c2a9995cc7a00e0e Mon Sep 17 00:00:00 2001 From: Louis Bethune Date: Fri, 15 Mar 2024 15:28:08 +0100 Subject: [PATCH] Deployed 75c9faf with MkDocs version: 1.5.3 --- .nojekyll | 0 404.html | 593 ++ CONTRIBUTING/index.html | 763 ++ api/layers/index.html | 2733 +++++++ api/losses/index.html | 2853 +++++++ api/model/index.html | 3616 +++++++++ api/pipeline/index.html | 2524 +++++++ api/sensitivity/index.html | 1103 +++ assets/_mkdocstrings.css | 109 + assets/all_speed_curves.png | Bin 0 -> 255658 bytes assets/backprop_v2.png | Bin 0 -> 407738 bytes assets/fig_accountant.png | Bin 0 -> 233998 bytes assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.c8d2eff1.min.js | 29 + assets/javascripts/bundle.c8d2eff1.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + assets/lipdp_logo.png | Bin 0 -> 447177 bytes assets/logo.png | Bin 0 -> 131809 bytes assets/stylesheets/main.7e359304.min.css | 1 + assets/stylesheets/main.7e359304.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + css/ansi-colours.css | 174 + css/custom.css | 194 + css/jupyter-cells.css | 10 + css/pandas-dataframe.css | 36 + index.html | 996 +++ js/custom.js | 12 + notebooks/advanced_cifar10/index.html | 2659 +++++++ notebooks/basics_mnist/index.html | 1549 ++++ objects.inv | Bin 0 -> 831 bytes search/search_index.json | 1 + sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes 69 files changed, 27218 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CONTRIBUTING/index.html create mode 100644 api/layers/index.html create mode 100644 api/losses/index.html create mode 100644 api/model/index.html create mode 100644 api/pipeline/index.html create mode 100644 api/sensitivity/index.html create mode 100644 assets/_mkdocstrings.css create mode 100644 assets/all_speed_curves.png create mode 100644 assets/backprop_v2.png create mode 100644 assets/fig_accountant.png create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.c8d2eff1.min.js create mode 100644 assets/javascripts/bundle.c8d2eff1.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 assets/lipdp_logo.png create mode 100644 assets/logo.png create mode 100644 assets/stylesheets/main.7e359304.min.css create mode 100644 assets/stylesheets/main.7e359304.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 css/ansi-colours.css create mode 100644 css/custom.css create mode 100644 css/jupyter-cells.css create mode 100644 css/pandas-dataframe.css create mode 100644 index.html create mode 100644 js/custom.js create mode 100644 notebooks/advanced_cifar10/index.html create mode 100644 notebooks/basics_mnist/index.html create mode 100644 objects.inv create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..1f85751 --- /dev/null +++ b/404.html @@ -0,0 +1,593 @@ + + + + + + + + + + + + + + + + + + + lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CONTRIBUTING/index.html b/CONTRIBUTING/index.html new file mode 100644 index 0000000..27bd592 --- /dev/null +++ b/CONTRIBUTING/index.html @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + + + + + + + Contributing - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

Contributing

+

Thanks for taking the time to contribute!

+

From opening a bug report to creating a pull request: every contribution is +appreciated and welcome. If you're planning to implement a new feature or change +the api please create an issue first. This way we can ensure that your precious +work is not in vain.

+

Setup with make

+
    +
  • Clone the repo git clone https://github.com/deel-ai/dp-lipschitz.git.
  • +
  • Go to your freshly downloaded repo cd lipdp
  • +
  • Create a virtual environment and install the necessary dependencies for development:
  • +
+

make prepare-dev && source lipdp_dev_env/bin/activate.

+

Welcome to the team !

+

Tests

+

To run test make test +This command activate your virtual environment and launch the tox command.

+

tox on the otherhand will do the following: +- run pytest on the tests folder with python 3.6, python 3.7 and python 3.8

+
+

Note: If you do not have those 3 interpreters the tests would be only performs with your current interpreter +- run pylint on the deel-datasets main files, also with python 3.6, python 3.7 and python 3.8 +Note: It is possible that pylint throw false-positive errors. If the linting test failed please check first pylint output to point out the reasons.

+
+

Please, make sure you run all the tests at least once before opening a pull request.

+

A word toward Pylint for those that don't know it:

+
+

Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple refactoring suggestions.

+
+

Basically, it will check that your code follow a certain number of convention. Any Pull Request will go through a Github workflow ensuring that your code respect the Pylint conventions (most of them at least).

+

Submitting Changes

+

After getting some feedback, push to your fork and submit a pull request. We +may suggest some changes or improvements or alternatives, but for small changes +your pull request should be accepted quickly (see Governance policy).

+

Something that will increase the chance that your pull request is accepted:

+
    +
  • Write tests and ensure that the existing ones pass.
  • +
  • If make test is succesful, you have fair chances to pass the CI workflows (linting and test)
  • +
  • Follow the existing coding style and run make check_all to check all files format.
  • +
  • Write a good commit message (we follow a lowercase convention).
  • +
  • For a major fix/feature make sure your PR has an issue and if it doesn't, please create one. This would help discussion with the community, and polishing ideas in case of a new feature.
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/layers/index.html b/api/layers/index.html new file mode 100644 index 0000000..7197974 --- /dev/null +++ b/api/layers/index.html @@ -0,0 +1,2733 @@ + + + + + + + + + + + + + + + + + + + + + + + deel.lipdp.layers module - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

deel.lipdp.layers module

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

+ AddBias + + +

+ + +
+

+ Bases: Layer

+ + +

Adds a bias to the input.

+

Remark: the euclidean norm of the bias must be bounded in advance. +Note that this is the euclidean norm of the whole bias vector, not +the norm of each element of the bias vector.

+

Warning: beware zero gradients outside the ball of norm norm_max. +In the future, we might choose a smoother projection on the ball to ensure +that the gradient remains non zero outside the ball.

+ +
+ Source code in deel/lipdp/layers.py +
566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
class AddBias(tf.keras.layers.Layer):
+    """Adds a bias to the input.
+
+    Remark: the euclidean norm of the bias must be bounded in advance.
+    Note that this is the euclidean norm of the whole bias vector, not
+    the norm of each element of the bias vector.
+
+    Warning: beware zero gradients outside the ball of norm norm_max.
+    In the future, we might choose a smoother projection on the ball to ensure
+    that the gradient remains non zero outside the ball.
+    """
+
+    def __init__(self, norm_max, **kwargs):
+        super().__init__(**kwargs)
+        self.norm_max = tf.convert_to_tensor(norm_max)
+
+    def build(self, input_shape):
+        self.bias = self.add_weight(
+            name="bias",
+            shape=(input_shape[-1],),
+            initializer="zeros",
+            trainable=True,
+        )
+
+    def call(self, inputs, **kwargs):
+        # parametrize the bias so it belongs to a ball of norm norm_max.
+        bias = tf.convert_to_tensor(
+            tf.clip_by_norm(self.bias, self.norm_max)
+        )  # 1-Lipschitz operation.
+        return inputs + bias
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DPLayer + + +

+ + +
+ + +

Wrapper for created differentially private layers, instanciates abstract methods +use for computing the bounds of the gradient relatively to the parameters and to the +input.

+ +
+ Source code in deel/lipdp/layers.py +
33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
class DPLayer:
+    """
+    Wrapper for created differentially private layers, instanciates abstract methods
+    use for computing the bounds of the gradient relatively to the parameters and to the
+    input.
+    """
+
+    @abstractmethod
+    def backpropagate_params(self, input_bound, gradient_bound):
+        """Corresponds to the Lipschitz constant of the output wrt the parameters,
+            i.e. the norm of the Jacobian of the output wrt the parameters times the norm of the cotangeant vector.
+
+        Args:
+            input_bound: Maximum norm of input.
+            gradient_bound: Maximum norm of gradients (co-tangent vector)
+
+        Returns:
+            Maximum norm of tangent vector."""
+        pass
+
+    @abstractmethod
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        """Applies the dilatation of the cotangeant vector norm (upstream gradient) by the Jacobian,
+            i.e. multiply by the Lipschitz constant of the output wrt input.
+
+        Args:
+            input_bound: Maximum norm of input.
+            gradient_bound: Maximum norm of gradients (co-tangent vector)
+
+        Returns:
+            Maximum norm of tangent vector.
+        """
+        pass
+
+    @abstractmethod
+    def propagate_inputs(self, input_bound):
+        """Maximum norm of output of element.
+
+        Remark: when the layer is linear, this coincides with its Lipschitz constant * input_bound.
+        """
+        pass
+
+    @abstractmethod
+    def has_parameters(self):
+        pass
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ backpropagate_inputs(input_bound, gradient_bound) + + + abstractmethod + + +

+ + +
+ +

Applies the dilatation of the cotangeant vector norm (upstream gradient) by the Jacobian, + i.e. multiply by the Lipschitz constant of the output wrt input.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
input_bound + +
+

Maximum norm of input.

+
+
+ required +
gradient_bound + +
+

Maximum norm of gradients (co-tangent vector)

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

Maximum norm of tangent vector.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
@abstractmethod
+def backpropagate_inputs(self, input_bound, gradient_bound):
+    """Applies the dilatation of the cotangeant vector norm (upstream gradient) by the Jacobian,
+        i.e. multiply by the Lipschitz constant of the output wrt input.
+
+    Args:
+        input_bound: Maximum norm of input.
+        gradient_bound: Maximum norm of gradients (co-tangent vector)
+
+    Returns:
+        Maximum norm of tangent vector.
+    """
+    pass
+
+
+
+ +
+ + +
+ + + +

+ backpropagate_params(input_bound, gradient_bound) + + + abstractmethod + + +

+ + +
+ +

Corresponds to the Lipschitz constant of the output wrt the parameters, + i.e. the norm of the Jacobian of the output wrt the parameters times the norm of the cotangeant vector.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
input_bound + +
+

Maximum norm of input.

+
+
+ required +
gradient_bound + +
+

Maximum norm of gradients (co-tangent vector)

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

Maximum norm of tangent vector.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
@abstractmethod
+def backpropagate_params(self, input_bound, gradient_bound):
+    """Corresponds to the Lipschitz constant of the output wrt the parameters,
+        i.e. the norm of the Jacobian of the output wrt the parameters times the norm of the cotangeant vector.
+
+    Args:
+        input_bound: Maximum norm of input.
+        gradient_bound: Maximum norm of gradients (co-tangent vector)
+
+    Returns:
+        Maximum norm of tangent vector."""
+    pass
+
+
+
+ +
+ + +
+ + + +

+ propagate_inputs(input_bound) + + + abstractmethod + + +

+ + +
+ +

Maximum norm of output of element.

+

Remark: when the layer is linear, this coincides with its Lipschitz constant * input_bound.

+ +
+ Source code in deel/lipdp/layers.py +
67
+68
+69
+70
+71
+72
+73
@abstractmethod
+def propagate_inputs(self, input_bound):
+    """Maximum norm of output of element.
+
+    Remark: when the layer is linear, this coincides with its Lipschitz constant * input_bound.
+    """
+    pass
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_AddBias + + +

+ + +
+

+ Bases: AddBias, DPLayer

+ + +

Adds a bias to the input.

+

The bias is projected on the ball of norm norm_max during training. +The projection on the ball is a 1-Lipschitz function, since the ball +is convex.

+ +
+ Source code in deel/lipdp/layers.py +
598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
class DP_AddBias(AddBias, DPLayer):
+    """Adds a bias to the input.
+
+    The bias is projected on the ball of norm `norm_max` during training.
+    The projection on the ball is a 1-Lipschitz function, since the ball
+    is convex.
+    """
+
+    def __init__(self, *args, nm_coef=1, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.nm_coef = nm_coef
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        return gradient_bound  # clipping is a 1-Lipschitz operation.
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        return 1 * gradient_bound  # adding is a 1-Lipschitz operation.
+
+    def propagate_inputs(self, input_bound):
+        return input_bound + self.norm_max
+
+    def has_parameters(self):
+        return True
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_BoundedInput + + +

+ + +
+

+ Bases: Layer, DPLayer

+ + +

Input layer that clips the input to a given norm.

+

Remark: every pipeline should start with this layer.

+ + + +

Attributes:

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
upper_bound + +
+

Maximum norm of the input.

+
+
enforce_clipping + +
+

If True (default), the input is clipped to the given norm.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
class DP_BoundedInput(tf.keras.layers.Layer, DPLayer):
+    """Input layer that clips the input to a given norm.
+
+    Remark: every pipeline should start with this layer.
+
+    Attributes:
+        upper_bound: Maximum norm of the input.
+        enforce_clipping: If True (default), the input is clipped to the given norm.
+    """
+
+    def __init__(self, *args, upper_bound, enforce_clipping=True, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.upper_bound = tf.convert_to_tensor(upper_bound)
+        self.enforce_clipping = enforce_clipping
+
+    def call(self, x, *args, **kwargs):
+        if self.enforce_clipping:
+            axes = list(range(1, len(x.shape)))
+            x = tf.clip_by_norm(x, self.upper_bound, axes=axes)
+        return x
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        raise ValueError("InputLayer doesn't have parameters")
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        return 1 * gradient_bound
+
+    def propagate_inputs(self, input_bound):
+        if input_bound is None:
+            return self.upper_bound
+        return tf.math.minimum(self.upper_bound, input_bound)
+
+    def has_parameters(self):
+        return False
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_ClipGradient + + +

+ + +
+

+ Bases: Layer, DPLayer

+ + +

Clips the gradient during the backward pass.

+

Behaves like identity function during the forward pass. +The clipping is done automatically during the backward pass.

+ + + +

Attributes:

+ + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
clip_value + float + +
+
            The maximum norm of the gradient allowed. Only
+            declare this variable if you plan on using the "fixed" clipping mode.
+            Otherwise it will be updated automatically.
+
+
+
mode + str + +
+

The mode of clipping. Either "fixed" or "dynamic". Default is "fixed".

+
+
+

Warning : The mode "dynamic" needs to be used along a callback that updates the clipping value.

+ +
+ Source code in deel/lipdp/layers.py +
503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
class DP_ClipGradient(tf.keras.layers.Layer, DPLayer):
+    """Clips the gradient during the backward pass.
+
+    Behaves like identity function during the forward pass.
+    The clipping is done automatically during the backward pass.
+
+    Attributes:
+        clip_value (float, optional):
+                            The maximum norm of the gradient allowed. Only
+                            declare this variable if you plan on using the "fixed" clipping mode.
+                            Otherwise it will be updated automatically.
+        mode (str): The mode of clipping. Either "fixed" or "dynamic". Default is "fixed".
+
+    Warning : The mode "dynamic" needs to be used along a callback that updates the clipping value.
+    """
+
+    def __init__(self, clip_value, mode="fixed", *args, **kwargs):
+        super().__init__(*args, **kwargs)
+
+        self._dynamic_dp_dict = {}  # to be filled by the callback
+
+        assert mode in ["fixed", "dynamic"]
+        self.mode = mode
+
+        assert clip_value is None or clip_value >= 0, "clip_value must be positive"
+        if mode == "fixed":
+            assert (
+                clip_value is not None
+            ), "clip_value must be declared when using the fixed mode"
+
+        if clip_value is None:
+            clip_value = (
+                0.0  # Change type back to float in case clip_value needs to be updated
+            )
+
+        self.clip_value = tf.Variable(clip_value, trainable=False, dtype=tf.float32)
+
+    def update_clipping_value(self, new_clip_value):
+        print("Update clipping value to : ", float(new_clip_value.numpy()))
+        self.clip_value.assign(new_clip_value)
+
+    def call(self, inputs, *args, **kwargs):
+        batch_size = tf.convert_to_tensor(tf.cast(tf.shape(inputs)[0], tf.float32))
+        # the clipping is done elementwise
+        # since REDUCTION=SUM_OVER_BATCH_SIZE, we need to divide by batch_size
+        # to get the correct norm.
+        # this makes the clipping independent of the batch size.
+        elementwise_clip_value = self.clip_value.value() / batch_size
+        return clip_gradient(inputs, elementwise_clip_value)
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        raise ValueError("ClipGradient doesn't have parameters")
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        return tf.math.minimum(gradient_bound, self.clip_value)
+
+    def propagate_inputs(self, input_bound):
+        return input_bound
+
+    def has_parameters(self):
+        return False
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_MaxPool2D + + +

+ + +
+

+ Bases: MaxPool2D, DPLayer

+ + +

Max pooling layer that preserves the gradient norm.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
layer_cls + +
+

Class of the layer to wrap.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

A differentially private layer that doesn't have parameters.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
class DP_MaxPool2D(tf.keras.layers.MaxPool2D, DPLayer):
+    """Max pooling layer that preserves the gradient norm.
+
+    Args:
+        layer_cls: Class of the layer to wrap.
+
+    Returns:
+        A differentially private layer that doesn't have parameters.
+    """
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        assert (
+            self.strides is None or self.strides == self.pool_size
+        ), "Ensure that strides == pool_size, otherwise it is not 1-Lipschitz."
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        raise ValueError("Layer doesn't have parameters")
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        return 1 * gradient_bound
+
+    def propagate_inputs(self, input_bound):
+        return input_bound
+
+    def has_parameters(self):
+        return False
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_ScaledL2NormPooling2D + + +

+ + +
+

+ Bases: ScaledL2NormPooling2D, DPLayer

+ + +

Max pooling layer that preserves the gradient norm.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
layer_cls + +
+

Class of the layer to wrap.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

A differentially private layer that doesn't have parameters.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
class DP_ScaledL2NormPooling2D(deel.lip.layers.ScaledL2NormPooling2D, DPLayer):
+    """Max pooling layer that preserves the gradient norm.
+
+    Args:
+        layer_cls: Class of the layer to wrap.
+
+    Returns:
+        A differentially private layer that doesn't have parameters.
+    """
+
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        assert (
+            self.strides is None or self.strides == self.pool_size
+        ), "Ensure that strides == pool_size, otherwise it is not 1-Lipschitz."
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        raise ValueError("Layer doesn't have parameters")
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        return 1 * gradient_bound
+
+    def propagate_inputs(self, input_bound):
+        return input_bound
+
+    def has_parameters(self):
+        return False
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_WrappedResidual + + +

+ + +
+

+ Bases: Layer, DPLayer

+ + +
+ Source code in deel/lipdp/layers.py +
680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
class DP_WrappedResidual(tf.keras.layers.Layer, DPLayer):
+    def __init__(self, block, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.block = block
+
+    def call(self, inputs, *args, **kwargs):
+        assert len(inputs) == 2
+        i1, i2 = inputs
+        i2 = self.block(i2, *args, **kwargs)
+        return i1, i2
+
+    def backpropagate_params(self, input_bound, gradient_bound):
+        assert len(input_bound) == 2
+        assert len(gradient_bound) == 2
+        _, i2 = input_bound
+        _, g2 = gradient_bound
+        g2 = self.block.backpropagate_params(i2, g2)
+        return g2
+
+    def backpropagate_inputs(self, input_bound, gradient_bound):
+        assert len(input_bound) == 2
+        assert len(gradient_bound) == 2
+        _, i2 = input_bound
+        g1, g2 = gradient_bound
+        g2 = self.block.backpropagate_inputs(i2, g2)
+        return g1, g2
+
+    def propagate_inputs(self, input_bound):
+        assert len(input_bound) == 2
+        i1, i2 = input_bound
+        i2 = self.block.propagate_inputs(i2)
+        return i1, i2
+
+    def has_parameters(self):
+        return self.block.has_parameters()
+
+    @property
+    def nm_coef(self):
+        """Returns the norm multiplier coefficient of the layer.
+
+        Remark: this is a property to mimic the behavior of an attribute.
+        """
+        return self.block.nm_coef
+
+
+ + + +
+ + + + + + + +
+ + + +

+ nm_coef + + + property + + +

+ + +
+ +

Returns the norm multiplier coefficient of the layer.

+

Remark: this is a property to mimic the behavior of an attribute.

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

+ DP_GNP_Factory(layer_cls) + +

+ + +
+ +

Factory for creating differentially private gradient norm preserving layers that don't have parameters.

+

Remark: the layer is assumed to be GNP. +This means that the gradient norm is preserved by the layer (i.e its Jacobian norm is 1). +Please ensure that the layer is GNP before using this factory.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
layer_cls + +
+

Class of the layer to wrap.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

A differentially private layer that doesn't have parameters.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
def DP_GNP_Factory(layer_cls):
+    """Factory for creating differentially private gradient norm preserving layers that don't have parameters.
+
+    Remark: the layer is assumed to be GNP.
+    This means that the gradient norm is preserved by the layer (i.e its Jacobian norm is 1).
+    Please ensure that the layer is GNP before using this factory.
+
+    Args:
+        layer_cls: Class of the layer to wrap.
+
+    Returns:
+        A differentially private layer that doesn't have parameters.
+    """
+
+    class DP_GNP(layer_cls, DPLayer):
+        def __init__(self, *args, **kwargs):
+            super().__init__(*args, **kwargs)
+
+        def backpropagate_params(self, input_bound, gradient_bound):
+            raise ValueError("Layer doesn't have parameters")
+
+        def backpropagate_inputs(self, input_bound, gradient_bound):
+            return 1 * gradient_bound
+
+        def propagate_inputs(self, input_bound):
+            return input_bound
+
+        def has_parameters(self):
+            return False
+
+    DP_GNP.__name__ = f"DP_{layer_cls.__name__}"
+    return DP_GNP
+
+
+
+ +
+ + +
+ + + +

+ clip_gradient(x, clip_value) + +

+ + +
+ +

Clips the gradient during the backward pass.

+

Behave like identity function during the forward pass.

+ +
+ Source code in deel/lipdp/layers.py +
487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
@tf.custom_gradient
+def clip_gradient(x, clip_value):
+    """Clips the gradient during the backward pass.
+
+    Behave like identity function during the forward pass.
+    """
+
+    def grad_fn(dy):
+        # clip by norm each row
+        axes = list(range(1, len(dy.shape)))
+        clipped_dy = tf.clip_by_norm(dy, clip_value, axes=axes)
+        return clipped_dy, None  # No gradient for clip_value
+
+    return x, grad_fn
+
+
+
+ +
+ + +
+ + + +

+ make_residuals(merge_policy, wrapped_layers) + +

+ + +
+ +

Returns a list of layers that implement a residual block.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
merge_policy + +
+

either "add" or "1-lip-add".

+
+
+ required +
wrapped_layers + +
+

a list of layers that will be wrapped in residual blocks.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

A list of layers that implement a residual block.

+
+
+ +
+ Source code in deel/lipdp/layers.py +
725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
def make_residuals(merge_policy, wrapped_layers):
+    """Returns a list of layers that implement a residual block.
+
+    Args:
+        merge_policy: either "add" or "1-lip-add".
+        wrapped_layers: a list of layers that will be wrapped in residual blocks.
+
+    Returns:
+        A list of layers that implement a residual block.
+    """
+    layers = [DP_SplitResidual()]
+
+    for layer in wrapped_layers:
+        residual_block = DP_WrappedResidual(layer)
+        layers.append(residual_block)
+
+    layers.append(DP_MergeResidual(merge_policy))
+
+    return layers
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/losses/index.html b/api/losses/index.html new file mode 100644 index 0000000..79498b4 --- /dev/null +++ b/api/losses/index.html @@ -0,0 +1,2853 @@ + + + + + + + + + + + + + + + + + + + + + + + deel.lipdp.losses module - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

deel.lipdp.losses module

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

+ DP_KCosineSimilarity + + +

+ + +
+

+ Bases: Loss, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
class DP_KCosineSimilarity(Loss, DP_Loss):
+    def __init__(
+        self,
+        K=1.0,
+        axis=-1,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="cosine_similarity",
+    ):
+        super().__init__(reduction=reduction, name=name)
+        # as the espilon is applied before the sqrt in tf.linalg.l2_normalize we
+        # apply square to it
+        self.K = K**2
+        self.axis = axis
+
+    @tf.function
+    def call(self, y_true, y_pred):
+        y_true = tf.linalg.l2_normalize(y_true, epsilon=self.K, axis=self.axis)
+        y_pred = tf.linalg.l2_normalize(y_pred, epsilon=self.K, axis=self.axis)
+        return -tf.reduce_sum(y_true * y_pred, axis=self.axis)
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        return 1 / float(self.K)
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
60
+61
+62
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    return 1 / float(self.K)
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_Loss + + +

+ + +
+ + +
+ Source code in deel/lipdp/losses.py +
34
+35
+36
+37
class DP_Loss:
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        raise NotImplementedError()
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
35
+36
+37
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    raise NotImplementedError()
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_MeanAbsoluteError + + +

+ + +
+

+ Bases: MeanAbsoluteError, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
class DP_MeanAbsoluteError(tf.keras.losses.MeanAbsoluteError, DP_Loss):
+    def __init__(
+        self,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="MulticlassKR",
+    ):
+        r"""
+        Mean Absolute Error
+        """
+        super(DP_MeanAbsoluteError, self).__init__(reduction=reduction, name=name)
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        return 1.0
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='MulticlassKR') + +

+ + +
+ +

Mean Absolute Error

+ +
+ Source code in deel/lipdp/losses.py +
224
+225
+226
+227
+228
+229
+230
+231
+232
def __init__(
+    self,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="MulticlassKR",
+):
+    r"""
+    Mean Absolute Error
+    """
+    super(DP_MeanAbsoluteError, self).__init__(reduction=reduction, name=name)
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
234
+235
+236
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    return 1.0
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_MulticlassHKR + + +

+ + +
+

+ Bases: MulticlassHKR, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
class DP_MulticlassHKR(MulticlassHKR, DP_Loss):
+    def __init__(
+        self,
+        alpha=10.0,
+        min_margin=1.0,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="MulticlassHKR",
+    ):
+        """
+        The multiclass version of HKR. This is done by computing the HKR term over each
+        class and averaging the results.
+
+        Note that `y_true` should be one-hot encoded or pre-processed with the
+        `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+        Using a multi-GPU/TPU strategy requires to set `multi_gpu` to True and to
+        pre-process the labels `y_true` with the
+        `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+        Args:
+            alpha (float): regularization factor
+            min_margin (float): margin to enforce.
+            multi_gpu (bool): set to True when running on multi-GPU/TPU
+            reduction: passed to tf.keras.Loss constructor
+            name (str): passed to tf.keras.Loss constructor
+
+        """
+        super(DP_MulticlassHKR, self).__init__(
+            alpha=alpha,
+            min_margin=min_margin,
+            multi_gpu=False,
+            reduction=reduction,
+            name=name,
+        )
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        return self.alpha + 1.0
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(alpha=10.0, min_margin=1.0, reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='MulticlassHKR') + +

+ + +
+ +

The multiclass version of HKR. This is done by computing the HKR term over each +class and averaging the results.

+

Note that y_true should be one-hot encoded or pre-processed with the +deel.lip.utils.process_labels_for_multi_gpu() function.

+

Using a multi-GPU/TPU strategy requires to set multi_gpu to True and to +pre-process the labels y_true with the +deel.lip.utils.process_labels_for_multi_gpu() function.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
alpha + float + +
+

regularization factor

+
+
+ 10.0 +
min_margin + float + +
+

margin to enforce.

+
+
+ 1.0 +
multi_gpu + bool + +
+

set to True when running on multi-GPU/TPU

+
+
+ required +
reduction + +
+

passed to tf.keras.Loss constructor

+
+
+ SUM_OVER_BATCH_SIZE +
name + str + +
+

passed to tf.keras.Loss constructor

+
+
+ 'MulticlassHKR' +
+ +
+ Source code in deel/lipdp/losses.py +
121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
def __init__(
+    self,
+    alpha=10.0,
+    min_margin=1.0,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="MulticlassHKR",
+):
+    """
+    The multiclass version of HKR. This is done by computing the HKR term over each
+    class and averaging the results.
+
+    Note that `y_true` should be one-hot encoded or pre-processed with the
+    `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+    Using a multi-GPU/TPU strategy requires to set `multi_gpu` to True and to
+    pre-process the labels `y_true` with the
+    `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+    Args:
+        alpha (float): regularization factor
+        min_margin (float): margin to enforce.
+        multi_gpu (bool): set to True when running on multi-GPU/TPU
+        reduction: passed to tf.keras.Loss constructor
+        name (str): passed to tf.keras.Loss constructor
+
+    """
+    super(DP_MulticlassHKR, self).__init__(
+        alpha=alpha,
+        min_margin=min_margin,
+        multi_gpu=False,
+        reduction=reduction,
+        name=name,
+    )
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
155
+156
+157
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    return self.alpha + 1.0
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_MulticlassHinge + + +

+ + +
+

+ Bases: MulticlassHinge, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
class DP_MulticlassHinge(MulticlassHinge, DP_Loss):
+    def __init__(
+        self,
+        min_margin=1.0,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="MulticlassHinge",
+    ):
+        """
+        Loss to estimate the Hinge loss in a multiclass setup. It computes the
+        element-wise Hinge term. Note that this formulation differs from the one
+        commonly found in tensorflow/pytorch (which maximises the difference between
+        the two largest logits). This formulation is consistent with the binary
+        classification loss used in a multiclass fashion.
+
+        Note that `y_true` should be one-hot encoded or pre-processed with the
+        `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+        Args:
+            min_margin (float): margin to enforce.
+            reduction: passed to tf.keras.Loss constructor
+            name (str): passed to tf.keras.Loss constructor
+
+        """
+        super(DP_MulticlassHinge, self).__init__(
+            min_margin=min_margin, reduction=reduction, name=name
+        )
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        return 1.0
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(min_margin=1.0, reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='MulticlassHinge') + +

+ + +
+ +

Loss to estimate the Hinge loss in a multiclass setup. It computes the +element-wise Hinge term. Note that this formulation differs from the one +commonly found in tensorflow/pytorch (which maximises the difference between +the two largest logits). This formulation is consistent with the binary +classification loss used in a multiclass fashion.

+

Note that y_true should be one-hot encoded or pre-processed with the +deel.lip.utils.process_labels_for_multi_gpu() function.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
min_margin + float + +
+

margin to enforce.

+
+
+ 1.0 +
reduction + +
+

passed to tf.keras.Loss constructor

+
+
+ SUM_OVER_BATCH_SIZE +
name + str + +
+

passed to tf.keras.Loss constructor

+
+
+ 'MulticlassHinge' +
+ +
+ Source code in deel/lipdp/losses.py +
161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
def __init__(
+    self,
+    min_margin=1.0,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="MulticlassHinge",
+):
+    """
+    Loss to estimate the Hinge loss in a multiclass setup. It computes the
+    element-wise Hinge term. Note that this formulation differs from the one
+    commonly found in tensorflow/pytorch (which maximises the difference between
+    the two largest logits). This formulation is consistent with the binary
+    classification loss used in a multiclass fashion.
+
+    Note that `y_true` should be one-hot encoded or pre-processed with the
+    `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+    Args:
+        min_margin (float): margin to enforce.
+        reduction: passed to tf.keras.Loss constructor
+        name (str): passed to tf.keras.Loss constructor
+
+    """
+    super(DP_MulticlassHinge, self).__init__(
+        min_margin=min_margin, reduction=reduction, name=name
+    )
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
187
+188
+189
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    return 1.0
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_MulticlassKR + + +

+ + +
+

+ Bases: MulticlassKR, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
class DP_MulticlassKR(MulticlassKR, DP_Loss):
+    def __init__(
+        self,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="MulticlassKR",
+    ):
+        r"""
+        Loss to estimate average of Wasserstein-1 distance using Kantorovich-Rubinstein
+        duality over outputs. In this multiclass setup, the KR term is computed for each
+        class and then averaged.
+
+        Note that `y_true` should be one-hot encoded or pre-processed with the
+        `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+        Using a multi-GPU/TPU strategy requires to set `multi_gpu` to True and to
+        pre-process the labels `y_true` with the
+        `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+        Args:
+            multi_gpu (bool): set to True when running on multi-GPU/TPU
+            reduction: passed to tf.keras.Loss constructor
+            name (str): passed to tf.keras.Loss constructor
+
+        """
+        super(DP_MulticlassKR, self).__init__(reduction=reduction, name=name)
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        return 1.0
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='MulticlassKR') + +

+ + +
+ +

Loss to estimate average of Wasserstein-1 distance using Kantorovich-Rubinstein +duality over outputs. In this multiclass setup, the KR term is computed for each +class and then averaged.

+

Note that y_true should be one-hot encoded or pre-processed with the +deel.lip.utils.process_labels_for_multi_gpu() function.

+

Using a multi-GPU/TPU strategy requires to set multi_gpu to True and to +pre-process the labels y_true with the +deel.lip.utils.process_labels_for_multi_gpu() function.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
multi_gpu + bool + +
+

set to True when running on multi-GPU/TPU

+
+
+ required +
reduction + +
+

passed to tf.keras.Loss constructor

+
+
+ SUM_OVER_BATCH_SIZE +
name + str + +
+

passed to tf.keras.Loss constructor

+
+
+ 'MulticlassKR' +
+ +
+ Source code in deel/lipdp/losses.py +
193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
def __init__(
+    self,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="MulticlassKR",
+):
+    r"""
+    Loss to estimate average of Wasserstein-1 distance using Kantorovich-Rubinstein
+    duality over outputs. In this multiclass setup, the KR term is computed for each
+    class and then averaged.
+
+    Note that `y_true` should be one-hot encoded or pre-processed with the
+    `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+    Using a multi-GPU/TPU strategy requires to set `multi_gpu` to True and to
+    pre-process the labels `y_true` with the
+    `deel.lip.utils.process_labels_for_multi_gpu()` function.
+
+    Args:
+        multi_gpu (bool): set to True when running on multi-GPU/TPU
+        reduction: passed to tf.keras.Loss constructor
+        name (str): passed to tf.keras.Loss constructor
+
+    """
+    super(DP_MulticlassKR, self).__init__(reduction=reduction, name=name)
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
218
+219
+220
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    return 1.0
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_TauBCE + + +

+ + +
+

+ Bases: BinaryCrossentropy, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
class DP_TauBCE(tf.keras.losses.BinaryCrossentropy, DP_Loss):
+    def __init__(
+        self,
+        tau,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="TauBCE",
+    ):
+        """
+        Similar to original binary crossentropy, but with a settable temperature
+        parameter.
+
+        Args:
+            tau (float): temperature parameter.
+            reduction: reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.
+            name (str): name of the loss
+        """
+        super().__init__(from_logits=True, reduction=reduction, name=name)
+        self.tau = tau
+
+    def call(self, y_true, y_pred):
+        y_pred = y_pred * self.tau
+        return super().call(y_true, y_pred) / self.tau
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        # as the implementation divide the loss by self.tau (and as it is used with "from_logit=True")
+        return 1.0
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(tau, reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='TauBCE') + +

+ + +
+ +

Similar to original binary crossentropy, but with a settable temperature +parameter.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
tau + float + +
+

temperature parameter.

+
+
+ required +
reduction + +
+

reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.

+
+
+ SUM_OVER_BATCH_SIZE +
name + str + +
+

name of the loss

+
+
+ 'TauBCE' +
+ +
+ Source code in deel/lipdp/losses.py +
 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
def __init__(
+    self,
+    tau,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="TauBCE",
+):
+    """
+    Similar to original binary crossentropy, but with a settable temperature
+    parameter.
+
+    Args:
+        tau (float): temperature parameter.
+        reduction: reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.
+        name (str): name of the loss
+    """
+    super().__init__(from_logits=True, reduction=reduction, name=name)
+    self.tau = tau
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
114
+115
+116
+117
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    # as the implementation divide the loss by self.tau (and as it is used with "from_logit=True")
+    return 1.0
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_TauCategoricalCrossentropy + + +

+ + +
+

+ Bases: TauCategoricalCrossentropy, DP_Loss

+ + +
+ Source code in deel/lipdp/losses.py +
65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
class DP_TauCategoricalCrossentropy(TauCategoricalCrossentropy, DP_Loss):
+    def __init__(
+        self,
+        tau,
+        reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+        name="TauCategoricalCrossentropy",
+    ):
+        """
+        Similar to original categorical crossentropy, but with a settable temperature
+        parameter.
+
+        Args:
+            tau (float): temperature parameter.
+            reduction: reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.
+            name (str): name of the loss
+        """
+        super(DP_TauCategoricalCrossentropy, self).__init__(
+            tau=tau, reduction=reduction, name=name
+        )
+
+    def get_L(self):
+        """Lipschitz constant of the loss wrt the logits."""
+        # as the implementation divide the loss by self.tau (and as it is used with "from_logit=True")
+        return math.sqrt(2)
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(tau, reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE, name='TauCategoricalCrossentropy') + +

+ + +
+ +

Similar to original categorical crossentropy, but with a settable temperature +parameter.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
tau + float + +
+

temperature parameter.

+
+
+ required +
reduction + +
+

reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.

+
+
+ SUM_OVER_BATCH_SIZE +
name + str + +
+

name of the loss

+
+
+ 'TauCategoricalCrossentropy' +
+ +
+ Source code in deel/lipdp/losses.py +
66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
def __init__(
+    self,
+    tau,
+    reduction=tf.keras.losses.Reduction.SUM_OVER_BATCH_SIZE,
+    name="TauCategoricalCrossentropy",
+):
+    """
+    Similar to original categorical crossentropy, but with a settable temperature
+    parameter.
+
+    Args:
+        tau (float): temperature parameter.
+        reduction: reduction of the loss, must be SUM_OVER_BATCH_SIZE in order have a correct accounting.
+        name (str): name of the loss
+    """
+    super(DP_TauCategoricalCrossentropy, self).__init__(
+        tau=tau, reduction=reduction, name=name
+    )
+
+
+
+ +
+ + +
+ + + +

+ get_L() + +

+ + +
+ +

Lipschitz constant of the loss wrt the logits.

+ +
+ Source code in deel/lipdp/losses.py +
85
+86
+87
+88
def get_L(self):
+    """Lipschitz constant of the loss wrt the logits."""
+    # as the implementation divide the loss by self.tau (and as it is used with "from_logit=True")
+    return math.sqrt(2)
+
+
+
+ +
+ + + +
+ +
+ + +
+ + + + +
+ +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/model/index.html b/api/model/index.html new file mode 100644 index 0000000..da05c02 --- /dev/null +++ b/api/model/index.html @@ -0,0 +1,3616 @@ + + + + + + + + + + + + + + + + + + + + + + + deel.lipdp.model module - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

deel.lipdp.model module

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

+ DPParameters + + + + dataclass + + +

+ + +
+ + +

Parameters used to set the dp training.

+ + + +

Attributes:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
noisify_strategy + str + +
+

either "per-layer" or "global".

+
+
noise_multiplier + float + +
+

noise multiplier.

+
+
delta + float + +
+

delta parameter for DP.

+
+
+ +
+ Source code in deel/lipdp/model.py +
35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
@dataclass
+class DPParameters:
+    """Parameters used to set the dp training.
+
+    Attributes:
+        noisify_strategy (str): either "per-layer" or "global".
+        noise_multiplier (float): noise multiplier.
+        delta (float): delta parameter for DP.
+    """
+
+    noisify_strategy: str
+    noise_multiplier: float
+    delta: float
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_Accountant + + +

+ + +
+

+ Bases: Callback

+ + +

Callback to compute the DP guarantees at the end of each epoch.

+

Note: wandb is not a strict requirement for this callback to work, logging is also supported.

+ + + +

Attributes:

+ + + + + + + + + + + + + + + +
NameTypeDescription
log_fn + +
+

log function to use. Takes a dictionary of (key, value) pairs as input. + if 'wandb', use wandb.log. + if 'logging', use logging.info. + if 'all', use both wandb.log and logging.info.

+
+
+ +
+ Source code in deel/lipdp/model.py +
50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
class DP_Accountant(keras.callbacks.Callback):
+    """Callback to compute the DP guarantees at the end of each epoch.
+
+    Note: wandb is not a strict requirement for this callback to work, logging is also supported.
+
+    Attributes:
+        log_fn: log function to use. Takes a dictionary of (key, value) pairs as input.
+                if 'wandb', use wandb.log.
+                if 'logging', use logging.info.
+                if 'all', use both wandb.log and logging.info.
+    """
+
+    def __init__(self, log_fn="all"):
+        super().__init__()
+        if log_fn == "wandb":
+            import wandb
+
+            log_fn = wandb.log
+        elif log_fn == "logging":
+            import logging
+
+            log_fn = logging.info
+        elif log_fn == "all":
+            import wandb
+            import logging
+
+            log_fn = lambda x: [wandb.log(x), logging.info(x)]
+        self.log_fn = log_fn
+
+    def on_epoch_end(self, epoch, logs=None):
+        epsilon, delta = get_eps_delta(model=self.model, epochs=epoch + 1)
+        print(f"\n {(epsilon,delta)}-DP guarantees for epoch {epoch+1} \n")
+
+        # plot epoch at the same time as epsilon and delta to ease comparison of plots in wandb API.
+        to_log = {
+            "epsilon": epsilon,
+            "delta": delta,
+            "epoch": epoch + 1,
+        }
+
+        last_layer = self.model.layers_backward_order()[0]
+        if isinstance(last_layer, deel.lipdp.layers.DP_ClipGradient):
+            clipping_value = float(last_layer.clip_value.numpy())
+            to_log["clipping_value"] = clipping_value
+
+        self.log_fn(to_log)
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DP_Model + + +

+ + +
+

+ Bases: Model

+ + +
+ Source code in deel/lipdp/model.py +
370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
class DP_Model(deel.lip.model.Model):
+    def __init__(
+        self,
+        dp_layers,
+        *args,
+        dp_parameters: DPParameters,
+        dataset_metadata: DatasetMetadata,
+        debug: bool = False,
+        **kwargs,
+    ):
+        """Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since
+        the framework assume 1 lipschitz layers.
+
+        Args:
+            dp_layers: the list of layers to use ( as done in sequential ) but here we can leverage
+                the fact that layers may have multiple inputs/outputs.
+            dp_parameters (DPParameters): parameters used to set the dp procedure.
+            dataset_metadata (DatasetMetadata): information about the dataset. Must contain: the input shape, number
+                of training samples, the input bound, number of batches in the dataset and the batch size.
+            debug (bool, optional): when true print additionnal debug informations (must be in eager mode). Defaults to False.
+
+        Note:
+            The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step.
+            DP accounting is done with the associated Callback.
+
+        Raises:
+            TypeError: when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"
+        """
+        super().__init__(*args, **kwargs)
+        self.dp_layers = dp_layers
+        self.dp_parameters = dp_parameters
+        self.dataset_metadata = dataset_metadata
+        self.debug = debug
+        if self.dp_parameters.noisify_strategy == "global":
+            self.noisify_fun = global_noisify
+        elif self.dp_parameters.noisify_strategy == "per-layer":
+            self.noisify_fun = local_noisify
+        else:
+            raise TypeError(
+                "Incorrect noisify_strategy argument during model initialisation."
+            )
+
+    def layers_forward_order(self):
+        return self.dp_layers
+
+    def layers_backward_order(self):
+        return self.dp_layers[::-1]
+
+    def call(self, inputs, *args, **kwargs):
+        x = inputs
+        for layer in self.layers_forward_order():
+            x = layer(x, *args, **kwargs)
+        return x
+
+    def signal_to_noise_elementwise(self, data):
+        """Compute the signal to noise ratio of the model.
+
+        Args:
+            data: a tuple (x,y) of a batch of data.
+
+        Returns:
+            ratios: dictionary of signal to noise ratios. Keys are trainable variables names.
+            norms: dictionary of gradient norms. Keys are trainable variables names.
+            bounds: dictionary of gradient norm bounds. Keys are trainable variables names.
+        """
+        import tqdm
+
+        examples, labels = data
+
+        trainable_vars = self.trainable_variables
+        names = [v.name for v in trainable_vars]
+
+        bounds = compute_gradient_bounds(model=self)
+        batch_size = self.dataset_metadata.batch_size
+        bounds = {name: bound * batch_size for name, bound in bounds.items()}
+
+        norms = {name: [] for name in names}
+        ratios = {name: [] for name in names}
+        total = len(examples)
+        for x, y in tqdm.tqdm(zip(examples, labels), total=total):
+            with tf.GradientTape() as tape:
+                x = tf.expand_dims(x, axis=0)
+                y = tf.expand_dims(y, axis=0)
+                y_pred = self(x, training=True)
+                loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+            gradient_element = tape.gradient(loss, self.trainable_variables)
+            norms_element = [tf.linalg.norm(g, axis=None) for g in gradient_element]
+            norms_element = {name: norm for name, norm in zip(names, norms_element)}
+            for name in names:
+                norms[name].append(norms_element[name].numpy())
+
+            ratios_element = {}
+            for name in names:
+                ratios_element[name] = norms_element[name] / bounds[name]
+            for name in names:
+                ratios[name].append(ratios_element[name])
+
+        ratios = {name: np.stack(ratios[name]) for name in names}
+        norms = {name: np.stack(norms[name]) for name in names}
+
+        return ratios, norms, bounds
+
+    def signal_to_noise_average(self, data):
+        """Compute the signal to noise ratio of the model.
+
+        Args:
+            data: a tuple (x,y) of a batch of data. The batch size must be equal to the one of the dataset.
+
+        Returns:
+            ratios: dictionary of signal to noise ratios. Keys are trainable variables names.
+            norms: dictionary of gradient norms. Keys are trainable variables names.
+            bounds: dictionary of gradient norm bounds. Keys are trainable variables names.
+        """
+        x, y = data
+
+        assert (
+            x.shape[0] == self.dataset_metadata.batch_size
+        ), "Batch size must be equal to the one of the dataset"
+
+        with tf.GradientTape() as tape:
+            y_pred = self(x, training=True)  # Forward pass
+            # tf.cast(y_pred,dtype=y.dtype)
+            # Compute the loss value
+            # (the loss function is configured in `compile()`)
+            loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+        # Compute gradients
+        trainable_vars = self.trainable_variables
+        gradients = tape.gradient(loss, trainable_vars)
+
+        # gradient norms
+        norms = [tf.linalg.norm(g, axis=None) for g in gradients]
+        names = [v.name for v in trainable_vars]
+        norms = {name: norm for name, norm in zip(names, norms)}
+
+        # Get gradient bounds
+        bounds = compute_gradient_bounds(model=self)
+        batch_size = self.dataset_metadata.batch_size
+        bounds = {name: (bound * batch_size) for name, bound in bounds.items()}
+
+        ratios = {}
+        for name in names:
+            ratios[name] = norms[name] / bounds[name]
+        return ratios, norms, bounds
+
+    # Define the differentially private training step
+    def train_step(self, data):
+        """Train step of the model with DP guarantees.
+
+        Args:
+            data: a tuple (x,y) of a batch of data.
+
+        Returns:
+            metrics: dictionary of metrics.
+        """
+        # Unpack data
+        x, y = data
+
+        with tf.GradientTape() as tape:
+            y_pred = self(x, training=True)  # Forward pass
+            # tf.cast(y_pred,dtype=y.dtype)
+            # Compute the loss value
+            # (the loss function is configured in `compile()`)
+            loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+        # Compute gradients
+        trainable_vars = self.trainable_variables
+        gradients = tape.gradient(loss, trainable_vars)
+        # Get gradient bounds
+        gradient_bounds = compute_gradient_bounds(model=self)
+        noisy_gradients = self.noisify_fun(
+            self, gradient_bounds, trainable_vars, gradients
+        )
+        # Each optimizer is a postprocessing of private gradients
+        self.optimizer.apply_gradients(zip(noisy_gradients, trainable_vars))
+
+        # Update Metrics
+        self.compiled_metrics.update_state(y, y_pred)
+
+        # Condense to ensure Lipschitz constraints |W|_2 = 1
+        self.condense()
+        return {m.name: m.result() for m in self.metrics}
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(dp_layers, *args, dp_parameters, dataset_metadata, debug=False, **kwargs) + +

+ + +
+ +

Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since +the framework assume 1 lipschitz layers.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
dp_layers + +
+

the list of layers to use ( as done in sequential ) but here we can leverage +the fact that layers may have multiple inputs/outputs.

+
+
+ required +
dp_parameters + DPParameters + +
+

parameters used to set the dp procedure.

+
+
+ required +
dataset_metadata + DatasetMetadata + +
+

information about the dataset. Must contain: the input shape, number +of training samples, the input bound, number of batches in the dataset and the batch size.

+
+
+ required +
debug + bool + +
+

when true print additionnal debug informations (must be in eager mode). Defaults to False.

+
+
+ False +
+ +
+ Note +

The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step. +DP accounting is done with the associated Callback.

+
+ + +

Raises:

+ + + + + + + + + + + + + +
TypeDescription
+ TypeError + +
+

when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"

+
+
+ +
+ Source code in deel/lipdp/model.py +
371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
def __init__(
+    self,
+    dp_layers,
+    *args,
+    dp_parameters: DPParameters,
+    dataset_metadata: DatasetMetadata,
+    debug: bool = False,
+    **kwargs,
+):
+    """Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since
+    the framework assume 1 lipschitz layers.
+
+    Args:
+        dp_layers: the list of layers to use ( as done in sequential ) but here we can leverage
+            the fact that layers may have multiple inputs/outputs.
+        dp_parameters (DPParameters): parameters used to set the dp procedure.
+        dataset_metadata (DatasetMetadata): information about the dataset. Must contain: the input shape, number
+            of training samples, the input bound, number of batches in the dataset and the batch size.
+        debug (bool, optional): when true print additionnal debug informations (must be in eager mode). Defaults to False.
+
+    Note:
+        The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step.
+        DP accounting is done with the associated Callback.
+
+    Raises:
+        TypeError: when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"
+    """
+    super().__init__(*args, **kwargs)
+    self.dp_layers = dp_layers
+    self.dp_parameters = dp_parameters
+    self.dataset_metadata = dataset_metadata
+    self.debug = debug
+    if self.dp_parameters.noisify_strategy == "global":
+        self.noisify_fun = global_noisify
+    elif self.dp_parameters.noisify_strategy == "per-layer":
+        self.noisify_fun = local_noisify
+    else:
+        raise TypeError(
+            "Incorrect noisify_strategy argument during model initialisation."
+        )
+
+
+
+ +
+ + +
+ + + +

+ signal_to_noise_average(data) + +

+ + +
+ +

Compute the signal to noise ratio of the model.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
data + +
+

a tuple (x,y) of a batch of data. The batch size must be equal to the one of the dataset.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + + + + + + + + + +
Name TypeDescription
ratios + +
+

dictionary of signal to noise ratios. Keys are trainable variables names.

+
+
norms + +
+

dictionary of gradient norms. Keys are trainable variables names.

+
+
bounds + +
+

dictionary of gradient norm bounds. Keys are trainable variables names.

+
+
+ +
+ Source code in deel/lipdp/model.py +
473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
def signal_to_noise_average(self, data):
+    """Compute the signal to noise ratio of the model.
+
+    Args:
+        data: a tuple (x,y) of a batch of data. The batch size must be equal to the one of the dataset.
+
+    Returns:
+        ratios: dictionary of signal to noise ratios. Keys are trainable variables names.
+        norms: dictionary of gradient norms. Keys are trainable variables names.
+        bounds: dictionary of gradient norm bounds. Keys are trainable variables names.
+    """
+    x, y = data
+
+    assert (
+        x.shape[0] == self.dataset_metadata.batch_size
+    ), "Batch size must be equal to the one of the dataset"
+
+    with tf.GradientTape() as tape:
+        y_pred = self(x, training=True)  # Forward pass
+        # tf.cast(y_pred,dtype=y.dtype)
+        # Compute the loss value
+        # (the loss function is configured in `compile()`)
+        loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+    # Compute gradients
+    trainable_vars = self.trainable_variables
+    gradients = tape.gradient(loss, trainable_vars)
+
+    # gradient norms
+    norms = [tf.linalg.norm(g, axis=None) for g in gradients]
+    names = [v.name for v in trainable_vars]
+    norms = {name: norm for name, norm in zip(names, norms)}
+
+    # Get gradient bounds
+    bounds = compute_gradient_bounds(model=self)
+    batch_size = self.dataset_metadata.batch_size
+    bounds = {name: (bound * batch_size) for name, bound in bounds.items()}
+
+    ratios = {}
+    for name in names:
+        ratios[name] = norms[name] / bounds[name]
+    return ratios, norms, bounds
+
+
+
+ +
+ + +
+ + + +

+ signal_to_noise_elementwise(data) + +

+ + +
+ +

Compute the signal to noise ratio of the model.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
data + +
+

a tuple (x,y) of a batch of data.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + + + + + + + + + +
Name TypeDescription
ratios + +
+

dictionary of signal to noise ratios. Keys are trainable variables names.

+
+
norms + +
+

dictionary of gradient norms. Keys are trainable variables names.

+
+
bounds + +
+

dictionary of gradient norm bounds. Keys are trainable variables names.

+
+
+ +
+ Source code in deel/lipdp/model.py +
424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
def signal_to_noise_elementwise(self, data):
+    """Compute the signal to noise ratio of the model.
+
+    Args:
+        data: a tuple (x,y) of a batch of data.
+
+    Returns:
+        ratios: dictionary of signal to noise ratios. Keys are trainable variables names.
+        norms: dictionary of gradient norms. Keys are trainable variables names.
+        bounds: dictionary of gradient norm bounds. Keys are trainable variables names.
+    """
+    import tqdm
+
+    examples, labels = data
+
+    trainable_vars = self.trainable_variables
+    names = [v.name for v in trainable_vars]
+
+    bounds = compute_gradient_bounds(model=self)
+    batch_size = self.dataset_metadata.batch_size
+    bounds = {name: bound * batch_size for name, bound in bounds.items()}
+
+    norms = {name: [] for name in names}
+    ratios = {name: [] for name in names}
+    total = len(examples)
+    for x, y in tqdm.tqdm(zip(examples, labels), total=total):
+        with tf.GradientTape() as tape:
+            x = tf.expand_dims(x, axis=0)
+            y = tf.expand_dims(y, axis=0)
+            y_pred = self(x, training=True)
+            loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+        gradient_element = tape.gradient(loss, self.trainable_variables)
+        norms_element = [tf.linalg.norm(g, axis=None) for g in gradient_element]
+        norms_element = {name: norm for name, norm in zip(names, norms_element)}
+        for name in names:
+            norms[name].append(norms_element[name].numpy())
+
+        ratios_element = {}
+        for name in names:
+            ratios_element[name] = norms_element[name] / bounds[name]
+        for name in names:
+            ratios[name].append(ratios_element[name])
+
+    ratios = {name: np.stack(ratios[name]) for name in names}
+    norms = {name: np.stack(norms[name]) for name in names}
+
+    return ratios, norms, bounds
+
+
+
+ +
+ + +
+ + + +

+ train_step(data) + +

+ + +
+ +

Train step of the model with DP guarantees.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
data + +
+

a tuple (x,y) of a batch of data.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
Name TypeDescription
metrics + +
+

dictionary of metrics.

+
+
+ +
+ Source code in deel/lipdp/model.py +
517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
def train_step(self, data):
+    """Train step of the model with DP guarantees.
+
+    Args:
+        data: a tuple (x,y) of a batch of data.
+
+    Returns:
+        metrics: dictionary of metrics.
+    """
+    # Unpack data
+    x, y = data
+
+    with tf.GradientTape() as tape:
+        y_pred = self(x, training=True)  # Forward pass
+        # tf.cast(y_pred,dtype=y.dtype)
+        # Compute the loss value
+        # (the loss function is configured in `compile()`)
+        loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+    # Compute gradients
+    trainable_vars = self.trainable_variables
+    gradients = tape.gradient(loss, trainable_vars)
+    # Get gradient bounds
+    gradient_bounds = compute_gradient_bounds(model=self)
+    noisy_gradients = self.noisify_fun(
+        self, gradient_bounds, trainable_vars, gradients
+    )
+    # Each optimizer is a postprocessing of private gradients
+    self.optimizer.apply_gradients(zip(noisy_gradients, trainable_vars))
+
+    # Update Metrics
+    self.compiled_metrics.update_state(y, y_pred)
+
+    # Condense to ensure Lipschitz constraints |W|_2 = 1
+    self.condense()
+    return {m.name: m.result() for m in self.metrics}
+
+
+
+ +
+ + + +
+ +
+ + +
+ +
+ + + +

+ DP_Sequential + + +

+ + +
+

+ Bases: Sequential

+ + +
+ Source code in deel/lipdp/model.py +
296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
class DP_Sequential(deel.lip.model.Sequential):
+    def __init__(
+        self,
+        *args,
+        dp_parameters: DPParameters,
+        dataset_metadata: DatasetMetadata,
+        debug: bool = False,
+        **kwargs,
+    ):
+        """Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since
+        the framework assume 1 lipschitz layers.
+
+        Args:
+            dp_parameters (DPParameters): parameters used to set the dp procedure.
+            dataset_metadata (DatasetMetadata): information about the dataset. Must contain: the input shape, number
+                of training samples, the input bound, number of batches in the dataset and the batch size.
+            debug (bool, optional): when true print additionnal debug informations (must be in eager mode). Defaults to False.
+
+        Note:
+            The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step.
+            DP accounting is done with the associated Callback.
+
+        Raises:
+            TypeError: when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"
+        """
+        super().__init__(*args, **kwargs)
+        self.dp_parameters = dp_parameters
+        self.dataset_metadata = dataset_metadata
+        self.debug = debug
+        if self.dp_parameters.noisify_strategy == "global":
+            self.noisify_fun = global_noisify
+        elif self.dp_parameters.noisify_strategy == "per-layer":
+            self.noisify_fun = local_noisify
+        else:
+            raise TypeError(
+                "Incorrect noisify_strategy argument during model initialisation."
+            )
+
+    def layers_forward_order(self):
+        return self.layers
+
+    def layers_backward_order(self):
+        return self.layers[::-1]
+
+    # Define the differentially private training step
+    def train_step(self, data):
+        # Unpack data
+        x, y = data
+
+        with tf.GradientTape() as tape:
+            y_pred = self(x, training=True)  # Forward pass
+            # tf.cast(y_pred,dtype=y.dtype)
+            # Compute the loss value
+            # (the loss function is configured in `compile()`)
+            loss = self.compiled_loss(y, y_pred, regularization_losses=self.losses)
+
+        # Compute gradients
+        trainable_vars = self.trainable_variables
+        gradients = tape.gradient(loss, trainable_vars)
+        # Get gradient bounds
+        gradient_bounds = compute_gradient_bounds(model=self)
+        noisy_gradients = self.noisify_fun(
+            self, gradient_bounds, trainable_vars, gradients
+        )
+        # Each optimizer is a postprocessing of the already (epsilon,delta)-DP gradients
+        self.optimizer.apply_gradients(zip(noisy_gradients, trainable_vars))
+        # self.optimizer.apply_gradients(zip(gradients, trainable_vars))
+        # Update Metrics
+        self.compiled_metrics.update_state(y, y_pred)
+        # Condense to verify |W|_2 = 1
+        self.condense()
+        return {m.name: m.result() for m in self.metrics}
+
+
+ + + +
+ + + + + + + + + + +
+ + + +

+ __init__(*args, dp_parameters, dataset_metadata, debug=False, **kwargs) + +

+ + +
+ +

Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since +the framework assume 1 lipschitz layers.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
dp_parameters + DPParameters + +
+

parameters used to set the dp procedure.

+
+
+ required +
dataset_metadata + DatasetMetadata + +
+

information about the dataset. Must contain: the input shape, number +of training samples, the input bound, number of batches in the dataset and the batch size.

+
+
+ required +
debug + bool + +
+

when true print additionnal debug informations (must be in eager mode). Defaults to False.

+
+
+ False +
+ +
+ Note +

The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step. +DP accounting is done with the associated Callback.

+
+ + +

Raises:

+ + + + + + + + + + + + + +
TypeDescription
+ TypeError + +
+

when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"

+
+
+ +
+ Source code in deel/lipdp/model.py +
297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
def __init__(
+    self,
+    *args,
+    dp_parameters: DPParameters,
+    dataset_metadata: DatasetMetadata,
+    debug: bool = False,
+    **kwargs,
+):
+    """Model Class based on the DEEL Sequential model. Only layer from the lipdp.layers module are allowed since
+    the framework assume 1 lipschitz layers.
+
+    Args:
+        dp_parameters (DPParameters): parameters used to set the dp procedure.
+        dataset_metadata (DatasetMetadata): information about the dataset. Must contain: the input shape, number
+            of training samples, the input bound, number of batches in the dataset and the batch size.
+        debug (bool, optional): when true print additionnal debug informations (must be in eager mode). Defaults to False.
+
+    Note:
+        The model is then calibrated to verify (epsilon,delta)-DP guarantees by noisying the values of the gradients during the training step.
+        DP accounting is done with the associated Callback.
+
+    Raises:
+        TypeError: when the dp_parameters.noisify_strategy is not one of "per-layer" or "global"
+    """
+    super().__init__(*args, **kwargs)
+    self.dp_parameters = dp_parameters
+    self.dataset_metadata = dataset_metadata
+    self.debug = debug
+    if self.dp_parameters.noisify_strategy == "global":
+        self.noisify_fun = global_noisify
+    elif self.dp_parameters.noisify_strategy == "per-layer":
+        self.noisify_fun = local_noisify
+    else:
+        raise TypeError(
+            "Incorrect noisify_strategy argument during model initialisation."
+        )
+
+
+
+ +
+ + + +
+ +
+ + +
+ + + +
+ + + +

+ compute_gradient_bounds(model) + +

+ + +
+ +

Compute the gradient norm bounds of the model.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
model + +
+

model to train.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
Name TypeDescription
gradient_bounds + +
+

dictionary of gradient norm bounds with (key, value) pairs (layer_name, gradient_bound). + The order of the bounds is the same as + the order of the layers returned by model.layers_backward_order().

+
+
+ +
+ Source code in deel/lipdp/model.py +
167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
def compute_gradient_bounds(model):
+    """Compute the gradient norm bounds of the model.
+
+    Args:
+        model: model to train.
+
+    Returns:
+        gradient_bounds: dictionary of gradient norm bounds with (key, value) pairs (layer_name, gradient_bound).
+                         The order of the bounds is the same as
+                         the order of the layers returned by model.layers_backward_order().
+    """
+    # Initialisation, get lipschitz constant of loss
+    input_bounds = {}
+    gradient_bounds = {}
+    input_bound = None  # Unknown at the start.
+
+    # Forward pass to assess maximum activation norms
+    for layer in model.layers_forward_order():
+        assert isinstance(layer, DPLayer)
+        if model.debug:
+            print(f"Layer {layer.name} input bound: {input_bound}")
+        input_bounds[layer.name] = input_bound
+        input_bound = layer.propagate_inputs(input_bound)
+
+    if model.debug:
+        print(f"Layer {layer.name} input bound: {input_bound}")
+
+    # since we aggregate using SUM_OVER_BATCH
+    gradient_bound = tf.convert_to_tensor(model.loss.get_L()) / tf.convert_to_tensor(
+        model.dataset_metadata.batch_size, dtype=tf.float32
+    )
+
+    # Backward pass to compute gradient norm bounds and accumulate Lip constant
+    for layer in model.layers_backward_order():
+        assert isinstance(layer, DPLayer)
+        layer_input_bound = input_bounds[layer.name]
+        if layer.has_parameters():
+            assert len(layer.trainable_variables) == 1
+            var_name = layer.trainable_variables[0].name
+            gradient_bounds[var_name] = layer.backpropagate_params(
+                layer_input_bound, gradient_bound
+            )
+        gradient_bound = layer.backpropagate_inputs(layer_input_bound, gradient_bound)
+
+    # Return gradient bounds
+    return gradient_bounds
+
+
+
+ +
+ + +
+ + + +

+ get_eps_delta(model, epochs) + +

+ + +
+ +

Compute the (epsilon, delta)-DP guarantees of the model.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
model + +
+

model to train.

+
+
+ required +
epochs + +
+

number of epochs elapsed.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + + + + + +
Name TypeDescription
epsilon + +
+

epsilon parameter of the (epsilon, delta)-DP guarantee.

+
+
delta + +
+

delta parameter of the (epsilon, delta)-DP guarantee.

+
+
+ +
+ Source code in deel/lipdp/model.py +
 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
def get_eps_delta(model, epochs):
+    """Compute the (epsilon, delta)-DP guarantees of the model.
+
+    Args:
+        model: model to train.
+        epochs: number of epochs elapsed.
+
+    Returns:
+        epsilon: epsilon parameter of the (epsilon, delta)-DP guarantee.
+        delta: delta parameter of the (epsilon, delta)-DP guarantee.
+    """
+    num_grad_steps = epochs * model.dataset_metadata.nb_steps_per_epochs
+
+    prob = model.dataset_metadata.batch_size / model.dataset_metadata.nb_samples_train
+
+    # Dynamic clipping might be used.
+    last_layer = model.layers_backward_order()[0]
+    dynamic_clipping = {"mode": "fixed"}
+    if isinstance(last_layer, deel.lipdp.layers.DP_ClipGradient):
+        dynamic_clipping.update(last_layer._dynamic_dp_dict)  # copy dict
+        if "patience" in dynamic_clipping:
+            dynamic_clipping["num_updates"] = epochs // dynamic_clipping["patience"]
+
+    if model.dp_parameters.noisify_strategy == "per-layer":
+        nm_coefs = get_noise_multiplier_coefs(model)
+        noise_multipliers = [
+            model.dp_parameters.noise_multiplier * coef for coef in nm_coefs.values()
+        ]
+        mode = "per-layer"
+    elif model.dp_parameters.noisify_strategy == "global":
+        noise_multipliers = model.dp_parameters.noise_multiplier
+        mode = "global"
+
+    mech = DPGD_Mechanism(
+        mode=mode,
+        prob=prob,
+        noise_multipliers=noise_multipliers,
+        num_grad_steps=num_grad_steps,
+        delta=model.dp_parameters.delta,
+        dynamic_clipping=dynamic_clipping,
+    )
+
+    return mech.epsilon, mech.delta
+
+
+
+ +
+ + +
+ + + +

+ get_noise_multiplier_coefs(model) + +

+ + +
+ +

Get the noise multiplier coefficients of the model.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
model + +
+

model to train.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
Name TypeDescription
dict_coefs + +
+

dictionary of noise multiplier coefficients. + The order of the coefficients is the same as + the order of the layers returned by model.layers_forward_order().

+
+
+ +
+ Source code in deel/lipdp/model.py +
143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
def get_noise_multiplier_coefs(model):
+    """Get the noise multiplier coefficients of the model.
+
+    Args:
+        model: model to train.
+
+    Returns:
+        dict_coefs: dictionary of noise multiplier coefficients.
+                    The order of the coefficients is the same as
+                    the order of the layers returned by model.layers_forward_order().
+    """
+    dict_coefs = {}
+    for (
+        layer
+    ) in (
+        model.layers_forward_order()
+    ):  # remark: insertion order is preserved in Python 3.7+
+        assert isinstance(layer, DPLayer)
+        if layer.has_parameters():
+            assert len(layer.trainable_variables) == 1
+            dict_coefs[layer.trainable_variables[0].name] = layer.nm_coef
+    return dict_coefs
+
+
+
+ +
+ + +
+ + + +

+ global_noisify(model, gradient_bounds, trainable_vars, gradients) + +

+ + +
+ +

Add noise to gradients.

+ +
+ a single global noise is added to all gradients, based on the global sensitivity. +

This is the default behaviour of the original DPGD algorithm. +This may yield looser privacy bounds than local noisify.

+
+ + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
model + +
+

model to train.

+
+
+ required +
gradient_bounds + +
+

dictionary of gradient norm upper bounds. The keys are the names of the trainable variables.

+
+
+ required +
trainable_vars + +
+

list of trainable variables. The list is in the same order as gradients.

+
+
+ required +
gradients + +
+

list of gradients to add noise to. The list is in the same order as trainable_vars.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
Name TypeDescription
noisy_grads + +
+

list of noisy gradients. The list is in the same order as trainable_vars.

+
+
+ +
+ Source code in deel/lipdp/model.py +
258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
def global_noisify(model, gradient_bounds, trainable_vars, gradients):
+    """Add noise to gradients.
+
+    Remark: a single global noise is added to all gradients, based on the global sensitivity.
+            This is the default behaviour of the original DPGD algorithm.
+            This may yield looser privacy bounds than local noisify.
+
+    Args:
+        model: model to train.
+        gradient_bounds: dictionary of gradient norm upper bounds. The keys are the names of the trainable variables.
+        trainable_vars: list of trainable variables. The list is in the same order as gradients.
+        gradients: list of gradients to add noise to. The list is in the same order as trainable_vars.
+
+    Returns:
+        noisy_grads: list of noisy gradients. The list is in the same order as trainable_vars.
+    """
+    global_sensitivity = tf.math.sqrt(
+        tf.math.reduce_sum([bound**2 for bound in gradient_bounds.values()])
+    )
+    # no factor-2 : use add_remove definition of DP.
+    stddev = model.dp_parameters.noise_multiplier * global_sensitivity
+    noises = [tf.random.normal(shape=tf.shape(g), stddev=stddev) for g in gradients]
+    if model.debug:
+        for grad, var in zip(gradients, trainable_vars):
+            upperboundgrad = (
+                gradient_bounds[var.name] * model.dataset_metadata.batch_size
+            )
+            noise_msg = (
+                f"Adding noise of stddev : {stddev}"
+                f" to variable {var.name}"
+                f" of gradient norm upper bound {upperboundgrad}"
+                f" and effective norm {tf.norm(grad)}"
+            )
+            print(noise_msg)
+    noisy_grads = [g + n for g, n in zip(gradients, noises)]
+    return noisy_grads
+
+
+
+ +
+ + +
+ + + +

+ local_noisify(model, gradient_bounds, trainable_vars, gradients) + +

+ + +
+ +

Add noise to gradients of trainable variables.

+

Remark: this yields tighter bounds than global_noisify.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
model + +
+

model to train.

+
+
+ required +
gradient_bounds + +
+

dictionary of gradient norm upper bounds. Keys are trainable variables names.

+
+
+ required +
trainable_vars + +
+

list of trainable variables. Same order as gradients.

+
+
+ required +
gradients + +
+

list of gradients. Same order as trainable_vars.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

list of noisy gradients. Same order as trainable_vars.

+
+
+ +
+ Source code in deel/lipdp/model.py +
215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
def local_noisify(model, gradient_bounds, trainable_vars, gradients):
+    """Add noise to gradients of trainable variables.
+
+    Remark: this yields tighter bounds than global_noisify.
+
+    Args:
+        model: model to train.
+        gradient_bounds: dictionary of gradient norm upper bounds. Keys are trainable variables names.
+        trainable_vars: list of trainable variables. Same order as gradients.
+        gradients: list of gradients. Same order as trainable_vars.
+
+    Returns:
+        list of noisy gradients. Same order as trainable_vars.
+    """
+    nm_coefs = get_noise_multiplier_coefs(model)
+    noises = []
+    for grad, var in zip(gradients, trainable_vars):
+        if var.name in gradient_bounds.keys():
+            # no factor-2 : use add_remove definition of DP
+            stddev = (
+                model.dp_parameters.noise_multiplier
+                * gradient_bounds[var.name]
+                * nm_coefs[var.name]
+            )
+            noises.append(tf.random.normal(shape=tf.shape(grad), stddev=stddev))
+            if model.debug:
+                upperboundgrad = (
+                    gradient_bounds[var.name] * model.dataset_metadata.batch_size
+                )
+                noise_msg = (
+                    f"Adding noise of stddev : {stddev}"
+                    f" to variable {var.name}"
+                    f" of gradient norm upper bound {upperboundgrad}"
+                    f" and effective norm {tf.norm(grad)}"
+                )
+                print(noise_msg)
+        else:
+            raise ValueError(f"Variable {var.name} not in gradient bounds.")
+
+    noisy_grads = [g + n for g, n in zip(gradients, noises)]
+    return noisy_grads
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/pipeline/index.html b/api/pipeline/index.html new file mode 100644 index 0000000..3e0c657 --- /dev/null +++ b/api/pipeline/index.html @@ -0,0 +1,2524 @@ + + + + + + + + + + + + + + + + + + + + + + + deel.lipdp.pipeline module - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + + + + + +
+
+ + + + + + + +

deel.lipdp.pipeline module

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

+ AugmultConfig + + + + dataclass + + +

+ + +
+ + +

Preprocessing options for images at training time.

+

Copied from https://github.com/google-deepmind/jax_privacy that was released +under license Apache-2.0.

+ + + +

Attributes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
augmult + int + +
+

Number of augmentation multiplicities to use. augmult=0 +corresponds to no augmentation at all, augmult=1 to standard data +augmentation (one augmented view per mini-batch) and augmult>1 to +having several augmented view of each sample within the mini-batch.

+
+
random_crop + bool + +
+

Whether to use random crops for data augmentation.

+
+
random_flip + bool + +
+

Whether to use random horizontal flips for data augmentation.

+
+
random_color + bool + +
+

Whether to use random color jittering for data augmentation.

+
+
pad + Union[int, None] + +
+

Optional padding before the image is cropped for data augmentation.

+
+
+ +
+ Source code in deel/lipdp/pipeline.py +
 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
@dataclass
+class AugmultConfig:
+    """Preprocessing options for images at training time.
+
+    Copied from https://github.com/google-deepmind/jax_privacy that was released
+    under license Apache-2.0.
+
+    Attributes:
+      augmult: Number of augmentation multiplicities to use. `augmult=0`
+        corresponds to no augmentation at all, `augmult=1` to standard data
+        augmentation (one augmented view per mini-batch) and `augmult>1` to
+        having several augmented view of each sample within the mini-batch.
+      random_crop: Whether to use random crops for data augmentation.
+      random_flip: Whether to use random horizontal flips for data augmentation.
+      random_color: Whether to use random color jittering for data augmentation.
+      pad: Optional padding before the image is cropped for data augmentation.
+    """
+
+    augmult: int
+    random_crop: bool
+    random_flip: bool
+    random_color: bool
+    pad: Union[int, None] = 4
+
+    def apply(
+        self,
+        image: tf.Tensor,
+        label: tf.Tensor,
+        *,
+        crop_size: Sequence[int],
+    ) -> tuple[tf.Tensor, tf.Tensor]:
+        return apply_augmult(
+            image,
+            label,
+            augmult=self.augmult,
+            random_flip=self.random_flip,
+            random_crop=self.random_crop,
+            random_color=self.random_color,
+            pad=self.pad,
+            crop_size=crop_size,
+        )
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ +
+ + + +

+ DatasetMetadata + + + + dataclass + + +

+ + +
+ + +

class that handle dataset metadata that will be used +to compute privacy guarantees

+ +
+ Source code in deel/lipdp/pipeline.py +
35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
@dataclass
+class DatasetMetadata:
+    """
+    class that handle dataset metadata that will be used
+    to compute privacy guarantees
+    """
+
+    input_shape: Tuple[int, int, int]
+    nb_classes: int
+    nb_samples_train: int
+    nb_samples_test: int
+    class_names: List[str]
+    nb_steps_per_epochs: int
+    batch_size: int
+    max_norm: float
+
+
+ + + +
+ + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + +

+ apply_augmult(image, label, *, augmult, random_flip, random_crop, random_color, crop_size, pad) + +

+ + +
+ +

Augmult data augmentation (Hoffer et al., 2019; Fort et al., 2021).

+

Copied from https://github.com/google-deepmind/jax_privacy that was released +under license Apache-2.0.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
image + Tensor + +
+

(single) image to augment.

+
+
+ required +
label + Tensor + +
+

label corresponding to the image (not modified by this function).

+
+
+ required +
augmult + int + +
+

number of augmentation multiplicities to use. This number +should be non-negative (this function will fail if it is not).

+
+
+ required +
random_flip + bool + +
+

whether to use random horizontal flips for data augmentation.

+
+
+ required +
random_crop + bool + +
+

whether to use random crops for data augmentation.

+
+
+ required +
random_color + bool + +
+

whether to use random color jittering for data augmentation.

+
+
+ required +
crop_size + Sequence[int] + +
+

size of the crop for random crops.

+
+
+ required +
pad + Union[int, None] + +
+

optional padding before the image is cropped.

+
+
+ required +
+

Returns: + images: augmented images with a new prepended dimension of size augmult. + labels: repeated labels with a new prepended dimension of size augmult.

+ +
+ Source code in deel/lipdp/pipeline.py +
155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
def apply_augmult(
+    image: tf.Tensor,
+    label: tf.Tensor,
+    *,
+    augmult: int,
+    random_flip: bool,
+    random_crop: bool,
+    random_color: bool,
+    crop_size: Sequence[int],
+    pad: Union[int, None],
+) -> tuple[tf.Tensor, tf.Tensor]:
+    """Augmult data augmentation (Hoffer et al., 2019; Fort et al., 2021).
+
+    Copied from https://github.com/google-deepmind/jax_privacy that was released
+    under license Apache-2.0.
+
+    Args:
+      image: (single) image to augment.
+      label: label corresponding to the image (not modified by this function).
+      augmult: number of augmentation multiplicities to use. This number
+        should be non-negative (this function will fail if it is not).
+      random_flip: whether to use random horizontal flips for data augmentation.
+      random_crop: whether to use random crops for data augmentation.
+      random_color: whether to use random color jittering for data augmentation.
+      crop_size: size of the crop for random crops.
+      pad: optional padding before the image is cropped.
+    Returns:
+      images: augmented images with a new prepended dimension of size `augmult`.
+      labels: repeated labels with a new prepended dimension of size `augmult`.
+    """
+    if augmult == 0:
+        # No augmentations; return original images and labels with a new dimension.
+        images = tf.expand_dims(image, axis=0)
+        labels = tf.expand_dims(label, axis=0)
+    elif augmult > 0:
+        # Perform one or more augmentations.
+        raw_image = tf.identity(image)
+        augmented_images = []
+
+        for _ in range(augmult):
+            image_now = raw_image
+
+            if random_crop:
+                if pad:
+                    image_now = padding_input(image_now, pad=pad)
+                image_now = tf.image.random_crop(image_now, size=crop_size)
+            if random_flip:
+                image_now = tf.image.random_flip_left_right(image_now)
+            if random_color:
+                # values copied/adjusted from a color jittering tutorial
+                # https://www.wouterbulten.nl/blog/tech/data-augmentation-using-tensorflow-data-dataset/
+                image_now = tf.image.random_hue(image_now, 0.1)
+                image_now = tf.image.random_saturation(image_now, 0.6, 1.6)
+                image_now = tf.image.random_brightness(image_now, 0.15)
+                image_now = tf.image.random_contrast(image_now, 0.7, 1.3)
+
+            augmented_images.append(image_now)
+
+        images = tf.stack(augmented_images, axis=0)
+        labels = tf.stack([label] * augmult, axis=0)
+    else:
+        raise ValueError("Augmult should be non-negative.")
+
+    return images, labels
+
+
+
+ +
+ + +
+ + + +

+ default_delta_value(dataset_metadata) + +

+ + +
+ +

Default policy to set delta value.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
dataset_metadata + DatasetMetadata + +
+

metadata of the dataset.

+
+
+ required +
+ + + +

Returns:

+ + + + + + + + + + + + + +
Name TypeDescription
float + float + +
+

default delta value.

+
+
+ +
+ Source code in deel/lipdp/pipeline.py +
367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
def default_delta_value(dataset_metadata) -> float:
+    """Default policy to set delta value.
+
+    Args:
+        dataset_metadata (DatasetMetadata): metadata of the dataset.
+
+    Returns:
+        float: default delta value.
+    """
+    n = dataset_metadata.nb_samples_train
+    smallest_power10_bigger = 10 ** np.ceil(np.log10(n))
+    delta = float(1 / smallest_power10_bigger)
+    print(f"Default delta value: {delta}")
+    return delta
+
+
+
+ +
+ + +
+ + + +

+ load_adbench_data(dataset_name, dataset_dir, standardize=True, redownload=False) + +

+ + +
+ +

Load a dataset from the adbench package.

+ +
+ Source code in deel/lipdp/pipeline.py +
397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
def load_adbench_data(
+    dataset_name: str,
+    dataset_dir: str,
+    standardize: bool = True,
+    redownload: bool = False,
+):
+    """Load a dataset from the adbench package."""
+    if redownload:
+        download_adbench_datasets(dataset_dir)
+
+    data = np.load(
+        f"{dataset_dir}/datasets/Classical/{dataset_name}.npz", allow_pickle=True
+    )
+    x_data, y_data = data["X"], data["y"]
+
+    if standardize:
+        x_data = (x_data - x_data.mean()) / x_data.std()
+
+    return x_data, y_data
+
+
+
+ +
+ + +
+ + + +

+ load_and_prepare_images_data(dataset_name='mnist', batch_size=256, colorspace='RGB', bound_fct=None, drop_remainder=True, multiplicity=0) + +

+ + +
+ +

Load dataset_name image dataset using tensorflow datasets.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
dataset_name + str + +
+

name of the dataset to load.

+
+
+ 'mnist' +
batch_size + int + +
+

batch size

+
+
+ 256 +
colorspace + str + +
+

one of RGB, HSV, YIQ, YUV

+
+
+ 'RGB' +
drop_remainder + bool + +
+

when true drop the last batch if it +has less than batch_size elements. Defaults to True.

+
+
+ True +
multiplicity + int + +
+

multiplicity of data-augmentation. 0 means no +augmentation, 1 means standard augmentation, >1 means multiple.

+
+
+ 0 +
bound_fct + callable + +
+

function that is responsible of +bounding the inputs. Can be None, bound_normalize or bound_clip_value. +None means that no clipping is performed, and max theoretical value is +reported ( sqrt(whc) ). bound_normalize means that each input is +normalized setting the bound to 1. bound_clip_value will clip norm to +defined value.

+
+
+ None +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

ds_train, ds_test, metadata: two dataset, with data preparation, +augmentation, shuffling and batching. Also return an +DatasetMetadata object with infos about the dataset.

+
+
+ +
+ Source code in deel/lipdp/pipeline.py +
230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
def load_and_prepare_images_data(
+    dataset_name: str = "mnist",
+    batch_size: int = 256,
+    colorspace: str = "RGB",
+    bound_fct: bool = None,
+    drop_remainder: bool = True,
+    multiplicity: int = 0,
+):
+    """
+    Load dataset_name image dataset using tensorflow datasets.
+
+    Args:
+        dataset_name (str): name of the dataset to load.
+        batch_size (int): batch size
+        colorspace (str): one of RGB, HSV, YIQ, YUV
+        drop_remainder (bool, optional): when true drop the last batch if it
+            has less than batch_size elements. Defaults to True.
+        multiplicity (int): multiplicity of data-augmentation. 0 means no
+            augmentation, 1 means standard augmentation, >1 means multiple.
+        bound_fct (callable, optional): function that is responsible of
+            bounding the inputs. Can be None, bound_normalize or bound_clip_value.
+            None means that no clipping is performed, and max theoretical value is
+            reported ( sqrt(w*h*c) ). bound_normalize means that each input is
+            normalized setting the bound to 1. bound_clip_value will clip norm to
+            defined value.
+
+    Returns:
+        ds_train, ds_test, metadata: two dataset, with data preparation,
+            augmentation, shuffling and batching. Also return an
+            DatasetMetadata object with infos about the dataset.
+    """
+    # load data
+    (ds_train, ds_test), ds_info = tfds.load(
+        dataset_name,
+        split=["train", "test"],
+        shuffle_files=True,
+        as_supervised=True,
+        with_info=True,
+    )
+
+    # None bound yield default trivial bound
+    nb_classes = ds_info.features["label"].num_classes
+    input_shape = ds_info.features["image"].shape
+    if bound_fct is None:
+        # TODO: consider throwing an error here to avoid unexpected behavior.
+        print(
+            "No bound function provided, using default bound sqrt(w*h*c) for the input."
+        )
+        bound_fct = (
+            lambda x, y: (x, y),
+            float(input_shape[-3] * input_shape[-2] * input_shape[-1]),
+        )
+    bound_callable, bound_val = bound_fct
+
+    to_float = lambda x, y: (tf.cast(x, tf.float32) / 255.0, tf.one_hot(y, nb_classes))
+
+    if input_shape[-1] == 1:
+        assert (
+            colorspace == "grayscale"
+        ), "grayscale is the only valid colorspace for grayscale images"
+        colorspace = None
+    color_space_fun = get_colorspace_function(colorspace)
+
+    ############################
+    ####### Train pipeline #####
+    ############################
+
+    # train pipeline
+    ds_train = ds_train.map(  # map to 0,1 and one hot encode
+        to_float,
+        num_parallel_calls=tf.data.AUTOTUNE,
+    )
+    ds_train = ds_train.shuffle(  # shuffle
+        min(batch_size * 10, max(batch_size, ds_train.cardinality())),
+        reshuffle_each_iteration=True,
+    )
+
+    if multiplicity >= 1:
+        augmult_config = default_augmult_config(multiplicity)
+        crop_size = ds_info.features["image"].shape
+        ds_train = ds_train.map(
+            lambda x, y: augmult_config.apply(x, y, crop_size=crop_size)
+        )
+        ds_train = ds_train.unbatch()
+    else:
+        multiplicity = 1
+
+    ds_train = ds_train.map(  # map colorspace
+        color_space_fun,
+        num_parallel_calls=tf.data.AUTOTUNE,
+    )
+    ds_train = ds_train.map(
+        bound_callable, num_parallel_calls=tf.data.AUTOTUNE
+    )  # apply bound
+    ds_train = ds_train.batch(
+        batch_size * multiplicity, drop_remainder=drop_remainder
+    )  # batch
+    ds_train = ds_train.prefetch(tf.data.AUTOTUNE)
+
+    ############################
+    ####### Test pipeline ######
+    ############################
+
+    ds_test = (
+        ds_test.map(
+            to_float,
+            num_parallel_calls=tf.data.AUTOTUNE,
+        )
+        .map(
+            color_space_fun,
+            num_parallel_calls=tf.data.AUTOTUNE,
+        )
+        .map(bound_callable, num_parallel_calls=tf.data.AUTOTUNE)  # apply bound
+        .shuffle(
+            min(batch_size * 10, max(batch_size, ds_test.cardinality())),
+            reshuffle_each_iteration=True,
+        )
+        .batch(batch_size, drop_remainder=False)
+        .prefetch(tf.data.AUTOTUNE)
+    )
+    # get dataset metadata
+    metadata = DatasetMetadata(
+        input_shape=ds_info.features["image"].shape,
+        nb_classes=ds_info.features["label"].num_classes,
+        nb_samples_train=ds_info.splits["train"].num_examples,
+        nb_samples_test=ds_info.splits["test"].num_examples,
+        class_names=ds_info.features["label"].names,
+        nb_steps_per_epochs=ds_train.cardinality().numpy()
+        if ds_train.cardinality() > 0  # handle case cardinality return -1 (unknown)
+        else ds_info.splits["train"].num_examples / batch_size,
+        batch_size=batch_size,
+        max_norm=bound_val,
+    )
+
+    return ds_train, ds_test, metadata
+
+
+
+ +
+ + +
+ + + +

+ padding_input(x, pad) + +

+ + +
+ +

Pad input image through 'mirroring' on the four edges.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
x + Tensor + +
+

image to pad.

+
+
+ required +
pad + int + +
+

number of padding pixels.

+
+
+ required +
+

Returns: + Padded image.

+ +
+ Source code in deel/lipdp/pipeline.py +
141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
def padding_input(x: tf.Tensor, pad: int):
+    """Pad input image through 'mirroring' on the four edges.
+
+    Args:
+      x: image to pad.
+      pad: number of padding pixels.
+    Returns:
+      Padded image.
+    """
+    x = tf.concat([x[:pad, :, :][::-1], x, x[-pad:, :, :][::-1]], axis=0)
+    x = tf.concat([x[:, :pad, :][:, ::-1], x, x[:, -pad:, :][:, ::-1]], axis=1)
+    return x
+
+
+
+ +
+ + +
+ + + +

+ prepare_tabular_data(x_train, x_test, y_train, y_test, batch_size, bound_fct=None, drop_remainder=True) + +

+ + +
+ +

Convert Numpy dataset into tensorflow datasets.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
x_train + array + +
+

input data, of shape (N, F) with floats.

+
+
+ required +
x_test + array + +
+

input data, of shape (N, F) with floats.

+
+
+ required +
y_train + array + +
+

labels in one hot encoding, of shape (N, C) with floats.

+
+
+ required +
y_test + array + +
+

labels in one hot encoding, of shape (N, C) with floats.

+
+
+ required +
batch_size + int + +
+

logical batch size

+
+
+ required +
bound_fct + callable + +
+

function that is responsible of +bounding the inputs. Can be None, bound_normalize or bound_clip_value. +None means that no clipping is performed, and max theoretical value is +reported ( sqrt(whc) ). bound_normalize means that each input is +normalized setting the bound to 1. bound_clip_value will clip norm to +defined value.

+
+
+ None +
drop_remainder + bool + +
+

when true drop the last batch if it +has less than batch_size elements. Defaults to True.

+
+
+ True +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

ds_train, ds_test, metadata: two dataset, with data preparation, +augmentation, shuffling and batching. Also return an +DatasetMetadata object with infos about the dataset.

+
+
+ +
+ Source code in deel/lipdp/pipeline.py +
418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
def prepare_tabular_data(
+    x_train: np.array,
+    x_test: np.array,
+    y_train: np.array,
+    y_test: np.array,
+    batch_size: int,
+    bound_fct: Callable = None,
+    drop_remainder: bool = True,
+):
+    """Convert Numpy dataset into tensorflow datasets.
+
+    Args:
+        x_train (np.array): input data, of shape (N, F) with floats.
+        x_test (np.array): input data, of shape (N, F) with floats.
+        y_train (np.array): labels in one hot encoding, of shape (N, C) with floats.
+        y_test (np.array): labels in one hot encoding, of shape (N, C) with floats.
+        batch_size (int): logical batch size
+        bound_fct (callable, optional): function that is responsible of
+            bounding the inputs. Can be None, bound_normalize or bound_clip_value.
+            None means that no clipping is performed, and max theoretical value is
+            reported ( sqrt(w*h*c) ). bound_normalize means that each input is
+            normalized setting the bound to 1. bound_clip_value will clip norm to
+            defined value.
+        drop_remainder (bool, optional): when true drop the last batch if it
+            has less than batch_size elements. Defaults to True.
+
+
+    Returns:
+        ds_train, ds_test, metadata: two dataset, with data preparation,
+            augmentation, shuffling and batching. Also return an
+            DatasetMetadata object with infos about the dataset.
+    """
+    # None bound yield default trivial bound
+    nb_classes = np.unique(y_train).shape[0]
+    input_shape = x_train.shape[1:]
+    bound_callable, bound_val = bound_fct
+
+    ############################
+    ####### Train pipeline #####
+    ############################
+
+    to_float = lambda x, y: (tf.cast(x, tf.float32), tf.cast(y, tf.float32))
+
+    ds_train = tf.data.Dataset.from_tensor_slices((x_train, y_train))
+    ds_train = ds_train.map(to_float, num_parallel_calls=tf.data.AUTOTUNE)
+    ds_train = ds_train.shuffle(  # shuffle
+        min(batch_size * 10, max(batch_size, ds_train.cardinality())),
+        reshuffle_each_iteration=True,
+    )
+
+    ds_train = ds_train.map(
+        bound_callable, num_parallel_calls=tf.data.AUTOTUNE
+    )  # apply bound
+    ds_train = ds_train.batch(batch_size, drop_remainder=drop_remainder)  # batch
+    ds_train = ds_train.prefetch(tf.data.AUTOTUNE)
+
+    ############################
+    ####### Test pipeline ######
+    ############################
+
+    ds_test = tf.data.Dataset.from_tensor_slices((x_test, y_test))
+    ds_test = ds_test.map(to_float, num_parallel_calls=tf.data.AUTOTUNE)
+    ds_test = (
+        ds_test.map(bound_callable, num_parallel_calls=tf.data.AUTOTUNE)  # apply bound
+        .shuffle(
+            min(batch_size * 10, max(batch_size, ds_test.cardinality())),
+            reshuffle_each_iteration=True,
+        )
+        .batch(batch_size, drop_remainder=False)
+        .prefetch(tf.data.AUTOTUNE)
+    )
+    # get dataset metadata
+    metadata = DatasetMetadata(
+        input_shape=input_shape,
+        nb_classes=nb_classes,
+        nb_samples_train=x_train.shape[0],
+        nb_samples_test=x_test.shape[0],
+        class_names=[str(i) for i in range(nb_classes)],
+        nb_steps_per_epochs=ds_train.cardinality().numpy()
+        if ds_train.cardinality() > 0  # handle case cardinality return -1 (unknown)
+        else x_train.shape[0] / batch_size,
+        batch_size=batch_size,
+        max_norm=bound_val,
+    )
+
+    return ds_train, ds_test, metadata
+
+
+
+ +
+ + +
+ + + +

+ standardize_CIFAR(image) + +

+ + +
+ +

Standardize the image with the CIFAR10 mean and std dev.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
image + Tensor + +
+

image to standardize of shape (H,W,C) of type tf.float32.

+
+
+ required +
+ +
+ Source code in deel/lipdp/pipeline.py +
52
+53
+54
+55
+56
+57
+58
+59
+60
def standardize_CIFAR(image: tf.Tensor):
+    """Standardize the image with the CIFAR10 mean and std dev.
+
+    Args:
+        image (tf.Tensor): image to standardize of shape (H,W,C) of type tf.float32.
+    """
+    CIFAR10_MEAN = tf.constant([[[0.4914, 0.4822, 0.4465]]], dtype=tf.float32)
+    CIFAR10_STD_DEV = tf.constant([[[0.2023, 0.1994, 0.2010]]], dtype=tf.float32)
+    return (image - CIFAR10_MEAN) / CIFAR10_STD_DEV
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/sensitivity/index.html b/api/sensitivity/index.html new file mode 100644 index 0000000..1c1b808 --- /dev/null +++ b/api/sensitivity/index.html @@ -0,0 +1,1103 @@ + + + + + + + + + + + + + + + + + + + + + + + deel.lipdp.sensitivity module - lipdp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + +

deel.lipdp.sensitivity module

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

+ get_max_epochs(epsilon_max, model, epochs_max=1024, safe=True, atol=0.01) + +

+ + +
+ +

Return the maximum number of epochs to reach a given epsilon_max value.

+

The computation of (epsilon, delta) is slow since it involves solving a minimization problem +(mandatory to go from RDP accountant to DP results). Hence each call takes typically around 1s. +This function is used to avoid calling get_eps_delta too many times be leveraging the fact that +epsilon is a non-decreasing function of the number of epochs: we unlocks the dichotomy search.

+

Hence the number of calls is typically log2(epochs_max) + 1. +The maximum of epochs is set to 1024 by default to avoid too long computation times, even in high +privacy regimes.

+ + + +

Parameters:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault
epsilon_max + +
+

The maximum value of epsilon we want to reach.

+
+
+ required +
model + +
+

The model used to compute the values of epsilon.

+
+
+ required +
epochs_max + +
+

The maximum number of epochs to reach epsilon_max. Defaults to 1024. + If None, the dichotomy search is used to find the upper bound.

+
+
+ 1024 +
safe + +
+

If True, the dichotomy search returns the largest number of epochs such that epsilon <= epsilon_max. + Otherwise, it returns the smallest number of epochs such that epsilon >= epsilon_max.

+
+
+ True +
atol + +
+

The absolute tolerance to panic on numerical inaccuracy. Defaults to 1e-2.

+
+
+ 0.01 +
+ + + +

Returns:

+ + + + + + + + + + + + + +
TypeDescription
+ +
+

The maximum number of epochs to reach epsilon_max. It may be zero if epsilon_max is too small.

+
+
+ +
+ Source code in deel/lipdp/sensitivity.py +
31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
def get_max_epochs(epsilon_max, model, epochs_max=1024, safe=True, atol=1e-2):
+    """Return the maximum number of epochs to reach a given epsilon_max value.
+
+    The computation of (epsilon, delta) is slow since it involves solving a minimization problem
+    (mandatory to go from RDP accountant to DP results). Hence each call takes typically around 1s.
+    This function is used to avoid calling get_eps_delta too many times be leveraging the fact that
+    epsilon is a non-decreasing function of the number of epochs: we unlocks the dichotomy search.
+
+    Hence the number of calls is typically log2(epochs_max) + 1.
+    The maximum of epochs is set to 1024 by default to avoid too long computation times, even in high
+    privacy regimes.
+
+    Args:
+        epsilon_max: The maximum value of epsilon we want to reach.
+        model: The model used to compute the values of epsilon.
+        epochs_max: The maximum number of epochs to reach epsilon_max. Defaults to 1024.
+                    If None, the dichotomy search is used to find the upper bound.
+        safe: If True, the dichotomy search returns the largest number of epochs such that epsilon <= epsilon_max.
+              Otherwise, it returns the smallest number of epochs such that epsilon >= epsilon_max.
+        atol: The absolute tolerance to panic on numerical inaccuracy. Defaults to 1e-2.
+
+    Returns:
+        The maximum number of epochs to reach epsilon_max. It may be zero if epsilon_max is too small.
+    """
+    steps_per_epoch = model.dataset_metadata.nb_steps_per_epochs
+
+    def fun(epoch):
+        if epoch == 0:
+            epsilon = 0
+        else:
+            epsilon, _ = get_eps_delta(model, epoch)
+        return epsilon
+
+    # dichotomy search on the number of epochs.
+    if epochs_max is None:
+        epochs_max = 512
+        epsilon = 0
+        while epsilon < epsilon_max:
+            epochs_max *= 2
+            epsilon = fun(epochs_max)
+            print(f"epochs_max = {epochs_max} at epsilon = {epsilon}")
+
+    epochs_min = 0
+
+    while epochs_max - epochs_min > 1:
+        epoch = (epochs_max + epochs_min) // 2
+        epsilon = fun(epoch)
+        if epsilon < epsilon_max:
+            epochs_min = epoch
+        else:
+            epochs_max = epoch
+        print(
+            f"epoch bounds = {epochs_min, epochs_max} and epsilon = {epsilon} at epoch {epoch}"
+        )
+
+    if safe:
+        last_epsilon = fun(epochs_min)
+        error = last_epsilon - epsilon_max
+        if error <= 0:
+            return epochs_min
+        elif error < atol:
+            # This branch should never be taken if fun is a non-decreasing function of the number of epochs.
+            # fun is mathematcally non-decreasing, but numerical inaccuracy can lead to this case.
+            print(f"Numerical inaccuracy with error {error:.7f} in the dichotomy search: using a conservative value.")
+            return epochs_min - 1
+        else:
+            assert False, f"Numerical inaccuracy with error {error:.7f}>{atol:.3f} in the dichotomy search."
+
+    return epochs_max
+
+
+
+ +
+ + +
+ + + +

+ gradient_norm_check(upper_bounds, model, examples) + +

+ + +
+ +

Verifies that the values of per-sample gradients on a layer never exceede a value +determined by the theoretical work.

+ +
+ Args +

upper_bounds: maximum gradient bounds for each layer (dictionnary of 'layers name ': 'bounds' pairs). +model: The model containing the layers we are interested in. Layers must only have one trainable variable. +examples: a batch of examples to test on.

+

Returns : + Boolean value. True corresponds to upper bound has been validated.

+ +
+ Source code in deel/lipdp/sensitivity.py +
102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
def gradient_norm_check(upper_bounds, model, examples):
+    """Verifies that the values of per-sample gradients on a layer never exceede a value
+    determined by the theoretical work.
+
+    Args :
+        upper_bounds: maximum gradient bounds for each layer (dictionnary of 'layers name ': 'bounds' pairs).
+        model: The model containing the layers we are interested in. Layers must only have one trainable variable.
+        examples: a batch of examples to test on.  
+    Returns :
+        Boolean value. True corresponds to upper bound has been validated.
+    """
+    activations = examples
+    var_seen = set()
+    for layer in model.layers:
+        post_activations = layer(activations, training=True)
+        assert len(layer.trainable_variables) < 2
+        if len(layer.trainable_variables) == 1:
+            assert len(layer.trainable_variables) == 1
+            train_var = layer.trainable_variables[0]
+            var_name = layer.trainable_variables[0].name
+            var_seen.add(var_name)
+            bound = upper_bounds[var_name]
+            check_layer_gradient_norm(bound, layer, activations)
+        activations = post_activations
+    for var_name in upper_bounds:
+        assert var_name in var_seen
+
+
+
+ +
+ + + +
+ +
+ +
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/_mkdocstrings.css b/assets/_mkdocstrings.css new file mode 100644 index 0000000..4b7d98b --- /dev/null +++ b/assets/_mkdocstrings.css @@ -0,0 +1,109 @@ + +/* Avoid breaking parameter names, etc. in table cells. */ +.doc-contents td code { + word-break: normal !important; +} + +/* No line break before first paragraph of descriptions. */ +.doc-md-description, +.doc-md-description>p:first-child { + display: inline; +} + +/* Max width for docstring sections tables. */ +.doc .md-typeset__table, +.doc .md-typeset__table table { + display: table !important; + width: 100%; +} + +.doc .md-typeset__table tr { + display: table-row; +} + +/* Defaults in Spacy table style. */ +.doc-param-default { + float: right; +} + +/* Symbols in Navigation and ToC. */ +:root, +[data-md-color-scheme="default"] { + --doc-symbol-attribute-fg-color: #953800; + --doc-symbol-function-fg-color: #8250df; + --doc-symbol-method-fg-color: #8250df; + --doc-symbol-class-fg-color: #0550ae; + --doc-symbol-module-fg-color: #5cad0f; + + --doc-symbol-attribute-bg-color: #9538001a; + --doc-symbol-function-bg-color: #8250df1a; + --doc-symbol-method-bg-color: #8250df1a; + --doc-symbol-class-bg-color: #0550ae1a; + --doc-symbol-module-bg-color: #5cad0f1a; +} + +[data-md-color-scheme="slate"] { + --doc-symbol-attribute-fg-color: #ffa657; + --doc-symbol-function-fg-color: #d2a8ff; + --doc-symbol-method-fg-color: #d2a8ff; + --doc-symbol-class-fg-color: #79c0ff; + --doc-symbol-module-fg-color: #baff79; + + --doc-symbol-attribute-bg-color: #ffa6571a; + --doc-symbol-function-bg-color: #d2a8ff1a; + --doc-symbol-method-bg-color: #d2a8ff1a; + --doc-symbol-class-bg-color: #79c0ff1a; + --doc-symbol-module-bg-color: #baff791a; +} + +code.doc-symbol { + border-radius: .1rem; + font-size: .85em; + padding: 0 .3em; + font-weight: bold; +} + +code.doc-symbol-attribute { + color: var(--doc-symbol-attribute-fg-color); + background-color: var(--doc-symbol-attribute-bg-color); +} + +code.doc-symbol-attribute::after { + content: "attr"; +} + +code.doc-symbol-function { + color: var(--doc-symbol-function-fg-color); + background-color: var(--doc-symbol-function-bg-color); +} + +code.doc-symbol-function::after { + content: "func"; +} + +code.doc-symbol-method { + color: var(--doc-symbol-method-fg-color); + background-color: var(--doc-symbol-method-bg-color); +} + +code.doc-symbol-method::after { + content: "meth"; +} + +code.doc-symbol-class { + color: var(--doc-symbol-class-fg-color); + background-color: var(--doc-symbol-class-bg-color); +} + +code.doc-symbol-class::after { + content: "class"; +} + +code.doc-symbol-module { + color: var(--doc-symbol-module-fg-color); + background-color: var(--doc-symbol-module-bg-color); +} + +code.doc-symbol-module::after { + content: "mod"; +} \ No newline at end of file diff --git a/assets/all_speed_curves.png b/assets/all_speed_curves.png new file mode 100644 index 0000000000000000000000000000000000000000..0652bd8ccbbe32f279be9542c5b96dc6a94e9d9e GIT binary patch literal 255658 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 z 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 bpta2}%=hdFWNgYOdw>3n{OP1qm;d}9=^T_{ literal 0 HcmV?d00001 diff --git a/assets/backprop_v2.png b/assets/backprop_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..f281267877f9a6e7a3abed89983fbeb1180e888a GIT binary patch literal 407738 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

h$Z40S2J^RnxU@~+!L29N}j-5$>+^4rLiwO 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

vGBB6^_vpM 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

DI|)1&OMmAIRDk+H2CNYUz# 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%0Dvg=aVXyS78rm?QmGOC-sq&ZnX<(Aoz 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�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

fdHr%lfL#Qa@FS0BFgm>k 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

uwA|jSp@& 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 Wp_%JY;oC6iUok;h7*y)H-1!dzzb5qn literal 0 HcmV?d00001 diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf13b9f9d978896599290a74f77d5dbe7d1655c GIT binary patch literal 1870 zcmV-U2eJ5xP)Gc)JR9QMau)O=X#!i9;T z37kk-upj^(fsR36MHs_+1RCI)NNu9}lD0S{B^g8PN?Ww(5|~L#Ng*g{WsqleV}|#l zz8@ri&cTzw_h33bHI+12+kK6WN$h#n5cD8OQt`5kw6p~9H3()bUQ8OS4Q4HTQ=1Ol z_JAocz`fLbT2^{`8n~UAo=#AUOf=SOq4pYkt;XbC&f#7lb$*7=$na!mWCQ`dBQsO0 zLFBSPj*N?#u5&pf2t4XjEGH|=pPQ8xh7tpx;US5Cx_Ju;!O`ya-yF`)b%TEt5>eP1ZX~}sjjA%FJF?h7cX8=b!DZl<6%Cv z*G0uvvU+vmnpLZ2paivG-(cd*y3$hCIcsZcYOGh{$&)A6*XX&kXZd3G8m)G$Zz-LV z^GF3VAW^Mdv!)4OM8EgqRiz~*Cji;uzl2uC9^=8I84vNp;ltJ|q-*uQwGp2ma6cY7 z;`%`!9UXO@fr&Ebapfs34OmS9^u6$)bJxrucutf>`dKPKT%%*d3XlFVKunp9 zasduxjrjs>f8V=D|J=XNZp;_Zy^WgQ$9WDjgY=z@stwiEBm9u5*|34&1Na8BMjjgf3+SHcr`5~>oz1Y?SW^=K z^bTyO6>Gar#P_W2gEMwq)ot3; zREHn~U&Dp0l6YT0&k-wLwYjb?5zGK`W6S2v+K>AM(95m2C20L|3m~rN8dprPr@t)5lsk9Hu*W z?pS990s;Ez=+Rj{x7p``4>+c0G5^pYnB1^!TL=(?HLHZ+HicG{~4F1d^5Awl_2!1jICM-!9eoLhbbT^;yHcefyTAaqRcY zmuctDopPT!%k+}x%lZRKnzykr2}}XfG_ne?nRQO~?%hkzo;@RN{P6o`&mMUWBYMTe z6i8ChtjX&gXl`nvrU>jah)2iNM%JdjqoaeaU%yVn!^70x-flljp6Q5tK}5}&X8&&G zX3fpb3E(!rH=zVI_9Gjl45w@{(ITqngWFe7@9{mX;tO25Z_8 zQHEpI+FkTU#4xu>RkN>b3Tnc3UpWzPXWm#o55GKF09j^Mh~)K7{QqbO_~(@CVq! zS<8954|P8mXN2MRs86xZ&Q4EfM@JB94b=(YGuk)s&^jiSF=t3*oNK3`rD{H`yQ?d; ztE=laAUoZx5?RC8*WKOj`%LXEkgDd>&^Q4M^z`%u0rg-It=hLCVsq!Z%^6eB-OvOT zFZ28TN&cRmgU}Elrnk43)!>Z1FCPL2K$7}gwzIc48NX}#!A1BpJP?#v5wkNprhV** z?Cpalt1oH&{r!o3eSKc&ap)iz2BTn_VV`4>9M^b3;(YY}4>#ML6{~(4mH+?%07*qo IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 diff --git a/assets/javascripts/bundle.c8d2eff1.min.js b/assets/javascripts/bundle.c8d2eff1.min.js new file mode 100644 index 0000000..4b1b31f --- /dev/null +++ b/assets/javascripts/bundle.c8d2eff1.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var _i=Object.create;var br=Object.defineProperty;var Ai=Object.getOwnPropertyDescriptor;var Ci=Object.getOwnPropertyNames,Ft=Object.getOwnPropertySymbols,ki=Object.getPrototypeOf,vr=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable;var Zr=(e,t,r)=>t in e?br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,F=(e,t)=>{for(var r in t||(t={}))vr.call(t,r)&&Zr(e,r,t[r]);if(Ft)for(var r of Ft(t))eo.call(t,r)&&Zr(e,r,t[r]);return e};var to=(e,t)=>{var r={};for(var o in e)vr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Ft)for(var o of Ft(e))t.indexOf(o)<0&&eo.call(e,o)&&(r[o]=e[o]);return r};var gr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Hi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ci(t))!vr.call(e,n)&&n!==r&&br(e,n,{get:()=>t[n],enumerable:!(o=Ai(t,n))||o.enumerable});return e};var jt=(e,t,r)=>(r=e!=null?_i(ki(e)):{},Hi(t||!e||!e.__esModule?br(r,"default",{value:e,enumerable:!0}):r,e));var ro=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{a(r.next(c))}catch(p){n(p)}},s=c=>{try{a(r.throw(c))}catch(p){n(p)}},a=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);a((r=r.apply(e,t)).next())});var no=gr((xr,oo)=>{(function(e,t){typeof xr=="object"&&typeof oo!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(xr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(C){return!!(C&&C!==document&&C.nodeName!=="HTML"&&C.nodeName!=="BODY"&&"classList"in C&&"contains"in C.classList)}function c(C){var ct=C.type,Ne=C.tagName;return!!(Ne==="INPUT"&&s[ct]&&!C.readOnly||Ne==="TEXTAREA"&&!C.readOnly||C.isContentEditable)}function p(C){C.classList.contains("focus-visible")||(C.classList.add("focus-visible"),C.setAttribute("data-focus-visible-added",""))}function l(C){C.hasAttribute("data-focus-visible-added")&&(C.classList.remove("focus-visible"),C.removeAttribute("data-focus-visible-added"))}function f(C){C.metaKey||C.altKey||C.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(C){o=!1}function h(C){a(C.target)&&(o||c(C.target))&&p(C.target)}function w(C){a(C.target)&&(C.target.classList.contains("focus-visible")||C.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(C.target))}function A(C){document.visibilityState==="hidden"&&(n&&(o=!0),Z())}function Z(){document.addEventListener("mousemove",J),document.addEventListener("mousedown",J),document.addEventListener("mouseup",J),document.addEventListener("pointermove",J),document.addEventListener("pointerdown",J),document.addEventListener("pointerup",J),document.addEventListener("touchmove",J),document.addEventListener("touchstart",J),document.addEventListener("touchend",J)}function te(){document.removeEventListener("mousemove",J),document.removeEventListener("mousedown",J),document.removeEventListener("mouseup",J),document.removeEventListener("pointermove",J),document.removeEventListener("pointerdown",J),document.removeEventListener("pointerup",J),document.removeEventListener("touchmove",J),document.removeEventListener("touchstart",J),document.removeEventListener("touchend",J)}function J(C){C.target.nodeName&&C.target.nodeName.toLowerCase()==="html"||(o=!1,te())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",A,!0),Z(),r.addEventListener("focus",h,!0),r.addEventListener("blur",w,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var zr=gr((kt,Vr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof kt=="object"&&typeof Vr=="object"?Vr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof kt=="object"?kt.ClipboardJS=r():t.ClipboardJS=r()})(kt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Li}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(D){try{return document.execCommand(D)}catch(M){return!1}}var h=function(M){var O=f()(M);return u("cut"),O},w=h;function A(D){var M=document.documentElement.getAttribute("dir")==="rtl",O=document.createElement("textarea");O.style.fontSize="12pt",O.style.border="0",O.style.padding="0",O.style.margin="0",O.style.position="absolute",O.style[M?"right":"left"]="-9999px";var I=window.pageYOffset||document.documentElement.scrollTop;return O.style.top="".concat(I,"px"),O.setAttribute("readonly",""),O.value=D,O}var Z=function(M,O){var I=A(M);O.container.appendChild(I);var W=f()(I);return u("copy"),I.remove(),W},te=function(M){var O=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},I="";return typeof M=="string"?I=Z(M,O):M instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(M==null?void 0:M.type)?I=Z(M.value,O):(I=f()(M),u("copy")),I},J=te;function C(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(O){return typeof O}:C=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},C(D)}var ct=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=M.action,I=O===void 0?"copy":O,W=M.container,K=M.target,Ce=M.text;if(I!=="copy"&&I!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(K!==void 0)if(K&&C(K)==="object"&&K.nodeType===1){if(I==="copy"&&K.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(I==="cut"&&(K.hasAttribute("readonly")||K.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ce)return J(Ce,{container:W});if(K)return I==="cut"?w(K):J(K,{container:W})},Ne=ct;function Pe(D){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pe=function(O){return typeof O}:Pe=function(O){return O&&typeof Symbol=="function"&&O.constructor===Symbol&&O!==Symbol.prototype?"symbol":typeof O},Pe(D)}function xi(D,M){if(!(D instanceof M))throw new TypeError("Cannot call a class as a function")}function Xr(D,M){for(var O=0;O0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof W.action=="function"?W.action:this.defaultAction,this.target=typeof W.target=="function"?W.target:this.defaultTarget,this.text=typeof W.text=="function"?W.text:this.defaultText,this.container=Pe(W.container)==="object"?W.container:document.body}},{key:"listenClick",value:function(W){var K=this;this.listener=p()(W,"click",function(Ce){return K.onClick(Ce)})}},{key:"onClick",value:function(W){var K=W.delegateTarget||W.currentTarget,Ce=this.action(K)||"copy",It=Ne({action:Ce,container:this.container,target:this.target(K),text:this.text(K)});this.emit(It?"success":"error",{action:Ce,text:It,trigger:K,clearSelection:function(){K&&K.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(W){return hr("action",W)}},{key:"defaultTarget",value:function(W){var K=hr("target",W);if(K)return document.querySelector(K)}},{key:"defaultText",value:function(W){return hr("text",W)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(W){var K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(W,K)}},{key:"cut",value:function(W){return w(W)}},{key:"isSupported",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],K=typeof W=="string"?[W]:W,Ce=!!document.queryCommandSupported;return K.forEach(function(It){Ce=Ce&&!!document.queryCommandSupported(It)}),Ce}}]),O}(a()),Li=Mi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,h,w){var A=p.apply(this,arguments);return l.addEventListener(u,A,w),{destroy:function(){l.removeEventListener(u,A,w)}}}function c(l,f,u,h,w){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(A){return a(A,f,u,h,w)}))}function p(l,f,u,h){return function(w){w.delegateTarget=s(w.target,f),w.delegateTarget&&h.call(l,w)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,h,w){if(!u&&!h&&!w)throw new Error("Missing required arguments");if(!s.string(h))throw new TypeError("Second argument must be a String");if(!s.fn(w))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,h,w);if(s.nodeList(u))return l(u,h,w);if(s.string(u))return f(u,h,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,h,w){return u.addEventListener(h,w),{destroy:function(){u.removeEventListener(h,w)}}}function l(u,h,w){return Array.prototype.forEach.call(u,function(A){A.addEventListener(h,w)}),{destroy:function(){Array.prototype.forEach.call(u,function(A){A.removeEventListener(h,w)})}}}function f(u,h,w){return a(document.body,u,h,w)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var Va=/["'&<>]/;qn.exports=za;function za(e){var t=""+e,r=Va.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function V(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function z(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||a(u,h)})})}function a(u,h){try{c(o[u](h))}catch(w){f(i[0][3],w)}}function c(u){u.value instanceof ot?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,h){u(h),i.shift(),i.length&&a(i[0][0],i[0][1])}}function so(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof ue=="function"?ue(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function k(e){return typeof e=="function"}function pt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Wt=pt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Ve(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Ie=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=ue(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(A){t={error:A}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(A){i=A instanceof Wt?A.errors:[A]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=ue(f),h=u.next();!h.done;h=u.next()){var w=h.value;try{co(w)}catch(A){i=i!=null?i:[],A instanceof Wt?i=z(z([],V(i)),V(A.errors)):i.push(A)}}}catch(A){o={error:A}}finally{try{h&&!h.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Wt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)co(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ve(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ve(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Er=Ie.EMPTY;function Dt(e){return e instanceof Ie||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function co(e){k(e)?e():e.unsubscribe()}var ke={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var lt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?Er:(this.currentObservers=null,a.push(r),new Ie(function(){o.currentObservers=null,Ve(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new vo(r,o)},t}(j);var vo=function(e){se(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:Er},t}(v);var St={now:function(){return(St.delegate||Date).now()},delegate:void 0};var Ot=function(e){se(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=St);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=ut.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(ut.cancelAnimationFrame(o),r._scheduled=void 0)},t}(zt);var yo=function(e){se(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(qt);var de=new yo(xo);var L=new j(function(e){return e.complete()});function Kt(e){return e&&k(e.schedule)}function _r(e){return e[e.length-1]}function Je(e){return k(_r(e))?e.pop():void 0}function Ae(e){return Kt(_r(e))?e.pop():void 0}function Qt(e,t){return typeof _r(e)=="number"?e.pop():t}var dt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Yt(e){return k(e==null?void 0:e.then)}function Bt(e){return k(e[ft])}function Gt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function Jt(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Di(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Xt=Di();function Zt(e){return k(e==null?void 0:e[Xt])}function er(e){return ao(this,arguments,function(){var r,o,n,i;return Ut(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,ot(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,ot(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,ot(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function tr(e){return k(e==null?void 0:e.getReader)}function N(e){if(e instanceof j)return e;if(e!=null){if(Bt(e))return Ni(e);if(dt(e))return Vi(e);if(Yt(e))return zi(e);if(Gt(e))return Eo(e);if(Zt(e))return qi(e);if(tr(e))return Ki(e)}throw Jt(e)}function Ni(e){return new j(function(t){var r=e[ft]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Vi(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?g(function(n,i){return e(n,i,o)}):ce,ye(1),r?Qe(t):jo(function(){return new or}))}}function $r(e){return e<=0?function(){return L}:x(function(t,r){var o=[];t.subscribe(S(r,function(n){o.push(n),e=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new v}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,h=0,w=!1,A=!1,Z=function(){f==null||f.unsubscribe(),f=void 0},te=function(){Z(),l=u=void 0,w=A=!1},J=function(){var C=l;te(),C==null||C.unsubscribe()};return x(function(C,ct){h++,!A&&!w&&Z();var Ne=u=u!=null?u:r();ct.add(function(){h--,h===0&&!A&&!w&&(f=Pr(J,c))}),Ne.subscribe(ct),!l&&h>0&&(l=new it({next:function(Pe){return Ne.next(Pe)},error:function(Pe){A=!0,Z(),f=Pr(te,n,Pe),Ne.error(Pe)},complete:function(){w=!0,Z(),f=Pr(te,s),Ne.complete()}}),N(C).subscribe(l))})(p)}}function Pr(e,t){for(var r=[],o=2;oe.next(document)),e}function R(e,t=document){return Array.from(t.querySelectorAll(e))}function P(e,t=document){let r=me(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function me(e,t=document){return t.querySelector(e)||void 0}function Re(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var la=T(d(document.body,"focusin"),d(document.body,"focusout")).pipe(be(1),q(void 0),m(()=>Re()||document.body),B(1));function vt(e){return la.pipe(m(t=>e.contains(t)),Y())}function Vo(e,t){return T(d(e,"mouseenter").pipe(m(()=>!0)),d(e,"mouseleave").pipe(m(()=>!1))).pipe(t?be(t):ce,q(!1))}function Ue(e){return{x:e.offsetLeft,y:e.offsetTop}}function zo(e){return T(d(window,"load"),d(window,"resize")).pipe(Me(0,de),m(()=>Ue(e)),q(Ue(e)))}function ir(e){return{x:e.scrollLeft,y:e.scrollTop}}function et(e){return T(d(e,"scroll"),d(window,"resize")).pipe(Me(0,de),m(()=>ir(e)),q(ir(e)))}function qo(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)qo(e,r)}function E(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)qo(o,n);return o}function ar(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function gt(e){let t=E("script",{src:e});return H(()=>(document.head.appendChild(t),T(d(t,"load"),d(t,"error").pipe(b(()=>Ar(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),ye(1))))}var Ko=new v,ma=H(()=>typeof ResizeObserver=="undefined"?gt("https://unpkg.com/resize-observer-polyfill"):$(void 0)).pipe(m(()=>new ResizeObserver(e=>{for(let t of e)Ko.next(t)})),b(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function pe(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Ee(e){return ma.pipe(y(t=>t.observe(e)),b(t=>Ko.pipe(g(({target:r})=>r===e),_(()=>t.unobserve(e)),m(()=>pe(e)))),q(pe(e)))}function xt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function sr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}var Qo=new v,fa=H(()=>$(new IntersectionObserver(e=>{for(let t of e)Qo.next(t)},{threshold:0}))).pipe(b(e=>T(qe,$(e)).pipe(_(()=>e.disconnect()))),B(1));function yt(e){return fa.pipe(y(t=>t.observe(e)),b(t=>Qo.pipe(g(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function Yo(e,t=16){return et(e).pipe(m(({y:r})=>{let o=pe(e),n=xt(e);return r>=n.height-o.height-t}),Y())}var cr={drawer:P("[data-md-toggle=drawer]"),search:P("[data-md-toggle=search]")};function Bo(e){return cr[e].checked}function Be(e,t){cr[e].checked!==t&&cr[e].click()}function We(e){let t=cr[e];return d(t,"change").pipe(m(()=>t.checked),q(t.checked))}function ua(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function da(){return T(d(window,"compositionstart").pipe(m(()=>!0)),d(window,"compositionend").pipe(m(()=>!1))).pipe(q(!1))}function Go(){let e=d(window,"keydown").pipe(g(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:Bo("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),g(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!ua(o,r)}return!0}),le());return da().pipe(b(t=>t?L:e))}function ve(){return new URL(location.href)}function st(e,t=!1){if(G("navigation.instant")&&!t){let r=E("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function Jo(){return new v}function Xo(){return location.hash.slice(1)}function Zo(e){let t=E("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function ha(e){return T(d(window,"hashchange"),e).pipe(m(Xo),q(Xo()),g(t=>t.length>0),B(1))}function en(e){return ha(e).pipe(m(t=>me(`[id="${t}"]`)),g(t=>typeof t!="undefined"))}function At(e){let t=matchMedia(e);return nr(r=>t.addListener(()=>r(t.matches))).pipe(q(t.matches))}function tn(){let e=matchMedia("print");return T(d(window,"beforeprint").pipe(m(()=>!0)),d(window,"afterprint").pipe(m(()=>!1))).pipe(q(e.matches))}function Ur(e,t){return e.pipe(b(r=>r?t():L))}function Wr(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let s=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+s*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function De(e,t){return Wr(e,t).pipe(b(r=>r.text()),m(r=>JSON.parse(r)),B(1))}function rn(e,t){let r=new DOMParser;return Wr(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),B(1))}function on(e,t){let r=new DOMParser;return Wr(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),B(1))}function nn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function an(){return T(d(window,"scroll",{passive:!0}),d(window,"resize",{passive:!0})).pipe(m(nn),q(nn()))}function sn(){return{width:innerWidth,height:innerHeight}}function cn(){return d(window,"resize",{passive:!0}).pipe(m(sn),q(sn()))}function pn(){return Q([an(),cn()]).pipe(m(([e,t])=>({offset:e,size:t})),B(1))}function pr(e,{viewport$:t,header$:r}){let o=t.pipe(X("size")),n=Q([o,r]).pipe(m(()=>Ue(e)));return Q([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function ba(e){return d(e,"message",t=>t.data)}function va(e){let t=new v;return t.subscribe(r=>e.postMessage(r)),t}function ln(e,t=new Worker(e)){let r=ba(t),o=va(t),n=new v;n.subscribe(o);let i=o.pipe(ee(),oe(!0));return n.pipe(ee(),$e(r.pipe(U(i))),le())}var ga=P("#__config"),Et=JSON.parse(ga.textContent);Et.base=`${new URL(Et.base,ve())}`;function we(){return Et}function G(e){return Et.features.includes(e)}function ge(e,t){return typeof t!="undefined"?Et.translations[e].replace("#",t.toString()):Et.translations[e]}function Te(e,t=document){return P(`[data-md-component=${e}]`,t)}function ne(e,t=document){return R(`[data-md-component=${e}]`,t)}function xa(e){let t=P(".md-typeset > :first-child",e);return d(t,"click",{once:!0}).pipe(m(()=>P(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function mn(e){if(!G("announce.dismiss")||!e.childElementCount)return L;if(!e.hidden){let t=P(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return H(()=>{let t=new v;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),xa(e).pipe(y(r=>t.next(r)),_(()=>t.complete()),m(r=>F({ref:e},r)))})}function ya(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function fn(e,t){let r=new v;return r.subscribe(({hidden:o})=>{e.hidden=o}),ya(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))}function Ct(e,t){return t==="inline"?E("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"})):E("div",{class:"md-tooltip",id:e,role:"tooltip"},E("div",{class:"md-tooltip__inner md-typeset"}))}function un(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("a",{href:r,class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}else return E("aside",{class:"md-annotation",tabIndex:0},Ct(t),E("span",{class:"md-annotation__index",tabIndex:-1},E("span",{"data-md-annotation-id":e})))}function dn(e){return E("button",{class:"md-clipboard md-icon",title:ge("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function Dr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,E("del",null,p)," "],[]).slice(0,-1),i=we(),s=new URL(e.location,i.base);G("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=we();return E("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},E("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&E("div",{class:"md-search-result__icon md-icon"}),r>0&&E("h1",null,e.title),r<=0&&E("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return E("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&E("p",{class:"md-search-result__terms"},ge("search.result.term.missing"),": ",...n)))}function hn(e){let t=e[0].score,r=[...e],o=we(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.scoreDr(l,1)),...c.length?[E("details",{class:"md-search-result__more"},E("summary",{tabIndex:-1},E("div",null,c.length>0&&c.length===1?ge("search.result.more.one"):ge("search.result.more.other",c.length))),...c.map(l=>Dr(l,1)))]:[]];return E("li",{class:"md-search-result__item"},p)}function bn(e){return E("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>E("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?ar(r):r)))}function Nr(e){let t=`tabbed-control tabbed-control--${e}`;return E("div",{class:t,hidden:!0},E("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function vn(e){return E("div",{class:"md-typeset__scrollwrap"},E("div",{class:"md-typeset__table"},e))}function Ea(e){let t=we(),r=new URL(`../${e.version}/`,t.base);return E("li",{class:"md-version__item"},E("a",{href:`${r}`,class:"md-version__link"},e.title))}function gn(e,t){return E("div",{class:"md-version"},E("button",{class:"md-version__current","aria-label":ge("select.version")},t.title),E("ul",{class:"md-version__list"},e.map(Ea)))}var wa=0;function Ta(e,t){document.body.append(e);let{width:r}=pe(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=sr(t),n=typeof o!="undefined"?et(o):$({x:0,y:0}),i=T(vt(t),Vo(t)).pipe(Y());return Q([i,n]).pipe(m(([s,a])=>{let{x:c,y:p}=Ue(t),l=pe(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:s,offset:{x:c-a.x+l.width/2-r/2,y:p-a.y+l.height+8}}}))}function Ge(e){let t=e.title;if(!t.length)return L;let r=`__tooltip_${wa++}`,o=Ct(r,"inline"),n=P(".md-typeset",o);return n.innerHTML=t,H(()=>{let i=new v;return i.subscribe({next({offset:s}){o.style.setProperty("--md-tooltip-x",`${s.x}px`),o.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),T(i.pipe(g(({active:s})=>s)),i.pipe(be(250),g(({active:s})=>!s))).subscribe({next({active:s}){s?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(Me(16,de)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(_t(125,de),g(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?o.style.setProperty("--md-tooltip-0",`${-s}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ta(o,e).pipe(y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))}).pipe(ze(ie))}function Sa(e,t){let r=H(()=>Q([zo(e),et(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=pe(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return vt(e).pipe(b(o=>r.pipe(m(n=>({active:o,offset:n})),ye(+!o||1/0))))}function xn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return H(()=>{let i=new v,s=i.pipe(ee(),oe(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),yt(e).pipe(U(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),T(i.pipe(g(({active:a})=>a)),i.pipe(be(250),g(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Me(16,de)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(_t(125,de),g(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),d(n,"click").pipe(U(s),g(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),d(n,"mousedown").pipe(U(s),ae(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Re())==null||p.blur()}}),r.pipe(U(s),g(a=>a===o),Ye(125)).subscribe(()=>e.focus()),Sa(e,t).pipe(y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))})}function Oa(e){return e.tagName==="CODE"?R(".c, .c1, .cm",e):[e]}function Ma(e){let t=[];for(let r of Oa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function yn(e,t){t.append(...Array.from(e.childNodes))}function lr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of Ma(t)){let[,c]=a.textContent.match(/\((\d+)\)/);me(`:scope > li:nth-child(${c})`,e)&&(s.set(c,un(c,i)),a.replaceWith(s.get(c)))}return s.size===0?L:H(()=>{let a=new v,c=a.pipe(ee(),oe(!0)),p=[];for(let[l,f]of s)p.push([P(".md-typeset",f),P(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?yn(f,u):yn(u,f)}),T(...[...s].map(([,l])=>xn(l,t,{target$:r}))).pipe(_(()=>a.complete()),le())})}function En(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return En(t)}}function wn(e,t){return H(()=>{let r=En(e);return typeof r!="undefined"?lr(r,e,t):L})}var Tn=jt(zr());var La=0;function Sn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Sn(t)}}function _a(e){return Ee(e).pipe(m(({width:t})=>({scrollable:xt(e).width>t})),X("scrollable"))}function On(e,t){let{matches:r}=matchMedia("(hover)"),o=H(()=>{let n=new v,i=n.pipe($r(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let s=[];if(Tn.default.isSupported()&&(e.closest(".copy")||G("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${La++}`;let p=dn(c.id);c.insertBefore(p,e),G("content.tooltips")&&s.push(Ge(p))}let a=e.closest(".highlight");if(a instanceof HTMLElement){let c=Sn(a);if(typeof c!="undefined"&&(a.classList.contains("annotate")||G("content.code.annotate"))){let p=lr(c,e,t);s.push(Ee(a).pipe(U(i),m(({width:l,height:f})=>l&&f),Y(),b(l=>l?p:L)))}}return _a(e).pipe(y(c=>n.next(c)),_(()=>n.complete()),m(c=>F({ref:e},c)),$e(...s))});return G("content.lazy")?yt(e).pipe(g(n=>n),ye(1),b(()=>o)):o}function Aa(e,{target$:t,print$:r}){let o=!0;return T(t.pipe(m(n=>n.closest("details:not([open])")),g(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(g(n=>n||!o),y(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Mn(e,t){return H(()=>{let r=new v;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Aa(e,t).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}var Ln=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var qr,ka=0;function Ha(){return typeof mermaid=="undefined"||mermaid instanceof Element?gt("https://unpkg.com/mermaid@10.7.0/dist/mermaid.min.js"):$(void 0)}function _n(e){return e.classList.remove("mermaid"),qr||(qr=Ha().pipe(y(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Ln,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),B(1))),qr.subscribe(()=>ro(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${ka++}`,r=E("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})),qr.pipe(m(()=>({ref:e})))}var An=E("table");function Cn(e){return e.replaceWith(An),An.replaceWith(vn(e)),$({ref:e})}function $a(e){let t=e.find(r=>r.checked)||e[0];return T(...e.map(r=>d(r,"change").pipe(m(()=>P(`label[for="${r.id}"]`))))).pipe(q(P(`label[for="${t.id}"]`)),m(r=>({active:r})))}function kn(e,{viewport$:t,target$:r}){let o=P(".tabbed-labels",e),n=R(":scope > input",e),i=Nr("prev");e.append(i);let s=Nr("next");return e.append(s),H(()=>{let a=new v,c=a.pipe(ee(),oe(!0));Q([a,Ee(e)]).pipe(U(c),Me(1,de)).subscribe({next([{active:p},l]){let f=Ue(p),{width:u}=pe(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let h=ir(o);(f.xh.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),Q([et(o),Ee(o)]).pipe(U(c)).subscribe(([p,l])=>{let f=xt(o);i.hidden=p.x<16,s.hidden=p.x>f.width-l.width-16}),T(d(i,"click").pipe(m(()=>-1)),d(s,"click").pipe(m(()=>1))).pipe(U(c)).subscribe(p=>{let{width:l}=pe(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(U(c),g(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=P(`label[for="${p.id}"]`);l.replaceChildren(E("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),d(l.firstElementChild,"click").pipe(U(c),g(f=>!(f.metaKey||f.ctrlKey)),y(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return G("content.tabs.link")&&a.pipe(Le(1),ae(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let w of R("[data-tabs]"))for(let A of R(":scope > input",w)){let Z=P(`label[for="${A.id}"]`);if(Z!==p&&Z.innerText.trim()===f){Z.setAttribute("data-md-switching",""),A.click();break}}window.scrollTo({top:e.offsetTop-u});let h=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...h])])}}),a.pipe(U(c)).subscribe(()=>{for(let p of R("audio, video",e))p.pause()}),$a(n).pipe(y(p=>a.next(p)),_(()=>a.complete()),m(p=>F({ref:e},p)))}).pipe(ze(ie))}function Hn(e,{viewport$:t,target$:r,print$:o}){return T(...R(".annotate:not(.highlight)",e).map(n=>wn(n,{target$:r,print$:o})),...R("pre:not(.mermaid) > code",e).map(n=>On(n,{target$:r,print$:o})),...R("pre.mermaid",e).map(n=>_n(n)),...R("table:not([class])",e).map(n=>Cn(n)),...R("details",e).map(n=>Mn(n,{target$:r,print$:o})),...R("[data-tabs]",e).map(n=>kn(n,{viewport$:t,target$:r})),...R("[title]",e).filter(()=>G("content.tooltips")).map(n=>Ge(n)))}function Ra(e,{alert$:t}){return t.pipe(b(r=>T($(!0),$(!1).pipe(Ye(2e3))).pipe(m(o=>({message:r,active:o})))))}function $n(e,t){let r=P(".md-typeset",e);return H(()=>{let o=new v;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),Ra(e,t).pipe(y(n=>o.next(n)),_(()=>o.complete()),m(n=>F({ref:e},n)))})}function Pa({viewport$:e}){if(!G("header.autohide"))return $(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Ke(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=We("search");return Q([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),b(n=>n?r:$(!1)),q(!1))}function Rn(e,t){return H(()=>Q([Ee(e),Pa(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),B(1))}function Pn(e,{header$:t,main$:r}){return H(()=>{let o=new v,n=o.pipe(ee(),oe(!0));o.pipe(X("active"),je(t)).subscribe(([{active:s},{hidden:a}])=>{e.classList.toggle("md-header--shadow",s&&!a),e.hidden=a});let i=fe(R("[title]",e)).pipe(g(()=>G("content.tooltips")),re(s=>Ge(s)));return r.subscribe(o),t.pipe(U(n),m(s=>F({ref:e},s)),$e(i.pipe(U(n))))})}function Ia(e,{viewport$:t,header$:r}){return pr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=pe(e);return{active:o>=n}}),X("active"))}function In(e,t){return H(()=>{let r=new v;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=me(".md-content h1");return typeof o=="undefined"?L:Ia(o,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))})}function Fn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(b(()=>Ee(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),X("bottom"))));return Q([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),Y((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function Fa(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return $(...e).pipe(re(o=>d(o,"change").pipe(m(()=>o))),q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),B(1))}function jn(e){let t=R("input",e),r=E("meta",{name:"theme-color"});document.head.appendChild(r);let o=E("meta",{name:"color-scheme"});document.head.appendChild(o);let n=At("(prefers-color-scheme: light)");return H(()=>{let i=new v;return i.subscribe(s=>{if(document.body.setAttribute("data-md-color-switching",""),s.color.media==="(prefers-color-scheme)"){let a=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(a.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");s.color.scheme=c.getAttribute("data-md-color-scheme"),s.color.primary=c.getAttribute("data-md-color-primary"),s.color.accent=c.getAttribute("data-md-color-accent")}for(let[a,c]of Object.entries(s.color))document.body.setAttribute(`data-md-color-${a}`,c);for(let a=0;a{let s=Te("header"),a=window.getComputedStyle(s);return o.content=a.colorScheme,a.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(s=>r.content=`#${s}`),i.pipe(Oe(ie)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Fa(t).pipe(U(n.pipe(Le(1))),at(),y(s=>i.next(s)),_(()=>i.complete()),m(s=>F({ref:e},s)))})}function Un(e,{progress$:t}){return H(()=>{let r=new v;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(y(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Kr=jt(zr());function ja(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function Wn({alert$:e}){Kr.default.isSupported()&&new j(t=>{new Kr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ja(P(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(y(t=>{t.trigger.focus()}),m(()=>ge("clipboard.copied"))).subscribe(e)}function Dn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function Ua(e,t){let r=new Map;for(let o of R("url",e)){let n=P("loc",o),i=[Dn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let s of R("[rel=alternate]",o)){let a=s.getAttribute("href");a!=null&&i.push(Dn(new URL(a),t))}}return r}function mr(e){return on(new URL("sitemap.xml",e)).pipe(m(t=>Ua(t,new URL(e))),he(()=>$(new Map)))}function Wa(e,t){if(!(e.target instanceof Element))return L;let r=e.target.closest("a");if(r===null)return L;if(r.target||e.metaKey||e.ctrlKey)return L;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),$(new URL(r.href))):L}function Nn(e){let t=new Map;for(let r of R(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Vn(e){for(let t of R("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return $(e)}function Da(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...G("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=me(o),i=me(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=Nn(document);for(let[o,n]of Nn(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Te("container");return Fe(R("script",r)).pipe(b(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),L}),ee(),oe(document))}function zn({location$:e,viewport$:t,progress$:r}){let o=we();if(location.protocol==="file:")return L;let n=mr(o.base);$(document).subscribe(Vn);let i=d(document.body,"click").pipe(je(n),b(([c,p])=>Wa(c,p)),le()),s=d(window,"popstate").pipe(m(ve),le());i.pipe(ae(t)).subscribe(([c,{offset:p}])=>{history.replaceState(p,""),history.pushState(null,"",c)}),T(i,s).subscribe(e);let a=e.pipe(X("pathname"),b(c=>rn(c,{progress$:r}).pipe(he(()=>(st(c,!0),L)))),b(Vn),b(Da),le());return T(a.pipe(ae(e,(c,p)=>p)),e.pipe(X("pathname"),b(()=>e),X("hash")),e.pipe(Y((c,p)=>c.pathname===p.pathname&&c.hash===p.hash),b(()=>i),y(()=>history.back()))).subscribe(c=>{var p,l;history.state!==null||!c.hash?window.scrollTo(0,(l=(p=history.state)==null?void 0:p.y)!=null?l:0):(history.scrollRestoration="auto",Zo(c.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),d(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(X("offset"),be(100)).subscribe(({offset:c})=>{history.replaceState(c,"")}),a}var Qn=jt(Kn());function Yn(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,Qn.default)(s).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function Ht(e){return e.type===1}function fr(e){return e.type===3}function Bn(e,t){let r=ln(e);return T($(location.protocol!=="file:"),We("search")).pipe(He(o=>o),b(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:G("search.suggest")}}})),r}function Gn({document$:e}){let t=we(),r=De(new URL("../versions.json",t.base)).pipe(he(()=>L)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),b(n=>d(document.body,"click").pipe(g(i=>!i.metaKey&&!i.ctrlKey),ae(o),b(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?L:(i.preventDefault(),$(c))}}return L}),b(i=>{let{version:s}=n.get(i);return mr(new URL(i)).pipe(m(a=>{let p=ve().href.replace(t.base,"");return a.has(p.split("#")[0])?new URL(`../${s}/${p}`,t.base):new URL(i)}))})))).subscribe(n=>st(n,!0)),Q([r,o]).subscribe(([n,i])=>{P(".md-header__topic").appendChild(gn(n,i))}),e.pipe(b(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of ne("outdated"))a.hidden=!1})}function Ka(e,{worker$:t}){let{searchParams:r}=ve();r.has("q")&&(Be("search",!0),e.value=r.get("q"),e.focus(),We("search").pipe(He(i=>!i)).subscribe(()=>{let i=ve();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=vt(e),n=T(t.pipe(He(Ht)),d(e,"keyup"),o).pipe(m(()=>e.value),Y());return Q([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),B(1))}function Jn(e,{worker$:t}){let r=new v,o=r.pipe(ee(),oe(!0));Q([t.pipe(He(Ht)),r],(i,s)=>s).pipe(X("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(X("focus")).subscribe(({focus:i})=>{i&&Be("search",i)}),d(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=P("header [for=__search]");return d(n,"click").subscribe(()=>e.focus()),Ka(e,{worker$:t}).pipe(y(i=>r.next(i)),_(()=>r.complete()),m(i=>F({ref:e},i)),B(1))}function Xn(e,{worker$:t,query$:r}){let o=new v,n=Yo(e.parentElement).pipe(g(Boolean)),i=e.parentElement,s=P(":scope > :first-child",e),a=P(":scope > :last-child",e);We("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(ae(r),Ir(t.pipe(He(Ht)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?ge("search.result.none"):ge("search.result.placeholder");break;case 1:s.textContent=ge("search.result.one");break;default:let u=ar(l.length);s.textContent=ge("search.result.other",u)}});let c=o.pipe(y(()=>a.innerHTML=""),b(({items:l})=>T($(...l.slice(0,10)),$(...l.slice(10)).pipe(Ke(4),jr(n),b(([f])=>f)))),m(hn),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(re(l=>{let f=me("details",l);return typeof f=="undefined"?L:d(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(g(fr),m(({data:l})=>l)).pipe(y(l=>o.next(l)),_(()=>o.complete()),m(l=>F({ref:e},l)))}function Qa(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=ve();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Zn(e,t){let r=new v,o=r.pipe(ee(),oe(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),d(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),Qa(e,t).pipe(y(n=>r.next(n)),_(()=>r.complete()),m(n=>F({ref:e},n)))}function ei(e,{worker$:t,keyboard$:r}){let o=new v,n=Te("search-query"),i=T(d(n,"keydown"),d(n,"focus")).pipe(Oe(ie),m(()=>n.value),Y());return o.pipe(je(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(g(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(g(fr),m(({data:a})=>a)).pipe(y(a=>o.next(a)),_(()=>o.complete()),m(()=>({ref:e})))}function ti(e,{index$:t,keyboard$:r}){let o=we();try{let n=Bn(o.search,t),i=Te("search-query",e),s=Te("search-result",e);d(e,"click").pipe(g(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>Be("search",!1)),r.pipe(g(({mode:c})=>c==="search")).subscribe(c=>{let p=Re();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of R(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,h])=>h-u);f.click()}c.claim()}break;case"Escape":case"Tab":Be("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...R(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(g(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=Jn(i,{worker$:n});return T(a,Xn(s,{worker$:n,query$:a})).pipe($e(...ne("search-share",e).map(c=>Zn(c,{query$:a})),...ne("search-suggest",e).map(c=>ei(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,qe}}function ri(e,{index$:t,location$:r}){return Q([t,r.pipe(q(ve()),g(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>Yn(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=E("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function Ya(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return Q([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),Y((i,s)=>i.height===s.height&&i.locked===s.locked))}function Qr(e,o){var n=o,{header$:t}=n,r=to(n,["header$"]);let i=P(".md-sidebar__scrollwrap",e),{y:s}=Ue(i);return H(()=>{let a=new v,c=a.pipe(ee(),oe(!0)),p=a.pipe(Me(0,de));return p.pipe(ae(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(He()).subscribe(()=>{for(let l of R(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2})}}}),fe(R("label[tabindex]",e)).pipe(re(l=>d(l,"click").pipe(Oe(ie),m(()=>l),U(c)))).subscribe(l=>{let f=P(`[id="${l.htmlFor}"]`);P(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),Ya(e,r).pipe(y(l=>a.next(l)),_(()=>a.complete()),m(l=>F({ref:e},l)))})}function oi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Lt(De(`${r}/releases/latest`).pipe(he(()=>L),m(o=>({version:o.tag_name})),Qe({})),De(r).pipe(he(()=>L),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Qe({}))).pipe(m(([o,n])=>F(F({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return De(r).pipe(m(o=>({repositories:o.public_repos})),Qe({}))}}function ni(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return De(r).pipe(he(()=>L),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Qe({}))}function ii(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return oi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return ni(r,o)}return L}var Ba;function Ga(e){return Ba||(Ba=H(()=>{let t=__md_get("__source",sessionStorage);if(t)return $(t);if(ne("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return L}return ii(e.href).pipe(y(o=>__md_set("__source",o,sessionStorage)))}).pipe(he(()=>L),g(t=>Object.keys(t).length>0),m(t=>({facts:t})),B(1)))}function ai(e){let t=P(":scope > :last-child",e);return H(()=>{let r=new v;return r.subscribe(({facts:o})=>{t.appendChild(bn(o)),t.classList.add("md-source__repository--active")}),Ga(e).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Ja(e,{viewport$:t,header$:r}){return Ee(document.body).pipe(b(()=>pr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),X("hidden"))}function si(e,t){return H(()=>{let r=new v;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(G("navigation.tabs.sticky")?$({hidden:!1}):Ja(e,t)).pipe(y(o=>r.next(o)),_(()=>r.complete()),m(o=>F({ref:e},o)))})}function Xa(e,{viewport$:t,header$:r}){let o=new Map,n=R(".md-nav__link",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=me(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(X("height"),m(({height:a})=>{let c=Te("main"),p=P(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return Ee(document.body).pipe(X("height"),b(a=>H(()=>{let c=[];return $([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let h=f.offsetParent;for(;h;h=h.offsetParent)u+=h.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),je(i),b(([c,p])=>t.pipe(Rr(([l,f],{offset:{y:u},size:h})=>{let w=u+h.height>=Math.floor(a.height);for(;f.length;){let[,A]=f[0];if(A-p=u&&!w)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),q({prev:[],next:[]}),Ke(2,1),m(([a,c])=>a.prev.length{let i=new v,s=i.pipe(ee(),oe(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),G("toc.follow")){let a=T(t.pipe(be(1),m(()=>{})),t.pipe(be(250),m(()=>"smooth")));i.pipe(g(({prev:c})=>c.length>0),je(o.pipe(Oe(ie))),ae(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=sr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=pe(f);f.scrollTo({top:u-h/2,behavior:p})}}})}return G("navigation.tracking")&&t.pipe(U(s),X("offset"),be(250),Le(1),U(n.pipe(Le(1))),at({delay:250}),ae(i)).subscribe(([,{prev:a}])=>{let c=ve(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Xa(e,{viewport$:t,header$:r}).pipe(y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))})}function Za(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),Ke(2,1),m(([s,a])=>s>a&&a>0),Y()),i=r.pipe(m(({active:s})=>s));return Q([i,n]).pipe(m(([s,a])=>!(s&&a)),Y(),U(o.pipe(Le(1))),oe(!0),at({delay:250}),m(s=>({hidden:s})))}function pi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new v,s=i.pipe(ee(),oe(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(s),X("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),d(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),Za(e,{viewport$:t,main$:o,target$:n}).pipe(y(a=>i.next(a)),_(()=>i.complete()),m(a=>F({ref:e},a)))}function li({document$:e}){e.pipe(b(()=>R(".md-ellipsis")),re(t=>yt(t).pipe(U(e.pipe(Le(1))),g(r=>r),m(()=>t),ye(1))),g(t=>t.offsetWidth{let r=t.innerText,o=t.closest("a")||t;return o.title=r,Ge(o).pipe(U(e.pipe(Le(1))),_(()=>o.removeAttribute("title")))})).subscribe(),e.pipe(b(()=>R(".md-status")),re(t=>Ge(t))).subscribe()}function mi({document$:e,tablet$:t}){e.pipe(b(()=>R(".md-toggle--indeterminate")),y(r=>{r.indeterminate=!0,r.checked=!1}),re(r=>d(r,"change").pipe(Fr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ae(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function es(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function fi({document$:e}){e.pipe(b(()=>R("[data-md-scrollfix]")),y(t=>t.removeAttribute("data-md-scrollfix")),g(es),re(t=>d(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function ui({viewport$:e,tablet$:t}){Q([We("search"),t]).pipe(m(([r,o])=>r&&!o),b(r=>$(r).pipe(Ye(r?400:100))),ae(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function ts(){return location.protocol==="file:"?gt(`${new URL("search/search_index.js",Yr.base)}`).pipe(m(()=>__index),B(1)):De(new URL("search/search_index.json",Yr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var rt=No(),Rt=Jo(),wt=en(Rt),Br=Go(),_e=pn(),ur=At("(min-width: 960px)"),hi=At("(min-width: 1220px)"),bi=tn(),Yr=we(),vi=document.forms.namedItem("search")?ts():qe,Gr=new v;Wn({alert$:Gr});var Jr=new v;G("navigation.instant")&&zn({location$:Rt,viewport$:_e,progress$:Jr}).subscribe(rt);var di;((di=Yr.version)==null?void 0:di.provider)==="mike"&&Gn({document$:rt});T(Rt,wt).pipe(Ye(125)).subscribe(()=>{Be("drawer",!1),Be("search",!1)});Br.pipe(g(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=me("link[rel=prev]");typeof t!="undefined"&&st(t);break;case"n":case".":let r=me("link[rel=next]");typeof r!="undefined"&&st(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});li({document$:rt});mi({document$:rt,tablet$:ur});fi({document$:rt});ui({viewport$:_e,tablet$:ur});var tt=Rn(Te("header"),{viewport$:_e}),$t=rt.pipe(m(()=>Te("main")),b(e=>Fn(e,{viewport$:_e,header$:tt})),B(1)),rs=T(...ne("consent").map(e=>fn(e,{target$:wt})),...ne("dialog").map(e=>$n(e,{alert$:Gr})),...ne("header").map(e=>Pn(e,{viewport$:_e,header$:tt,main$:$t})),...ne("palette").map(e=>jn(e)),...ne("progress").map(e=>Un(e,{progress$:Jr})),...ne("search").map(e=>ti(e,{index$:vi,keyboard$:Br})),...ne("source").map(e=>ai(e))),os=H(()=>T(...ne("announce").map(e=>mn(e)),...ne("content").map(e=>Hn(e,{viewport$:_e,target$:wt,print$:bi})),...ne("content").map(e=>G("search.highlight")?ri(e,{index$:vi,location$:Rt}):L),...ne("header-title").map(e=>In(e,{viewport$:_e,header$:tt})),...ne("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Ur(hi,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t})):Ur(ur,()=>Qr(e,{viewport$:_e,header$:tt,main$:$t}))),...ne("tabs").map(e=>si(e,{viewport$:_e,header$:tt})),...ne("toc").map(e=>ci(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})),...ne("top").map(e=>pi(e,{viewport$:_e,header$:tt,main$:$t,target$:wt})))),gi=rt.pipe(b(()=>os),$e(rs),B(1));gi.subscribe();window.document$=rt;window.location$=Rt;window.target$=wt;window.keyboard$=Br;window.viewport$=_e;window.tablet$=ur;window.screen$=hi;window.print$=bi;window.alert$=Gr;window.progress$=Jr;window.component$=gi;})(); +//# sourceMappingURL=bundle.c8d2eff1.min.js.map + diff --git a/assets/javascripts/bundle.c8d2eff1.min.js.map b/assets/javascripts/bundle.c8d2eff1.min.js.map new file mode 100644 index 0000000..fc522db --- /dev/null +++ b/assets/javascripts/bundle.c8d2eff1.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["node_modules/focus-visible/dist/focus-visible.js", "node_modules/clipboard/dist/clipboard.js", "node_modules/escape-html/index.js", "src/templates/assets/javascripts/bundle.ts", "node_modules/rxjs/node_modules/tslib/tslib.es6.js", "node_modules/rxjs/src/internal/util/isFunction.ts", "node_modules/rxjs/src/internal/util/createErrorClass.ts", "node_modules/rxjs/src/internal/util/UnsubscriptionError.ts", "node_modules/rxjs/src/internal/util/arrRemove.ts", "node_modules/rxjs/src/internal/Subscription.ts", "node_modules/rxjs/src/internal/config.ts", "node_modules/rxjs/src/internal/scheduler/timeoutProvider.ts", "node_modules/rxjs/src/internal/util/reportUnhandledError.ts", "node_modules/rxjs/src/internal/util/noop.ts", "node_modules/rxjs/src/internal/NotificationFactories.ts", "node_modules/rxjs/src/internal/util/errorContext.ts", "node_modules/rxjs/src/internal/Subscriber.ts", "node_modules/rxjs/src/internal/symbol/observable.ts", "node_modules/rxjs/src/internal/util/identity.ts", "node_modules/rxjs/src/internal/util/pipe.ts", "node_modules/rxjs/src/internal/Observable.ts", "node_modules/rxjs/src/internal/util/lift.ts", "node_modules/rxjs/src/internal/operators/OperatorSubscriber.ts", "node_modules/rxjs/src/internal/scheduler/animationFrameProvider.ts", "node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts", "node_modules/rxjs/src/internal/Subject.ts", "node_modules/rxjs/src/internal/scheduler/dateTimestampProvider.ts", "node_modules/rxjs/src/internal/ReplaySubject.ts", "node_modules/rxjs/src/internal/scheduler/Action.ts", "node_modules/rxjs/src/internal/scheduler/intervalProvider.ts", "node_modules/rxjs/src/internal/scheduler/AsyncAction.ts", "node_modules/rxjs/src/internal/Scheduler.ts", "node_modules/rxjs/src/internal/scheduler/AsyncScheduler.ts", "node_modules/rxjs/src/internal/scheduler/async.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameAction.ts", "node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts", "node_modules/rxjs/src/internal/scheduler/animationFrame.ts", "node_modules/rxjs/src/internal/observable/empty.ts", "node_modules/rxjs/src/internal/util/isScheduler.ts", "node_modules/rxjs/src/internal/util/args.ts", "node_modules/rxjs/src/internal/util/isArrayLike.ts", "node_modules/rxjs/src/internal/util/isPromise.ts", "node_modules/rxjs/src/internal/util/isInteropObservable.ts", "node_modules/rxjs/src/internal/util/isAsyncIterable.ts", "node_modules/rxjs/src/internal/util/throwUnobservableError.ts", "node_modules/rxjs/src/internal/symbol/iterator.ts", "node_modules/rxjs/src/internal/util/isIterable.ts", "node_modules/rxjs/src/internal/util/isReadableStreamLike.ts", "node_modules/rxjs/src/internal/observable/innerFrom.ts", "node_modules/rxjs/src/internal/util/executeSchedule.ts", "node_modules/rxjs/src/internal/operators/observeOn.ts", "node_modules/rxjs/src/internal/operators/subscribeOn.ts", "node_modules/rxjs/src/internal/scheduled/scheduleObservable.ts", "node_modules/rxjs/src/internal/scheduled/schedulePromise.ts", "node_modules/rxjs/src/internal/scheduled/scheduleArray.ts", "node_modules/rxjs/src/internal/scheduled/scheduleIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleAsyncIterable.ts", "node_modules/rxjs/src/internal/scheduled/scheduleReadableStreamLike.ts", "node_modules/rxjs/src/internal/scheduled/scheduled.ts", "node_modules/rxjs/src/internal/observable/from.ts", "node_modules/rxjs/src/internal/observable/of.ts", "node_modules/rxjs/src/internal/observable/throwError.ts", "node_modules/rxjs/src/internal/util/EmptyError.ts", "node_modules/rxjs/src/internal/util/isDate.ts", "node_modules/rxjs/src/internal/operators/map.ts", "node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts", "node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts", "node_modules/rxjs/src/internal/util/createObject.ts", "node_modules/rxjs/src/internal/observable/combineLatest.ts", "node_modules/rxjs/src/internal/operators/mergeInternals.ts", "node_modules/rxjs/src/internal/operators/mergeMap.ts", "node_modules/rxjs/src/internal/operators/mergeAll.ts", "node_modules/rxjs/src/internal/operators/concatAll.ts", "node_modules/rxjs/src/internal/observable/concat.ts", "node_modules/rxjs/src/internal/observable/defer.ts", "node_modules/rxjs/src/internal/observable/fromEvent.ts", "node_modules/rxjs/src/internal/observable/fromEventPattern.ts", "node_modules/rxjs/src/internal/observable/timer.ts", "node_modules/rxjs/src/internal/observable/merge.ts", "node_modules/rxjs/src/internal/observable/never.ts", "node_modules/rxjs/src/internal/util/argsOrArgArray.ts", "node_modules/rxjs/src/internal/operators/filter.ts", "node_modules/rxjs/src/internal/observable/zip.ts", "node_modules/rxjs/src/internal/operators/audit.ts", "node_modules/rxjs/src/internal/operators/auditTime.ts", "node_modules/rxjs/src/internal/operators/bufferCount.ts", "node_modules/rxjs/src/internal/operators/catchError.ts", "node_modules/rxjs/src/internal/operators/scanInternals.ts", "node_modules/rxjs/src/internal/operators/combineLatest.ts", "node_modules/rxjs/src/internal/operators/combineLatestWith.ts", "node_modules/rxjs/src/internal/operators/debounceTime.ts", "node_modules/rxjs/src/internal/operators/defaultIfEmpty.ts", "node_modules/rxjs/src/internal/operators/take.ts", "node_modules/rxjs/src/internal/operators/ignoreElements.ts", "node_modules/rxjs/src/internal/operators/mapTo.ts", "node_modules/rxjs/src/internal/operators/delayWhen.ts", "node_modules/rxjs/src/internal/operators/delay.ts", "node_modules/rxjs/src/internal/operators/distinctUntilChanged.ts", "node_modules/rxjs/src/internal/operators/distinctUntilKeyChanged.ts", "node_modules/rxjs/src/internal/operators/throwIfEmpty.ts", "node_modules/rxjs/src/internal/operators/endWith.ts", "node_modules/rxjs/src/internal/operators/finalize.ts", "node_modules/rxjs/src/internal/operators/first.ts", "node_modules/rxjs/src/internal/operators/takeLast.ts", "node_modules/rxjs/src/internal/operators/merge.ts", "node_modules/rxjs/src/internal/operators/mergeWith.ts", "node_modules/rxjs/src/internal/operators/repeat.ts", "node_modules/rxjs/src/internal/operators/scan.ts", "node_modules/rxjs/src/internal/operators/share.ts", "node_modules/rxjs/src/internal/operators/shareReplay.ts", "node_modules/rxjs/src/internal/operators/skip.ts", "node_modules/rxjs/src/internal/operators/skipUntil.ts", "node_modules/rxjs/src/internal/operators/startWith.ts", "node_modules/rxjs/src/internal/operators/switchMap.ts", "node_modules/rxjs/src/internal/operators/takeUntil.ts", "node_modules/rxjs/src/internal/operators/takeWhile.ts", "node_modules/rxjs/src/internal/operators/tap.ts", "node_modules/rxjs/src/internal/operators/throttle.ts", "node_modules/rxjs/src/internal/operators/throttleTime.ts", "node_modules/rxjs/src/internal/operators/withLatestFrom.ts", "node_modules/rxjs/src/internal/operators/zip.ts", "node_modules/rxjs/src/internal/operators/zipWith.ts", "src/templates/assets/javascripts/browser/document/index.ts", "src/templates/assets/javascripts/browser/element/_/index.ts", "src/templates/assets/javascripts/browser/element/focus/index.ts", "src/templates/assets/javascripts/browser/element/hover/index.ts", "src/templates/assets/javascripts/browser/element/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/content/index.ts", "src/templates/assets/javascripts/utilities/h/index.ts", "src/templates/assets/javascripts/utilities/round/index.ts", "src/templates/assets/javascripts/browser/script/index.ts", "src/templates/assets/javascripts/browser/element/size/_/index.ts", "src/templates/assets/javascripts/browser/element/size/content/index.ts", "src/templates/assets/javascripts/browser/element/visibility/index.ts", "src/templates/assets/javascripts/browser/toggle/index.ts", "src/templates/assets/javascripts/browser/keyboard/index.ts", "src/templates/assets/javascripts/browser/location/_/index.ts", "src/templates/assets/javascripts/browser/location/hash/index.ts", "src/templates/assets/javascripts/browser/media/index.ts", "src/templates/assets/javascripts/browser/request/index.ts", "src/templates/assets/javascripts/browser/viewport/offset/index.ts", "src/templates/assets/javascripts/browser/viewport/size/index.ts", "src/templates/assets/javascripts/browser/viewport/_/index.ts", "src/templates/assets/javascripts/browser/viewport/at/index.ts", "src/templates/assets/javascripts/browser/worker/index.ts", "src/templates/assets/javascripts/_/index.ts", "src/templates/assets/javascripts/components/_/index.ts", "src/templates/assets/javascripts/components/announce/index.ts", "src/templates/assets/javascripts/components/consent/index.ts", "src/templates/assets/javascripts/templates/tooltip/index.tsx", "src/templates/assets/javascripts/templates/annotation/index.tsx", "src/templates/assets/javascripts/templates/clipboard/index.tsx", "src/templates/assets/javascripts/templates/search/index.tsx", "src/templates/assets/javascripts/templates/source/index.tsx", "src/templates/assets/javascripts/templates/tabbed/index.tsx", "src/templates/assets/javascripts/templates/table/index.tsx", "src/templates/assets/javascripts/templates/version/index.tsx", "src/templates/assets/javascripts/components/tooltip/index.ts", "src/templates/assets/javascripts/components/content/annotation/_/index.ts", "src/templates/assets/javascripts/components/content/annotation/list/index.ts", "src/templates/assets/javascripts/components/content/annotation/block/index.ts", "src/templates/assets/javascripts/components/content/code/_/index.ts", "src/templates/assets/javascripts/components/content/details/index.ts", "src/templates/assets/javascripts/components/content/mermaid/index.css", "src/templates/assets/javascripts/components/content/mermaid/index.ts", "src/templates/assets/javascripts/components/content/table/index.ts", "src/templates/assets/javascripts/components/content/tabs/index.ts", "src/templates/assets/javascripts/components/content/_/index.ts", "src/templates/assets/javascripts/components/dialog/index.ts", "src/templates/assets/javascripts/components/header/_/index.ts", "src/templates/assets/javascripts/components/header/title/index.ts", "src/templates/assets/javascripts/components/main/index.ts", "src/templates/assets/javascripts/components/palette/index.ts", "src/templates/assets/javascripts/components/progress/index.ts", "src/templates/assets/javascripts/integrations/clipboard/index.ts", "src/templates/assets/javascripts/integrations/sitemap/index.ts", "src/templates/assets/javascripts/integrations/instant/index.ts", "src/templates/assets/javascripts/integrations/search/highlighter/index.ts", "src/templates/assets/javascripts/integrations/search/worker/message/index.ts", "src/templates/assets/javascripts/integrations/search/worker/_/index.ts", "src/templates/assets/javascripts/integrations/version/index.ts", "src/templates/assets/javascripts/components/search/query/index.ts", "src/templates/assets/javascripts/components/search/result/index.ts", "src/templates/assets/javascripts/components/search/share/index.ts", "src/templates/assets/javascripts/components/search/suggest/index.ts", "src/templates/assets/javascripts/components/search/_/index.ts", "src/templates/assets/javascripts/components/search/highlight/index.ts", "src/templates/assets/javascripts/components/sidebar/index.ts", "src/templates/assets/javascripts/components/source/facts/github/index.ts", "src/templates/assets/javascripts/components/source/facts/gitlab/index.ts", "src/templates/assets/javascripts/components/source/facts/_/index.ts", "src/templates/assets/javascripts/components/source/_/index.ts", "src/templates/assets/javascripts/components/tabs/index.ts", "src/templates/assets/javascripts/components/toc/index.ts", "src/templates/assets/javascripts/components/top/index.ts", "src/templates/assets/javascripts/patches/ellipsis/index.ts", "src/templates/assets/javascripts/patches/indeterminate/index.ts", "src/templates/assets/javascripts/patches/scrollfix/index.ts", "src/templates/assets/javascripts/patches/scrolllock/index.ts", "src/templates/assets/javascripts/polyfills/index.ts"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * Applies the :focus-visible polyfill at the given scope.\n * A scope in this case is either the top-level Document or a Shadow Root.\n *\n * @param {(Document|ShadowRoot)} scope\n * @see https://github.com/WICG/focus-visible\n */\n function applyFocusVisiblePolyfill(scope) {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesAllowlist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {KeyboardEvent} e\n */\n function onKeyDown(e) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n if (isValidFocusTarget(scope.activeElement)) {\n addFocusVisibleClass(scope.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. \u00AF\\_(\u30C4)_/\u00AF\n if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n // For some kinds of state, we are interested in changes at the global scope\n // only. For example, global pointer input, global key presses and global\n // visibility change should affect the state at every scope:\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n\n addInitialPointerMoveListeners();\n\n // For focus and blur, we specifically care about state changes in the local\n // scope. This is because focus / blur events that originate from within a\n // shadow root are not re-dispatched from the host element if it was already\n // the active element in its own scope:\n scope.addEventListener('focus', onFocus, true);\n scope.addEventListener('blur', onBlur, true);\n\n // We detect that a node is a ShadowRoot by ensuring that it is a\n // DocumentFragment and also has a host property. This check covers native\n // implementation and polyfill implementation transparently. If we only cared\n // about the native implementation, we could just check if the scope was\n // an instance of a ShadowRoot.\n if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {\n // Since a ShadowRoot is a special kind of DocumentFragment, it does not\n // have a root element to add a class to. So, we add this attribute to the\n // host element instead:\n scope.host.setAttribute('data-js-focus-visible', '');\n } else if (scope.nodeType === Node.DOCUMENT_NODE) {\n document.documentElement.classList.add('js-focus-visible');\n document.documentElement.setAttribute('data-js-focus-visible', '');\n }\n }\n\n // It is important to wrap all references to global window and document in\n // these checks to support server-side rendering use cases\n // @see https://github.com/WICG/focus-visible/issues/199\n if (typeof window !== 'undefined' && typeof document !== 'undefined') {\n // Make the polyfill helper globally available. This can be used as a signal\n // to interested libraries that wish to coordinate with the polyfill for e.g.,\n // applying the polyfill to a shadow root:\n window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill;\n\n // Notify interested libraries of the polyfill's presence, in case the\n // polyfill was loaded lazily:\n var event;\n\n try {\n event = new CustomEvent('focus-visible-polyfill-ready');\n } catch (error) {\n // IE11 does not support using CustomEvent as a constructor directly:\n event = document.createEvent('CustomEvent');\n event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});\n }\n\n window.dispatchEvent(event);\n }\n\n if (typeof document !== 'undefined') {\n // Apply the polyfill to the global document, so that no JavaScript\n // coordination is required to use the polyfill in the top-level document:\n applyFocusVisiblePolyfill(document);\n }\n\n})));\n", "/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n", "/*\n * Copyright (c) 2016-2024 Martin Donath \n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n */\n\nimport \"focus-visible\"\n\nimport {\n EMPTY,\n NEVER,\n Observable,\n Subject,\n defer,\n delay,\n filter,\n map,\n merge,\n mergeWith,\n shareReplay,\n switchMap\n} from \"rxjs\"\n\nimport { configuration, feature } from \"./_\"\nimport {\n at,\n getActiveElement,\n getOptionalElement,\n requestJSON,\n setLocation,\n setToggle,\n watchDocument,\n watchKeyboard,\n watchLocation,\n watchLocationTarget,\n watchMedia,\n watchPrint,\n watchScript,\n watchViewport\n} from \"./browser\"\nimport {\n getComponentElement,\n getComponentElements,\n mountAnnounce,\n mountBackToTop,\n mountConsent,\n mountContent,\n mountDialog,\n mountHeader,\n mountHeaderTitle,\n mountPalette,\n mountProgress,\n mountSearch,\n mountSearchHiglight,\n mountSidebar,\n mountSource,\n mountTableOfContents,\n mountTabs,\n watchHeader,\n watchMain\n} from \"./components\"\nimport {\n SearchIndex,\n setupClipboardJS,\n setupInstantNavigation,\n setupVersionSelector\n} from \"./integrations\"\nimport {\n patchEllipsis,\n patchIndeterminate,\n patchScrollfix,\n patchScrolllock\n} from \"./patches\"\nimport \"./polyfills\"\n\n/* ----------------------------------------------------------------------------\n * Functions - @todo refactor\n * ------------------------------------------------------------------------- */\n\n/**\n * Fetch search index\n *\n * @returns Search index observable\n */\nfunction fetchSearchIndex(): Observable {\n if (location.protocol === \"file:\") {\n return watchScript(\n `${new URL(\"search/search_index.js\", config.base)}`\n )\n .pipe(\n // @ts-ignore - @todo fix typings\n map(() => __index),\n shareReplay(1)\n )\n } else {\n return requestJSON(\n new URL(\"search/search_index.json\", config.base)\n )\n }\n}\n\n/* ----------------------------------------------------------------------------\n * Application\n * ------------------------------------------------------------------------- */\n\n/* Yay, JavaScript is available */\ndocument.documentElement.classList.remove(\"no-js\")\ndocument.documentElement.classList.add(\"js\")\n\n/* Set up navigation observables and subjects */\nconst document$ = watchDocument()\nconst location$ = watchLocation()\nconst target$ = watchLocationTarget(location$)\nconst keyboard$ = watchKeyboard()\n\n/* Set up media observables */\nconst viewport$ = watchViewport()\nconst tablet$ = watchMedia(\"(min-width: 960px)\")\nconst screen$ = watchMedia(\"(min-width: 1220px)\")\nconst print$ = watchPrint()\n\n/* Retrieve search index, if search is enabled */\nconst config = configuration()\nconst index$ = document.forms.namedItem(\"search\")\n ? fetchSearchIndex()\n : NEVER\n\n/* Set up Clipboard.js integration */\nconst alert$ = new Subject()\nsetupClipboardJS({ alert$ })\n\n/* Set up progress indicator */\nconst progress$ = new Subject()\n\n/* Set up instant navigation, if enabled */\nif (feature(\"navigation.instant\"))\n setupInstantNavigation({ location$, viewport$, progress$ })\n .subscribe(document$)\n\n/* Set up version selector */\nif (config.version?.provider === \"mike\")\n setupVersionSelector({ document$ })\n\n/* Always close drawer and search on navigation */\nmerge(location$, target$)\n .pipe(\n delay(125)\n )\n .subscribe(() => {\n setToggle(\"drawer\", false)\n setToggle(\"search\", false)\n })\n\n/* Set up global keyboard handlers */\nkeyboard$\n .pipe(\n filter(({ mode }) => mode === \"global\")\n )\n .subscribe(key => {\n switch (key.type) {\n\n /* Go to previous page */\n case \"p\":\n case \",\":\n const prev = getOptionalElement(\"link[rel=prev]\")\n if (typeof prev !== \"undefined\")\n setLocation(prev)\n break\n\n /* Go to next page */\n case \"n\":\n case \".\":\n const next = getOptionalElement(\"link[rel=next]\")\n if (typeof next !== \"undefined\")\n setLocation(next)\n break\n\n /* Expand navigation, see https://bit.ly/3ZjG5io */\n case \"Enter\":\n const active = getActiveElement()\n if (active instanceof HTMLLabelElement)\n active.click()\n }\n })\n\n/* Set up patches */\npatchEllipsis({ document$ })\npatchIndeterminate({ document$, tablet$ })\npatchScrollfix({ document$ })\npatchScrolllock({ viewport$, tablet$ })\n\n/* Set up header and main area observable */\nconst header$ = watchHeader(getComponentElement(\"header\"), { viewport$ })\nconst main$ = document$\n .pipe(\n map(() => getComponentElement(\"main\")),\n switchMap(el => watchMain(el, { viewport$, header$ })),\n shareReplay(1)\n )\n\n/* Set up control component observables */\nconst control$ = merge(\n\n /* Consent */\n ...getComponentElements(\"consent\")\n .map(el => mountConsent(el, { target$ })),\n\n /* Dialog */\n ...getComponentElements(\"dialog\")\n .map(el => mountDialog(el, { alert$ })),\n\n /* Header */\n ...getComponentElements(\"header\")\n .map(el => mountHeader(el, { viewport$, header$, main$ })),\n\n /* Color palette */\n ...getComponentElements(\"palette\")\n .map(el => mountPalette(el)),\n\n /* Progress bar */\n ...getComponentElements(\"progress\")\n .map(el => mountProgress(el, { progress$ })),\n\n /* Search */\n ...getComponentElements(\"search\")\n .map(el => mountSearch(el, { index$, keyboard$ })),\n\n /* Repository information */\n ...getComponentElements(\"source\")\n .map(el => mountSource(el))\n)\n\n/* Set up content component observables */\nconst content$ = defer(() => merge(\n\n /* Announcement bar */\n ...getComponentElements(\"announce\")\n .map(el => mountAnnounce(el)),\n\n /* Content */\n ...getComponentElements(\"content\")\n .map(el => mountContent(el, { viewport$, target$, print$ })),\n\n /* Search highlighting */\n ...getComponentElements(\"content\")\n .map(el => feature(\"search.highlight\")\n ? mountSearchHiglight(el, { index$, location$ })\n : EMPTY\n ),\n\n /* Header title */\n ...getComponentElements(\"header-title\")\n .map(el => mountHeaderTitle(el, { viewport$, header$ })),\n\n /* Sidebar */\n ...getComponentElements(\"sidebar\")\n .map(el => el.getAttribute(\"data-md-type\") === \"navigation\"\n ? at(screen$, () => mountSidebar(el, { viewport$, header$, main$ }))\n : at(tablet$, () => mountSidebar(el, { viewport$, header$, main$ }))\n ),\n\n /* Navigation tabs */\n ...getComponentElements(\"tabs\")\n .map(el => mountTabs(el, { viewport$, header$ })),\n\n /* Table of contents */\n ...getComponentElements(\"toc\")\n .map(el => mountTableOfContents(el, {\n viewport$, header$, main$, target$\n })),\n\n /* Back-to-top button */\n ...getComponentElements(\"top\")\n .map(el => mountBackToTop(el, { viewport$, header$, main$, target$ }))\n))\n\n/* Set up component observables */\nconst component$ = document$\n .pipe(\n switchMap(() => content$),\n mergeWith(control$),\n shareReplay(1)\n )\n\n/* Subscribe to all components */\ncomponent$.subscribe()\n\n/* ----------------------------------------------------------------------------\n * Exports\n * ------------------------------------------------------------------------- */\n\nwindow.document$ = document$ /* Document observable */\nwindow.location$ = location$ /* Location subject */\nwindow.target$ = target$ /* Location target observable */\nwindow.keyboard$ = keyboard$ /* Keyboard observable */\nwindow.viewport$ = viewport$ /* Viewport observable */\nwindow.tablet$ = tablet$ /* Media tablet observable */\nwindow.screen$ = screen$ /* Media screen observable */\nwindow.print$ = print$ /* Media print observable */\nwindow.alert$ = alert$ /* Alert subject */\nwindow.progress$ = progress$ /* Progress indicator subject */\nwindow.component$ = component$ /* Component observable */\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n", "/**\n * Returns true if the object is a function.\n * @param value The value to check\n */\nexport function isFunction(value: any): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n", "/**\n * Used to create Error subclasses until the community moves away from ES5.\n *\n * This is because compiling from TypeScript down to ES5 has issues with subclassing Errors\n * as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123\n *\n * @param createImpl A factory function to create the actual constructor implementation. The returned\n * function should be a named function that calls `_super` internally.\n */\nexport function createErrorClass(createImpl: (_super: any) => any): T {\n const _super = (instance: any) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface UnsubscriptionError extends Error {\n readonly errors: any[];\n}\n\nexport interface UnsubscriptionErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (errors: any[]): UnsubscriptionError;\n}\n\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nexport const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(\n (_super) =>\n function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n }\n);\n", "/**\n * Removes an item from an array, mutating it.\n * @param arr The array to remove the item from\n * @param item The item to remove\n */\nexport function arrRemove(arr: T[] | undefined | null, item: T) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { SubscriptionLike, TeardownLogic, Unsubscribable } from './types';\nimport { arrRemove } from './util/arrRemove';\n\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nexport class Subscription implements SubscriptionLike {\n /** @nocollapse */\n public static EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n */\n public closed = false;\n\n private _parentage: Subscription[] | Subscription | null = null;\n\n /**\n * The list of registered finalizers to execute upon unsubscription. Adding and removing from this\n * list occurs in the {@link #add} and {@link #remove} methods.\n */\n private _finalizers: Exclude[] | null = null;\n\n /**\n * @param initialTeardown A function executed first as part of the finalization\n * process that is kicked off when {@link #unsubscribe} is called.\n */\n constructor(private initialTeardown?: () => void) {}\n\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n unsubscribe(): void {\n let errors: any[] | undefined;\n\n if (!this.closed) {\n this.closed = true;\n\n // Remove this from it's parents.\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n } else {\n _parentage.remove(this);\n }\n }\n\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n } catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n } catch (err) {\n errors = errors ?? [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n } else {\n errors.push(err);\n }\n }\n }\n }\n\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n\n /**\n * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called\n * when this subscription is unsubscribed. If this subscription is already {@link #closed},\n * because it has already been unsubscribed, then whatever finalizer is passed to it\n * will automatically be executed (unless the finalizer itself is also a closed subscription).\n *\n * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed\n * subscription to a any subscription will result in no operation. (A noop).\n *\n * Adding a subscription to itself, or adding `null` or `undefined` will not perform any\n * operation at all. (A noop).\n *\n * `Subscription` instances that are added to this instance will automatically remove themselves\n * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove\n * will need to be removed manually with {@link #remove}\n *\n * @param teardown The finalization logic to add to this subscription.\n */\n add(teardown: TeardownLogic): void {\n // Only add the finalizer if it's not undefined\n // and don't add a subscription to itself.\n if (teardown && teardown !== this) {\n if (this.closed) {\n // If this subscription is already closed,\n // execute whatever finalizer is handed to it automatically.\n execFinalizer(teardown);\n } else {\n if (teardown instanceof Subscription) {\n // We don't add closed subscriptions, and we don't add the same subscription\n // twice. Subscription unsubscribe is idempotent.\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = this._finalizers ?? []).push(teardown);\n }\n }\n }\n\n /**\n * Checks to see if a this subscription already has a particular parent.\n * This will signal that this subscription has already been added to the parent in question.\n * @param parent the parent to check for\n */\n private _hasParent(parent: Subscription) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n\n /**\n * Adds a parent to this subscription so it can be removed from the parent if it\n * unsubscribes on it's own.\n *\n * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.\n * @param parent The parent subscription to add\n */\n private _addParent(parent: Subscription) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n\n /**\n * Called on a child when it is removed via {@link #remove}.\n * @param parent The parent to remove\n */\n private _removeParent(parent: Subscription) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n } else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n\n /**\n * Removes a finalizer from this subscription that was previously added with the {@link #add} method.\n *\n * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves\n * from every other `Subscription` they have been added to. This means that using the `remove` method\n * is not a common thing and should be used thoughtfully.\n *\n * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance\n * more than once, you will need to call `remove` the same number of times to remove all instances.\n *\n * All finalizer instances are removed to free up memory upon unsubscription.\n *\n * @param teardown The finalizer to remove from this subscription\n */\n remove(teardown: Exclude): void {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\n\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\n\nexport function isSubscription(value: any): value is Subscription {\n return (\n value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe))\n );\n}\n\nfunction execFinalizer(finalizer: Unsubscribable | (() => void)) {\n if (isFunction(finalizer)) {\n finalizer();\n } else {\n finalizer.unsubscribe();\n }\n}\n", "import { Subscriber } from './Subscriber';\nimport { ObservableNotification } from './types';\n\n/**\n * The {@link GlobalConfig} object for RxJS. It is used to configure things\n * like how to react on unhandled errors.\n */\nexport const config: GlobalConfig = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n\n/**\n * The global configuration object for RxJS, used to configure things\n * like how to react on unhandled errors. Accessible via {@link config}\n * object.\n */\nexport interface GlobalConfig {\n /**\n * A registration point for unhandled errors from RxJS. These are errors that\n * cannot were not handled by consuming code in the usual subscription path. For\n * example, if you have this configured, and you subscribe to an observable without\n * providing an error handler, errors from that subscription will end up here. This\n * will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onUnhandledError: ((err: any) => void) | null;\n\n /**\n * A registration point for notifications that cannot be sent to subscribers because they\n * have completed, errored or have been explicitly unsubscribed. By default, next, complete\n * and error notifications sent to stopped subscribers are noops. However, sometimes callers\n * might want a different behavior. For example, with sources that attempt to report errors\n * to stopped subscribers, a caller can configure RxJS to throw an unhandled error instead.\n * This will _always_ be called asynchronously on another job in the runtime. This is because\n * we do not want errors thrown in this user-configured handler to interfere with the\n * behavior of the library.\n */\n onStoppedNotification: ((notification: ObservableNotification, subscriber: Subscriber) => void) | null;\n\n /**\n * The promise constructor used by default for {@link Observable#toPromise toPromise} and {@link Observable#forEach forEach}\n * methods.\n *\n * @deprecated As of version 8, RxJS will no longer support this sort of injection of a\n * Promise constructor. If you need a Promise implementation other than native promises,\n * please polyfill/patch Promise as you see appropriate. Will be removed in v8.\n */\n Promise?: PromiseConstructorLike;\n\n /**\n * If true, turns on synchronous error rethrowing, which is a deprecated behavior\n * in v6 and higher. This behavior enables bad patterns like wrapping a subscribe\n * call in a try/catch block. It also enables producer interference, a nasty bug\n * where a multicast can be broken for all observers by a downstream consumer with\n * an unhandled error. DO NOT USE THIS FLAG UNLESS IT'S NEEDED TO BUY TIME\n * FOR MIGRATION REASONS.\n *\n * @deprecated As of version 8, RxJS will no longer support synchronous throwing\n * of unhandled errors. All errors will be thrown on a separate call stack to prevent bad\n * behaviors described above. Will be removed in v8.\n */\n useDeprecatedSynchronousErrorHandling: boolean;\n\n /**\n * If true, enables an as-of-yet undocumented feature from v5: The ability to access\n * `unsubscribe()` via `this` context in `next` functions created in observers passed\n * to `subscribe`.\n *\n * This is being removed because the performance was severely problematic, and it could also cause\n * issues when types other than POJOs are passed to subscribe as subscribers, as they will likely have\n * their `this` context overwritten.\n *\n * @deprecated As of version 8, RxJS will no longer support altering the\n * context of next functions provided as part of an observer to Subscribe. Instead,\n * you will have access to a subscription or a signal or token that will allow you to do things like\n * unsubscribe and test closed status. Will be removed in v8.\n */\n useDeprecatedNextContext: boolean;\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearTimeoutFunction = (handle: TimerHandle) => void;\n\ninterface TimeoutProvider {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n delegate:\n | {\n setTimeout: SetTimeoutFunction;\n clearTimeout: ClearTimeoutFunction;\n }\n | undefined;\n}\n\nexport const timeoutProvider: TimeoutProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setTimeout(handler: () => void, timeout?: number, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate?.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return (delegate?.clearTimeout || clearTimeout)(handle as any);\n },\n delegate: undefined,\n};\n", "import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\n\n/**\n * Handles an error on another job either with the user-configured {@link onUnhandledError},\n * or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.\n *\n * This should be called whenever there is an error that is out-of-band with the subscription\n * or when an error hits a terminal boundary of the subscription and no error handler was provided.\n *\n * @param err the error to report\n */\nexport function reportUnhandledError(err: any) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n // Execute the user-configured error handler.\n onUnhandledError(err);\n } else {\n // Throw so it is picked up by the runtime's uncaught error mechanism.\n throw err;\n }\n });\n}\n", "/* tslint:disable:no-empty */\nexport function noop() { }\n", "import { CompleteNotification, NextNotification, ErrorNotification } from './types';\n\n/**\n * A completion object optimized for memory use and created to be the\n * same \"shape\" as other notifications in v8.\n * @internal\n */\nexport const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined) as CompleteNotification)();\n\n/**\n * Internal use only. Creates an optimized error notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function errorNotification(error: any): ErrorNotification {\n return createNotification('E', undefined, error) as any;\n}\n\n/**\n * Internal use only. Creates an optimized next notification that is the same \"shape\"\n * as other notifications.\n * @internal\n */\nexport function nextNotification(value: T) {\n return createNotification('N', value, undefined) as NextNotification;\n}\n\n/**\n * Ensures that all notifications created internally have the same \"shape\" in v8.\n *\n * TODO: This is only exported to support a crazy legacy test in `groupBy`.\n * @internal\n */\nexport function createNotification(kind: 'N' | 'E' | 'C', value: any, error: any) {\n return {\n kind,\n value,\n error,\n };\n}\n", "import { config } from '../config';\n\nlet context: { errorThrown: boolean; error: any } | null = null;\n\n/**\n * Handles dealing with errors for super-gross mode. Creates a context, in which\n * any synchronously thrown errors will be passed to {@link captureError}. Which\n * will record the error such that it will be rethrown after the call back is complete.\n * TODO: Remove in v8\n * @param cb An immediately executed function.\n */\nexport function errorContext(cb: () => void) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context!;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n } else {\n // This is the general non-deprecated path for everyone that\n // isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)\n cb();\n }\n}\n\n/**\n * Captures errors only in super-gross mode.\n * @param err the error to capture\n */\nexport function captureError(err: any) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n", "import { isFunction } from './util/isFunction';\nimport { Observer, ObservableNotification } from './types';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\n\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nexport class Subscriber extends Subscription implements Observer {\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param next The `next` callback of an Observer.\n * @param error The `error` callback of an\n * Observer.\n * @param complete The `complete` callback of an\n * Observer.\n * @return A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n * @nocollapse\n * @deprecated Do not use. Will be removed in v8. There is no replacement for this\n * method, and there is no reason to be creating instances of `Subscriber` directly.\n * If you have a specific use case, please file an issue.\n */\n static create(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber {\n return new SafeSubscriber(next, error, complete);\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected isStopped: boolean = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n protected destination: Subscriber | Observer; // this `any` is the escape hatch to erase extra type param (e.g. R)\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.\n */\n constructor(destination?: Subscriber | Observer) {\n super();\n if (destination) {\n this.destination = destination;\n // Automatically chain subscriptions together here.\n // if destination is a Subscription, then it is a Subscriber.\n if (isSubscription(destination)) {\n destination.add(this);\n }\n } else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n next(value?: T): void {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n } else {\n this._next(value!);\n }\n }\n\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached `Error`. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n error(err?: any): void {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n } else {\n this.isStopped = true;\n this._error(err);\n }\n }\n\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n complete(): void {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n } else {\n this.isStopped = true;\n this._complete();\n }\n }\n\n unsubscribe(): void {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null!;\n }\n }\n\n protected _next(value: T): void {\n this.destination.next(value);\n }\n\n protected _error(err: any): void {\n try {\n this.destination.error(err);\n } finally {\n this.unsubscribe();\n }\n }\n\n protected _complete(): void {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }\n}\n\n/**\n * This bind is captured here because we want to be able to have\n * compatibility with monoid libraries that tend to use a method named\n * `bind`. In particular, a library called Monio requires this.\n */\nconst _bind = Function.prototype.bind;\n\nfunction bind any>(fn: Fn, thisArg: any): Fn {\n return _bind.call(fn, thisArg);\n}\n\n/**\n * Internal optimization only, DO NOT EXPOSE.\n * @internal\n */\nclass ConsumerObserver implements Observer {\n constructor(private partialObserver: Partial>) {}\n\n next(value: T): void {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n\n error(err: any): void {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n } catch (error) {\n handleUnhandledError(error);\n }\n } else {\n handleUnhandledError(err);\n }\n }\n\n complete(): void {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n } catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\n\nexport class SafeSubscriber extends Subscriber {\n constructor(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((e?: any) => void) | null,\n complete?: (() => void) | null\n ) {\n super();\n\n let partialObserver: Partial>;\n if (isFunction(observerOrNext) || !observerOrNext) {\n // The first argument is a function, not an observer. The next\n // two arguments *could* be observers, or they could be empty.\n partialObserver = {\n next: (observerOrNext ?? undefined) as (((value: T) => void) | undefined),\n error: error ?? undefined,\n complete: complete ?? undefined,\n };\n } else {\n // The first argument is a partial observer.\n let context: any;\n if (this && config.useDeprecatedNextContext) {\n // This is a deprecated path that made `this.unsubscribe()` available in\n // next handler functions passed to subscribe. This only exists behind a flag\n // now, as it is *very* slow.\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n } else {\n // The \"normal\" path. Just use the partial observer directly.\n partialObserver = observerOrNext;\n }\n }\n\n // Wrap the partial observer to ensure it's a full observer, and\n // make sure proper error handling is accounted for.\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\n\nfunction handleUnhandledError(error: any) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n } else {\n // Ideal path, we report this as an unhandled error,\n // which is thrown on a new call stack.\n reportUnhandledError(error);\n }\n}\n\n/**\n * An error handler used when no error handler was supplied\n * to the SafeSubscriber -- meaning no error handler was supplied\n * do the `subscribe` call on our observable.\n * @param err The error to handle\n */\nfunction defaultErrorHandler(err: any) {\n throw err;\n}\n\n/**\n * A handler for notifications that cannot be sent to a stopped subscriber.\n * @param notification The notification being sent\n * @param subscriber The stopped subscriber\n */\nfunction handleStoppedNotification(notification: ObservableNotification, subscriber: Subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\n\n/**\n * The observer used as a stub for subscriptions where the user did not\n * pass any arguments to `subscribe`. Comes with the default error handling\n * behavior.\n */\nexport const EMPTY_OBSERVER: Readonly> & { closed: true } = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n", "/**\n * Symbol.observable or a string \"@@observable\". Used for interop\n *\n * @deprecated We will no longer be exporting this symbol in upcoming versions of RxJS.\n * Instead polyfill and use Symbol.observable directly *or* use https://www.npmjs.com/package/symbol-observable\n */\nexport const observable: string | symbol = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n", "/**\n * This function takes one parameter and just returns it. Simply put,\n * this is like `(x: T): T => x`.\n *\n * ## Examples\n *\n * This is useful in some cases when using things like `mergeMap`\n *\n * ```ts\n * import { interval, take, map, range, mergeMap, identity } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(5));\n *\n * const result$ = source$.pipe(\n * map(i => range(i)),\n * mergeMap(identity) // same as mergeMap(x => x)\n * );\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * Or when you want to selectively apply an operator\n *\n * ```ts\n * import { interval, take, identity } from 'rxjs';\n *\n * const shouldLimit = () => Math.random() < 0.5;\n *\n * const source$ = interval(1000);\n *\n * const result$ = source$.pipe(shouldLimit() ? take(5) : identity);\n *\n * result$.subscribe({\n * next: console.log\n * });\n * ```\n *\n * @param x Any value that is returned by this function\n * @returns The value passed as the first parameter to this function\n */\nexport function identity(x: T): T {\n return x;\n}\n", "import { identity } from './identity';\nimport { UnaryFunction } from '../types';\n\nexport function pipe(): typeof identity;\nexport function pipe(fn1: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction): UnaryFunction;\nexport function pipe(fn1: UnaryFunction, fn2: UnaryFunction, fn3: UnaryFunction): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction\n): UnaryFunction;\nexport function pipe(\n fn1: UnaryFunction,\n fn2: UnaryFunction,\n fn3: UnaryFunction,\n fn4: UnaryFunction,\n fn5: UnaryFunction,\n fn6: UnaryFunction,\n fn7: UnaryFunction,\n fn8: UnaryFunction,\n fn9: UnaryFunction,\n ...fns: UnaryFunction[]\n): UnaryFunction;\n\n/**\n * pipe() can be called on one or more functions, each of which can take one argument (\"UnaryFunction\")\n * and uses it to return a value.\n * It returns a function that takes one argument, passes it to the first UnaryFunction, and then\n * passes the result to the next one, passes that result to the next one, and so on. \n */\nexport function pipe(...fns: Array>): UnaryFunction {\n return pipeFromArray(fns);\n}\n\n/** @internal */\nexport function pipeFromArray(fns: Array>): UnaryFunction {\n if (fns.length === 0) {\n return identity as UnaryFunction;\n }\n\n if (fns.length === 1) {\n return fns[0];\n }\n\n return function piped(input: T): R {\n return fns.reduce((prev: any, fn: UnaryFunction) => fn(prev), input as any);\n };\n}\n", "import { Operator } from './Operator';\nimport { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription, Subscription } from './Subscription';\nimport { TeardownLogic, OperatorFunction, Subscribable, Observer } from './types';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nexport class Observable implements Subscribable {\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n source: Observable | undefined;\n\n /**\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n */\n operator: Operator | undefined;\n\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n constructor(subscribe?: (this: Observable, subscriber: Subscriber) => TeardownLogic) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new Observable by calling the Observable constructor\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new observable\n * @nocollapse\n * @deprecated Use `new Observable()` instead. Will be removed in v8.\n */\n static create: (...args: any[]) => any = (subscribe?: (subscriber: Subscriber) => TeardownLogic) => {\n return new Observable(subscribe);\n };\n\n /**\n * Creates a new Observable, with this Observable instance as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param operator the operator defining the operation to take on the observable\n * @return a new observable with the Operator applied\n * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.\n * If you have implemented an operator using `lift`, it is recommended that you create an\n * operator by simply returning `new Observable()` directly. See \"Creating new operators from\n * scratch\" section here: https://rxjs.dev/guide/operators\n */\n lift(operator?: Operator): Observable {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n\n subscribe(observerOrNext?: Partial> | ((value: T) => void)): Subscription;\n /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */\n subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to Observable's constructor, but most of the time it is\n * a library implementation, which defines what will be emitted by an Observable, and when it be will emitted. This means\n * that calling `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * the thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * of the following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular, do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, if the `error` method is not provided and an error happens,\n * it will be thrown asynchronously. Errors thrown asynchronously cannot be caught using `try`/`catch`. Instead,\n * use the {@link onUnhandledError} configuration option or use a runtime handler (like `window.onerror` or\n * `process.on('error)`) to be notified of unhandled errors. Because of this, it's recommended that you provide\n * an `error` method to avoid missing thrown errors.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where the first function is equivalent\n * of a `next` method, the second of an `error` method and the third of a `complete` method. Just as in case of an Observer,\n * if you do not need to listen for something, you can omit a function by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to the `error` function, as with an Observer, if not provided, errors emitted by an Observable will be thrown asynchronously.\n *\n * You can, however, subscribe with no parameters at all. This may be the case where you're not interested in terminal events\n * and you also handled emissions internally by using operators (e.g. using `tap`).\n *\n * Whichever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop the work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a `scheduler`.\n *\n * #### Examples\n *\n * Subscribe with an {@link guide/observer Observer}\n *\n * ```ts\n * import { of } from 'rxjs';\n *\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() {\n * // We actually could just remove this method,\n * // since we do not really care about errors right now.\n * },\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Subscribe with functions ({@link deprecations/subscribe-arguments deprecated})\n *\n * ```ts\n * import { of } from 'rxjs'\n *\n * let sum = 0;\n *\n * of(1, 2, 3).subscribe(\n * value => {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * () => console.log('Sum equals: ' + sum)\n * );\n *\n * // Logs:\n * // 'Adding: 1'\n * // 'Adding: 2'\n * // 'Adding: 3'\n * // 'Sum equals: 6'\n * ```\n *\n * Cancel a subscription\n *\n * ```ts\n * import { interval } from 'rxjs';\n *\n * const subscription = interval(1000).subscribe({\n * next(num) {\n * console.log(num)\n * },\n * complete() {\n * // Will not be called, even when cancelling subscription.\n * console.log('completed!');\n * }\n * });\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // 'unsubscribed!' after 2.5s\n * ```\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown asynchronously as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {Subscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n subscribe(\n observerOrNext?: Partial> | ((value: T) => void) | null,\n error?: ((error: any) => void) | null,\n complete?: (() => void) | null\n ): Subscription {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(\n operator\n ? // We're dealing with a subscription in the\n // operator chain to one of our lifted operators.\n operator.call(subscriber, source)\n : source\n ? // If `source` has a value, but `operator` does not, something that\n // had intimate knowledge of our API, like our `Subject`, must have\n // set it. We're going to just call `_subscribe` directly.\n this._subscribe(subscriber)\n : // In all other cases, we're likely wrapping a user-provided initializer\n // function, so we need to catch errors and handle them appropriately.\n this._trySubscribe(subscriber)\n );\n });\n\n return subscriber;\n }\n\n /** @internal */\n protected _trySubscribe(sink: Subscriber): TeardownLogic {\n try {\n return this._subscribe(sink);\n } catch (err) {\n // We don't need to return anything in this case,\n // because it's just going to try to `add()` to a subscription\n // above.\n sink.error(err);\n }\n }\n\n /**\n * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with\n * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * #### Example\n *\n * ```ts\n * import { interval, take } from 'rxjs';\n *\n * const source$ = interval(1000).pipe(take(4));\n *\n * async function getTotal() {\n * let total = 0;\n *\n * await source$.forEach(value => {\n * total += value;\n * console.log('observable -> ' + value);\n * });\n *\n * return total;\n * }\n *\n * getTotal().then(\n * total => console.log('Total: ' + total)\n * );\n *\n * // Expected:\n * // 'observable -> 0'\n * // 'observable -> 1'\n * // 'observable -> 2'\n * // 'observable -> 3'\n * // 'Total: 6'\n * ```\n *\n * @param next a handler for each value emitted by the observable\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n forEach(next: (value: T) => void): Promise;\n\n /**\n * @param next a handler for each value emitted by the observable\n * @param promiseCtor a constructor function used to instantiate the Promise\n * @return a promise that either resolves on observable completion or\n * rejects with the handled error\n * @deprecated Passing a Promise constructor will no longer be available\n * in upcoming versions of RxJS. This is because it adds weight to the library, for very\n * little benefit. If you need this functionality, it is recommended that you either\n * polyfill Promise, or you create an adapter to convert the returned native promise\n * to whatever promise implementation you wanted. Will be removed in v8.\n */\n forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise;\n\n forEach(next: (value: T) => void, promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n } catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n }) as Promise;\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): TeardownLogic {\n return this.source?.subscribe(subscriber);\n }\n\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n [Symbol_observable]() {\n return this;\n }\n\n /* tslint:disable:max-line-length */\n pipe(): Observable;\n pipe(op1: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction): Observable;\n pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction\n ): Observable;\n pipe(\n op1: OperatorFunction,\n op2: OperatorFunction,\n op3: OperatorFunction,\n op4: OperatorFunction,\n op5: OperatorFunction,\n op6: OperatorFunction,\n op7: OperatorFunction,\n op8: OperatorFunction,\n op9: OperatorFunction,\n ...operations: OperatorFunction[]\n ): Observable;\n /* tslint:enable:max-line-length */\n\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * ## Example\n *\n * ```ts\n * import { interval, filter, map, scan } from 'rxjs';\n *\n * interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x));\n * ```\n */\n pipe(...operations: OperatorFunction[]): Observable {\n return pipeFromArray(operations)(this);\n }\n\n /* tslint:disable:max-line-length */\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: typeof Promise): Promise;\n /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */\n toPromise(PromiseCtor: PromiseConstructorLike): Promise;\n /* tslint:enable:max-line-length */\n\n /**\n * Subscribe to this Observable and get a Promise resolving on\n * `complete` with the last emission (if any).\n *\n * **WARNING**: Only use this with observables you *know* will complete. If the source\n * observable does not complete, you will end up with a promise that is hung up, and\n * potentially all of the state of an async function hanging out in memory. To avoid\n * this situation, look into adding something like {@link timeout}, {@link take},\n * {@link takeWhile}, or {@link takeUntil} amongst others.\n *\n * @method toPromise\n * @param [promiseCtor] a constructor function used to instantiate\n * the Promise\n * @return A Promise that resolves with the last value emit, or\n * rejects on an error. If there were no emissions, Promise\n * resolves with undefined.\n * @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise\n */\n toPromise(promiseCtor?: PromiseConstructorLike): Promise {\n promiseCtor = getPromiseCtor(promiseCtor);\n\n return new promiseCtor((resolve, reject) => {\n let value: T | undefined;\n this.subscribe(\n (x: T) => (value = x),\n (err: any) => reject(err),\n () => resolve(value)\n );\n }) as Promise;\n }\n}\n\n/**\n * Decides between a passed promise constructor from consuming code,\n * A default configured promise constructor, and the native promise\n * constructor and returns it. If nothing can be found, it will throw\n * an error.\n * @param promiseCtor The optional promise constructor to passed by consuming code\n */\nfunction getPromiseCtor(promiseCtor: PromiseConstructorLike | undefined) {\n return promiseCtor ?? config.Promise ?? Promise;\n}\n\nfunction isObserver(value: any): value is Observer {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\n\nfunction isSubscriber(value: any): value is Subscriber {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n", "import { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { OperatorFunction } from '../types';\nimport { isFunction } from './isFunction';\n\n/**\n * Used to determine if an object is an Observable with a lift function.\n */\nexport function hasLift(source: any): source is { lift: InstanceType['lift'] } {\n return isFunction(source?.lift);\n}\n\n/**\n * Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.\n * @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.\n */\nexport function operate(\n init: (liftedSource: Observable, subscriber: Subscriber) => (() => void) | void\n): OperatorFunction {\n return (source: Observable) => {\n if (hasLift(source)) {\n return source.lift(function (this: Subscriber, liftedSource: Observable) {\n try {\n return init(liftedSource, this);\n } catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n", "import { Subscriber } from '../Subscriber';\n\n/**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional teardown logic here. This will only be called on teardown if the\n * subscriber itself is not already closed. This is called after all other teardown logic is executed.\n */\nexport function createOperatorSubscriber(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n onFinalize?: () => void\n): Subscriber {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\n\n/**\n * A generic helper for allowing operators to be created with a Subscriber and\n * use closures to capture necessary state from the operator function itself.\n */\nexport class OperatorSubscriber extends Subscriber {\n /**\n * Creates an instance of an `OperatorSubscriber`.\n * @param destination The downstream subscriber.\n * @param onNext Handles next values, only called if this subscriber is not stopped or closed. Any\n * error that occurs in this function is caught and sent to the `error` method of this subscriber.\n * @param onError Handles errors from the subscription, any errors that occur in this handler are caught\n * and send to the `destination` error handler.\n * @param onComplete Handles completion notification from the subscription. Any errors that occur in\n * this handler are sent to the `destination` error handler.\n * @param onFinalize Additional finalization logic here. This will only be called on finalization if the\n * subscriber itself is not already closed. This is called after all other finalization logic is executed.\n * @param shouldUnsubscribe An optional check to see if an unsubscribe call should truly unsubscribe.\n * NOTE: This currently **ONLY** exists to support the strange behavior of {@link groupBy}, where unsubscription\n * to the resulting observable does not actually disconnect from the source if there are active subscriptions\n * to any grouped observable. (DO NOT EXPOSE OR USE EXTERNALLY!!!)\n */\n constructor(\n destination: Subscriber,\n onNext?: (value: T) => void,\n onComplete?: () => void,\n onError?: (err: any) => void,\n private onFinalize?: () => void,\n private shouldUnsubscribe?: () => boolean\n ) {\n // It's important - for performance reasons - that all of this class's\n // members are initialized and that they are always initialized in the same\n // order. This will ensure that all OperatorSubscriber instances have the\n // same hidden class in V8. This, in turn, will help keep the number of\n // hidden classes involved in property accesses within the base class as\n // low as possible. If the number of hidden classes involved exceeds four,\n // the property accesses will become megamorphic and performance penalties\n // will be incurred - i.e. inline caches won't be used.\n //\n // The reasons for ensuring all instances have the same hidden class are\n // further discussed in this blog post from Benedikt Meurer:\n // https://benediktmeurer.de/2018/03/23/impact-of-polymorphism-on-component-based-frameworks-like-react/\n super(destination);\n this._next = onNext\n ? function (this: OperatorSubscriber, value: T) {\n try {\n onNext(value);\n } catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (this: OperatorSubscriber, err: any) {\n try {\n onError(err);\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function (this: OperatorSubscriber) {\n try {\n onComplete();\n } catch (err) {\n // Send any errors that occur down stream.\n destination.error(err);\n } finally {\n // Ensure finalization.\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n\n unsubscribe() {\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n // Execute additional teardown if we have any and we didn't already do so.\n !closed && this.onFinalize?.();\n }\n }\n}\n", "import { Subscription } from '../Subscription';\n\ninterface AnimationFrameProvider {\n schedule(callback: FrameRequestCallback): Subscription;\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n delegate:\n | {\n requestAnimationFrame: typeof requestAnimationFrame;\n cancelAnimationFrame: typeof cancelAnimationFrame;\n }\n | undefined;\n}\n\nexport const animationFrameProvider: AnimationFrameProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel: typeof cancelAnimationFrame | undefined = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n // Clear the cancel function. The request has been fulfilled, so\n // attempting to cancel the request upon unsubscription would be\n // pointless.\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel?.(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.requestAnimationFrame || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return (delegate?.cancelAnimationFrame || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n", "import { createErrorClass } from './createErrorClass';\n\nexport interface ObjectUnsubscribedError extends Error {}\n\nexport interface ObjectUnsubscribedErrorCtor {\n /**\n * @deprecated Internal implementation detail. Do not construct error instances.\n * Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269\n */\n new (): ObjectUnsubscribedError;\n}\n\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nexport const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(\n (_super) =>\n function ObjectUnsubscribedErrorImpl(this: any) {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n }\n);\n", "import { Operator } from './Operator';\nimport { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { Observer, SubscriptionLike, TeardownLogic } from './types';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\n\n/**\n * A Subject is a special type of Observable that allows values to be\n * multicasted to many Observers. Subjects are like EventEmitters.\n *\n * Every Subject is an Observable and an Observer. You can subscribe to a\n * Subject, and you can call next to feed values as well as error and complete.\n */\nexport class Subject extends Observable implements SubscriptionLike {\n closed = false;\n\n private currentObservers: Observer[] | null = null;\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n observers: Observer[] = [];\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n isStopped = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n hasError = false;\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n thrownError: any = null;\n\n /**\n * Creates a \"subject\" by basically gluing an observer to an observable.\n *\n * @nocollapse\n * @deprecated Recommended you do not use. Will be removed at some point in the future. Plans for replacement still under discussion.\n */\n static create: (...args: any[]) => any = (destination: Observer, source: Observable): AnonymousSubject => {\n return new AnonymousSubject(destination, source);\n };\n\n constructor() {\n // NOTE: This must be here to obscure Observable's constructor.\n super();\n }\n\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n lift(operator: Operator): Observable {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator as any;\n return subject as any;\n }\n\n /** @internal */\n protected _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n\n next(value: T) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n\n error(err: any) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.error(err);\n }\n }\n });\n }\n\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift()!.complete();\n }\n }\n });\n }\n\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null!;\n }\n\n get observed() {\n return this.observers?.length > 0;\n }\n\n /** @internal */\n protected _trySubscribe(subscriber: Subscriber): TeardownLogic {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n\n /** @internal */\n protected _innerSubscribe(subscriber: Subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n\n /** @internal */\n protected _checkFinalizedStatuses(subscriber: Subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n } else if (isStopped) {\n subscriber.complete();\n }\n }\n\n /**\n * Creates a new Observable with this Subject as the source. You can do this\n * to create custom Observer-side logic of the Subject and conceal it from\n * code that uses the Observable.\n * @return {Observable} Observable that the Subject casts to\n */\n asObservable(): Observable {\n const observable: any = new Observable();\n observable.source = this;\n return observable;\n }\n}\n\n/**\n * @class AnonymousSubject\n */\nexport class AnonymousSubject extends Subject {\n constructor(\n /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */\n public destination?: Observer,\n source?: Observable\n ) {\n super();\n this.source = source;\n }\n\n next(value: T) {\n this.destination?.next?.(value);\n }\n\n error(err: any) {\n this.destination?.error?.(err);\n }\n\n complete() {\n this.destination?.complete?.();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n return this.source?.subscribe(subscriber) ?? EMPTY_SUBSCRIPTION;\n }\n}\n", "import { TimestampProvider } from '../types';\n\ninterface DateTimestampProvider extends TimestampProvider {\n delegate: TimestampProvider | undefined;\n}\n\nexport const dateTimestampProvider: DateTimestampProvider = {\n now() {\n // Use the variable rather than `this` so that the function can be called\n // without being bound to the provider.\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n", "import { Subject } from './Subject';\nimport { TimestampProvider } from './types';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * A variant of {@link Subject} that \"replays\" old values to new subscribers by emitting them when they first subscribe.\n *\n * `ReplaySubject` has an internal buffer that will store a specified number of values that it has observed. Like `Subject`,\n * `ReplaySubject` \"observes\" values by having them passed to its `next` method. When it observes a value, it will store that\n * value for a time determined by the configuration of the `ReplaySubject`, as passed to its constructor.\n *\n * When a new subscriber subscribes to the `ReplaySubject` instance, it will synchronously emit all values in its buffer in\n * a First-In-First-Out (FIFO) manner. The `ReplaySubject` will also complete, if it has observed completion; and it will\n * error if it has observed an error.\n *\n * There are two main configuration items to be concerned with:\n *\n * 1. `bufferSize` - This will determine how many items are stored in the buffer, defaults to infinite.\n * 2. `windowTime` - The amount of time to hold a value in the buffer before removing it from the buffer.\n *\n * Both configurations may exist simultaneously. So if you would like to buffer a maximum of 3 values, as long as the values\n * are less than 2 seconds old, you could do so with a `new ReplaySubject(3, 2000)`.\n *\n * ### Differences with BehaviorSubject\n *\n * `BehaviorSubject` is similar to `new ReplaySubject(1)`, with a couple of exceptions:\n *\n * 1. `BehaviorSubject` comes \"primed\" with a single value upon construction.\n * 2. `ReplaySubject` will replay values, even after observing an error, where `BehaviorSubject` will not.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n * @see {@link shareReplay}\n */\nexport class ReplaySubject extends Subject {\n private _buffer: (T | number)[] = [];\n private _infiniteTimeWindow = true;\n\n /**\n * @param bufferSize The size of the buffer to replay on subscription\n * @param windowTime The amount of time the buffered items will stay buffered\n * @param timestampProvider An object with a `now()` method that provides the current timestamp. This is used to\n * calculate the amount of time something has been buffered.\n */\n constructor(\n private _bufferSize = Infinity,\n private _windowTime = Infinity,\n private _timestampProvider: TimestampProvider = dateTimestampProvider\n ) {\n super();\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n\n next(value: T): void {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n this._throwIfClosed();\n this._trimBuffer();\n\n const subscription = this._innerSubscribe(subscriber);\n\n const { _infiniteTimeWindow, _buffer } = this;\n // We use a copy here, so reentrant code does not mutate our array while we're\n // emitting it to a new subscriber.\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i] as T);\n }\n\n this._checkFinalizedStatuses(subscriber);\n\n return subscription;\n }\n\n private _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n // If we don't have an infinite buffer size, and we're over the length,\n // use splice to truncate the old buffer values off. Note that we have to\n // double the size for instances where we're not using an infinite time window\n // because we're storing the values and the timestamps in the same array.\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n\n // Now, if we're not in an infinite time window, remove all values where the time is\n // older than what is allowed.\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n // Search the array for the first timestamp that isn't expired and\n // truncate the buffer up to that point.\n for (let i = 1; i < _buffer.length && (_buffer[i] as number) <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Subscription } from '../Subscription';\nimport { SchedulerAction } from '../types';\n\n/**\n * A unit of work to be executed in a `scheduler`. An action is typically\n * created from within a {@link SchedulerLike} and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nexport class Action extends Subscription {\n constructor(scheduler: Scheduler, work: (this: SchedulerAction, state?: T) => void) {\n super();\n }\n /**\n * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n public schedule(state?: T, delay: number = 0): Subscription {\n return this;\n }\n}\n", "import type { TimerHandle } from './timerHandle';\ntype SetIntervalFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;\ntype ClearIntervalFunction = (handle: TimerHandle) => void;\n\ninterface IntervalProvider {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n delegate:\n | {\n setInterval: SetIntervalFunction;\n clearInterval: ClearIntervalFunction;\n }\n | undefined;\n}\n\nexport const intervalProvider: IntervalProvider = {\n // When accessing the delegate, use the variable rather than `this` so that\n // the functions can be called without being bound to the provider.\n setInterval(handler: () => void, timeout?: number, ...args) {\n const { delegate } = intervalProvider;\n if (delegate?.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return (delegate?.clearInterval || clearInterval)(handle as any);\n },\n delegate: undefined,\n};\n", "import { Action } from './Action';\nimport { SchedulerAction } from '../types';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncAction extends Action {\n public id: TimerHandle | undefined;\n public state?: T;\n // @ts-ignore: Property has no initializer and is not definitely assigned\n public delay: number;\n protected pending: boolean = false;\n\n constructor(protected scheduler: AsyncScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (this.closed) {\n return this;\n }\n\n // Always replace the current state with the new state.\n this.state = state;\n\n const id = this.id;\n const scheduler = this.scheduler;\n\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id ?? this.requestAsyncId(scheduler, this.id, delay);\n\n return this;\n }\n\n protected requestAsyncId(scheduler: AsyncScheduler, _id?: TimerHandle, delay: number = 0): TimerHandle {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n\n protected recycleAsyncId(_scheduler: AsyncScheduler, id?: TimerHandle, delay: number | null = 0): TimerHandle | undefined {\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n\n return undefined;\n }\n\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n public execute(state: T, delay: number): any {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n } else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n\n protected _execute(state: T, _delay: number): any {\n let errored: boolean = false;\n let errorValue: any;\n try {\n this.work(state);\n } catch (e) {\n errored = true;\n // HACK: Since code elsewhere is relying on the \"truthiness\" of the\n // return here, we can't have it return \"\" or 0 or false.\n // TODO: Clean this up when we refactor schedulers mid-version-8 or so.\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n\n this.work = this.state = this.scheduler = null!;\n this.pending = false;\n\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n\n this.delay = null!;\n super.unsubscribe();\n }\n }\n}\n", "import { Action } from './scheduler/Action';\nimport { Subscription } from './Subscription';\nimport { SchedulerLike, SchedulerAction } from './types';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\n\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an `Action`.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n * @deprecated Scheduler is an internal implementation detail of RxJS, and\n * should not be used directly. Rather, create your own class and implement\n * {@link SchedulerLike}. Will be made internal in v8.\n */\nexport class Scheduler implements SchedulerLike {\n public static now: () => number = dateTimestampProvider.now;\n\n constructor(private schedulerActionCtor: typeof Action, now: () => number = Scheduler.now) {\n this.now = now;\n }\n\n /**\n * A getter method that returns a number representing the current time\n * (at the time this function was called) according to the scheduler's own\n * internal clock.\n * @return {number} A number that represents the current time. May or may not\n * have a relation to wall-clock time. May or may not refer to a time unit\n * (e.g. milliseconds).\n */\n public now: () => number;\n\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n public schedule(work: (this: SchedulerAction, state?: T) => void, delay: number = 0, state?: T): Subscription {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\n", "import { Scheduler } from '../Scheduler';\nimport { Action } from './Action';\nimport { AsyncAction } from './AsyncAction';\nimport { TimerHandle } from './timerHandle';\n\nexport class AsyncScheduler extends Scheduler {\n public actions: Array> = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n * @internal\n */\n public _active: boolean = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n * @internal\n */\n public _scheduled: TimerHandle | undefined;\n\n constructor(SchedulerAction: typeof Action, now: () => number = Scheduler.now) {\n super(SchedulerAction, now);\n }\n\n public flush(action: AsyncAction): void {\n const { actions } = this;\n\n if (this._active) {\n actions.push(action);\n return;\n }\n\n let error: any;\n this._active = true;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()!)); // exhaust the scheduler queue\n\n this._active = false;\n\n if (error) {\n while ((action = actions.shift()!)) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asapScheduler} scheduler.\n *\n * ## Examples\n * Use async scheduler to delay task\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * const task = () => console.log('it works!');\n *\n * asyncScheduler.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n * ```\n *\n * Use async scheduler to repeat task in intervals\n * ```ts\n * import { asyncScheduler } from 'rxjs';\n *\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * asyncScheduler.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n * ```\n */\n\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\n\n/**\n * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8.\n */\nexport const async = asyncScheduler;\n", "import { AsyncAction } from './AsyncAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nimport { SchedulerAction } from '../types';\nimport { animationFrameProvider } from './animationFrameProvider';\nimport { TimerHandle } from './timerHandle';\n\nexport class AnimationFrameAction extends AsyncAction {\n constructor(protected scheduler: AnimationFrameScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n protected requestAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\n // If delay is greater than 0, request as an async action.\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n // Push the action to the end of the scheduler queue.\n scheduler.actions.push(this);\n // If an animation frame has already been requested, don't request another\n // one. If an animation frame hasn't been requested yet, request one. Return\n // the current animation frame request id.\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n\n protected recycleAsyncId(scheduler: AnimationFrameScheduler, id?: TimerHandle, delay: number = 0): TimerHandle | undefined {\n // If delay exists and is greater than 0, or if the delay is null (the\n // action wasn't rescheduled) but was originally scheduled as an async\n // action, then recycle as an async action.\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n // If the scheduler queue has no remaining actions with the same async id,\n // cancel the requested animation frame and set the scheduled flag to\n // undefined so the next AnimationFrameAction will request its own.\n const { actions } = scheduler;\n if (id != null && actions[actions.length - 1]?.id !== id) {\n animationFrameProvider.cancelAnimationFrame(id as number);\n scheduler._scheduled = undefined;\n }\n // Return undefined so the action knows to request a new async id if it's rescheduled.\n return undefined;\n }\n}\n", "import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\n\nexport class AnimationFrameScheduler extends AsyncScheduler {\n public flush(action?: AsyncAction): void {\n this._active = true;\n // The async id that effects a call to flush is stored in _scheduled.\n // Before executing an action, it's necessary to check the action's async\n // id to determine whether it's supposed to be executed in the current\n // flush.\n // Previous implementations of this method used a count to determine this,\n // but that was unsound, as actions that are unsubscribed - i.e. cancelled -\n // are removed from the actions array and that can shift actions that are\n // scheduled to be executed in a subsequent flush into positions at which\n // they are executed within the current flush.\n const flushId = this._scheduled;\n this._scheduled = undefined;\n\n const { actions } = this;\n let error: any;\n action = action || actions.shift()!;\n\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n\n this._active = false;\n\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n", "import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\n\n/**\n *\n * Animation Frame Scheduler\n *\n * Perform task when `window.requestAnimationFrame` would fire\n *\n * When `animationFrame` scheduler is used with delay, it will fall back to {@link asyncScheduler} scheduler\n * behaviour.\n *\n * Without delay, `animationFrame` scheduler can be used to create smooth browser animations.\n * It makes sure scheduled task will happen just before next browser content repaint,\n * thus performing animations as efficiently as possible.\n *\n * ## Example\n * Schedule div height animation\n * ```ts\n * // html:

\n * import { animationFrameScheduler } from 'rxjs';\n *\n * const div = document.querySelector('div');\n *\n * animationFrameScheduler.schedule(function(height) {\n * div.style.height = height + \"px\";\n *\n * this.schedule(height + 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * }, 0, 0);\n *\n * // You will see a div element growing in height\n * ```\n */\n\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\n\n/**\n * @deprecated Renamed to {@link animationFrameScheduler}. Will be removed in v8.\n */\nexport const animationFrame = animationFrameScheduler;\n", "import { Observable } from '../Observable';\nimport { SchedulerLike } from '../types';\n\n/**\n * A simple Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n *\n * ![](empty.png)\n *\n * A simple Observable that only emits the complete notification. It can be used\n * for composing with other Observables, such as in a {@link mergeMap}.\n *\n * ## Examples\n *\n * Log complete notification\n *\n * ```ts\n * import { EMPTY } from 'rxjs';\n *\n * EMPTY.subscribe({\n * next: () => console.log('Next'),\n * complete: () => console.log('Complete!')\n * });\n *\n * // Outputs\n * // Complete!\n * ```\n *\n * Emit the number 7, then complete\n *\n * ```ts\n * import { EMPTY, startWith } from 'rxjs';\n *\n * const result = EMPTY.pipe(startWith(7));\n * result.subscribe(x => console.log(x));\n *\n * // Outputs\n * // 7\n * ```\n *\n * Map and flatten only odd numbers to the sequence `'a'`, `'b'`, `'c'`\n *\n * ```ts\n * import { interval, mergeMap, of, EMPTY } from 'rxjs';\n *\n * const interval$ = interval(1000);\n * const result = interval$.pipe(\n * mergeMap(x => x % 2 === 1 ? of('a', 'b', 'c') : EMPTY),\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval, e.g. (0, 1, 2, 3, ...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1, print a, b, c (each on its own)\n * // if x % 2 is not equal to 1, nothing will be output\n * ```\n *\n * @see {@link Observable}\n * @see {@link NEVER}\n * @see {@link of}\n * @see {@link throwError}\n */\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\n\n/**\n * @param scheduler A {@link SchedulerLike} to use for scheduling\n * the emission of the complete notification.\n * @deprecated Replaced with the {@link EMPTY} constant or {@link scheduled} (e.g. `scheduled([], scheduler)`). Will be removed in v8.\n */\nexport function empty(scheduler?: SchedulerLike) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\n\nfunction emptyScheduled(scheduler: SchedulerLike) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport function isScheduler(value: any): value is SchedulerLike {\n return value && isFunction(value.schedule);\n}\n", "import { SchedulerLike } from '../types';\nimport { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\n\nfunction last(arr: T[]): T | undefined {\n return arr[arr.length - 1];\n}\n\nexport function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\n\nexport function popScheduler(args: any[]): SchedulerLike | undefined {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\n\nexport function popNumber(args: any[], defaultValue: number): number {\n return typeof last(args) === 'number' ? args.pop()! : defaultValue;\n}\n", "export const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === 'number' && typeof x !== 'function');", "import { isFunction } from \"./isFunction\";\n\n/**\n * Tests to see if the object is \"thennable\".\n * @param value the object to test\n */\nexport function isPromise(value: any): value is PromiseLike {\n return isFunction(value?.then);\n}\n", "import { InteropObservable } from '../types';\nimport { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being Observable (but not necessary an Rx Observable) */\nexport function isInteropObservable(input: any): input is InteropObservable {\n return isFunction(input[Symbol_observable]);\n}\n", "import { isFunction } from './isFunction';\n\nexport function isAsyncIterable(obj: any): obj is AsyncIterable {\n return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);\n}\n", "/**\n * Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.\n * @param input The object that was passed.\n */\nexport function createInvalidObservableTypeError(input: any) {\n // TODO: We should create error codes that can be looked up, so this can be less verbose.\n return new TypeError(\n `You provided ${\n input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`\n } where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`\n );\n}\n", "export function getSymbolIterator(): symbol {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator' as any;\n }\n\n return Symbol.iterator;\n}\n\nexport const iterator = getSymbolIterator();\n", "import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\n\n/** Identifies an input as being an Iterable */\nexport function isIterable(input: any): input is Iterable {\n return isFunction(input?.[Symbol_iterator]);\n}\n", "import { ReadableStreamLike } from '../types';\nimport { isFunction } from './isFunction';\n\nexport async function* readableStreamLikeToAsyncGenerator(readableStream: ReadableStreamLike): AsyncGenerator {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = await reader.read();\n if (done) {\n return;\n }\n yield value!;\n }\n } finally {\n reader.releaseLock();\n }\n}\n\nexport function isReadableStreamLike(obj: any): obj is ReadableStreamLike {\n // We don't want to use instanceof checks because they would return\n // false for instances from another Realm, like an