From ea564ba7777735019f19198024b56f23090ac83c Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 31 Jul 2024 19:28:05 +0000 Subject: [PATCH] Publish Python docs --- 404.html | 2230 +++ CNAME | 1 + SUMMARY/index.html | 2289 +++ api/index.html | 4143 +++++ assets/_mkdocstrings.css | 119 + assets/images/favicon.png | Bin 0 -> 1870 bytes assets/images/gen-release-notes.jpg | Bin 0 -> 73250 bytes .../ghactions-run-workflow-pypi-upload.png | Bin 0 -> 221264 bytes .../ghactions-run-workflow-svn-upload.png | Bin 0 -> 218863 bytes assets/images/iceberg-logo-icon.png | Bin 0 -> 17608 bytes assets/javascripts/bundle.fe8b6f2b.min.js | 29 + assets/javascripts/bundle.fe8b6f2b.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/stylesheets/main.3cba04c6.min.css | 1 + assets/stylesheets/main.3cba04c6.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + cli/index.html | 2483 +++ community/index.html | 2465 +++ configuration/index.html | 3512 ++++ contributing/index.html | 2609 +++ how-to-release/index.html | 2757 ++++ index.html | 2601 +++ objects.inv | Bin 0 -> 11426 bytes reference/SUMMARY/index.html | 2326 +++ .../pyiceberg/avro/codecs/bzip2/index.html | 2361 +++ .../pyiceberg/avro/codecs/codec/index.html | 2441 +++ .../pyiceberg/avro/codecs/deflate/index.html | 2361 +++ reference/pyiceberg/avro/codecs/index.html | 2322 +++ .../avro/codecs/snappy_codec/index.html | 2361 +++ .../avro/codecs/zstandard_codec/index.html | 2361 +++ reference/pyiceberg/avro/decoder/index.html | 3530 ++++ reference/pyiceberg/avro/encoder/index.html | 2904 ++++ reference/pyiceberg/avro/file/index.html | 3571 ++++ reference/pyiceberg/avro/index.html | 2314 +++ reference/pyiceberg/avro/reader/index.html | 4103 +++++ reference/pyiceberg/avro/resolver/index.html | 3175 ++++ reference/pyiceberg/avro/writer/index.html | 3229 ++++ .../pyiceberg/catalog/dynamodb/index.html | 5550 +++++++ reference/pyiceberg/catalog/glue/index.html | 5304 ++++++ reference/pyiceberg/catalog/hive/index.html | 5157 ++++++ reference/pyiceberg/catalog/index.html | 7249 ++++++++ reference/pyiceberg/catalog/noop/index.html | 2734 +++ reference/pyiceberg/catalog/rest/index.html | 4160 +++++ reference/pyiceberg/catalog/sql/index.html | 5796 +++++++ reference/pyiceberg/cli/console/index.html | 3563 ++++ reference/pyiceberg/cli/index.html | 2314 +++ reference/pyiceberg/cli/output/index.html | 2951 ++++ reference/pyiceberg/conversions/index.html | 2785 ++++ reference/pyiceberg/exceptions/index.html | 3365 ++++ reference/pyiceberg/expressions/index.html | 9331 +++++++++++ .../pyiceberg/expressions/literals/index.html | 4133 +++++ .../pyiceberg/expressions/parser/index.html | 2403 +++ .../pyiceberg/expressions/visitors/index.html | 5072 ++++++ reference/pyiceberg/index.html | 2312 +++ reference/pyiceberg/io/fsspec/index.html | 3956 +++++ reference/pyiceberg/io/index.html | 4146 +++++ reference/pyiceberg/io/pyarrow/index.html | 6335 +++++++ reference/pyiceberg/manifest/index.html | 4542 +++++ reference/pyiceberg/partitioning/index.html | 3946 +++++ reference/pyiceberg/schema/index.html | 10232 ++++++++++++ reference/pyiceberg/serializers/index.html | 3378 ++++ reference/pyiceberg/table/index.html | 13712 ++++++++++++++++ reference/pyiceberg/table/metadata/index.html | 5689 +++++++ .../pyiceberg/table/name_mapping/index.html | 3191 ++++ reference/pyiceberg/table/refs/index.html | 2539 +++ .../pyiceberg/table/snapshots/index.html | 3175 ++++ reference/pyiceberg/table/sorting/index.html | 3323 ++++ reference/pyiceberg/transforms/index.html | 5254 ++++++ reference/pyiceberg/typedef/index.html | 3481 ++++ reference/pyiceberg/types/index.html | 6722 ++++++++ .../pyiceberg/utils/bin_packing/index.html | 2675 +++ .../pyiceberg/utils/concurrent/index.html | 2569 +++ reference/pyiceberg/utils/config/index.html | 2810 ++++ reference/pyiceberg/utils/datetime/index.html | 3379 ++++ reference/pyiceberg/utils/decimal/index.html | 3181 ++++ .../pyiceberg/utils/deprecated/index.html | 2446 +++ reference/pyiceberg/utils/index.html | 2314 +++ reference/pyiceberg/utils/lazydict/index.html | 2693 +++ reference/pyiceberg/utils/parsing/index.html | 2447 +++ .../utils/schema_conversion/index.html | 3928 +++++ .../pyiceberg/utils/singleton/index.html | 2546 +++ reference/pyiceberg/utils/truncate/index.html | 2357 +++ search/search_index.json | 1 + sitemap.xml | 343 + sitemap.xml.gz | Bin 0 -> 670 bytes verify-release/index.html | 2499 +++ 122 files changed, 265846 insertions(+) create mode 100644 404.html create mode 100644 CNAME create mode 100644 SUMMARY/index.html create mode 100644 api/index.html create mode 100644 assets/_mkdocstrings.css create mode 100644 assets/images/favicon.png create mode 100644 assets/images/gen-release-notes.jpg create mode 100644 assets/images/ghactions-run-workflow-pypi-upload.png create mode 100644 assets/images/ghactions-run-workflow-svn-upload.png create mode 100644 assets/images/iceberg-logo-icon.png create mode 100644 assets/javascripts/bundle.fe8b6f2b.min.js create mode 100644 assets/javascripts/bundle.fe8b6f2b.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/stylesheets/main.3cba04c6.min.css create mode 100644 assets/stylesheets/main.3cba04c6.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 cli/index.html create mode 100644 community/index.html create mode 100644 configuration/index.html create mode 100644 contributing/index.html create mode 100644 how-to-release/index.html create mode 100644 index.html create mode 100644 objects.inv create mode 100644 reference/SUMMARY/index.html create mode 100644 reference/pyiceberg/avro/codecs/bzip2/index.html create mode 100644 reference/pyiceberg/avro/codecs/codec/index.html create mode 100644 reference/pyiceberg/avro/codecs/deflate/index.html create mode 100644 reference/pyiceberg/avro/codecs/index.html create mode 100644 reference/pyiceberg/avro/codecs/snappy_codec/index.html create mode 100644 reference/pyiceberg/avro/codecs/zstandard_codec/index.html create mode 100644 reference/pyiceberg/avro/decoder/index.html create mode 100644 reference/pyiceberg/avro/encoder/index.html create mode 100644 reference/pyiceberg/avro/file/index.html create mode 100644 reference/pyiceberg/avro/index.html create mode 100644 reference/pyiceberg/avro/reader/index.html create mode 100644 reference/pyiceberg/avro/resolver/index.html create mode 100644 reference/pyiceberg/avro/writer/index.html create mode 100644 reference/pyiceberg/catalog/dynamodb/index.html create mode 100644 reference/pyiceberg/catalog/glue/index.html create mode 100644 reference/pyiceberg/catalog/hive/index.html create mode 100644 reference/pyiceberg/catalog/index.html create mode 100644 reference/pyiceberg/catalog/noop/index.html create mode 100644 reference/pyiceberg/catalog/rest/index.html create mode 100644 reference/pyiceberg/catalog/sql/index.html create mode 100644 reference/pyiceberg/cli/console/index.html create mode 100644 reference/pyiceberg/cli/index.html create mode 100644 reference/pyiceberg/cli/output/index.html create mode 100644 reference/pyiceberg/conversions/index.html create mode 100644 reference/pyiceberg/exceptions/index.html create mode 100644 reference/pyiceberg/expressions/index.html create mode 100644 reference/pyiceberg/expressions/literals/index.html create mode 100644 reference/pyiceberg/expressions/parser/index.html create mode 100644 reference/pyiceberg/expressions/visitors/index.html create mode 100644 reference/pyiceberg/index.html create mode 100644 reference/pyiceberg/io/fsspec/index.html create mode 100644 reference/pyiceberg/io/index.html create mode 100644 reference/pyiceberg/io/pyarrow/index.html create mode 100644 reference/pyiceberg/manifest/index.html create mode 100644 reference/pyiceberg/partitioning/index.html create mode 100644 reference/pyiceberg/schema/index.html create mode 100644 reference/pyiceberg/serializers/index.html create mode 100644 reference/pyiceberg/table/index.html create mode 100644 reference/pyiceberg/table/metadata/index.html create mode 100644 reference/pyiceberg/table/name_mapping/index.html create mode 100644 reference/pyiceberg/table/refs/index.html create mode 100644 reference/pyiceberg/table/snapshots/index.html create mode 100644 reference/pyiceberg/table/sorting/index.html create mode 100644 reference/pyiceberg/transforms/index.html create mode 100644 reference/pyiceberg/typedef/index.html create mode 100644 reference/pyiceberg/types/index.html create mode 100644 reference/pyiceberg/utils/bin_packing/index.html create mode 100644 reference/pyiceberg/utils/concurrent/index.html create mode 100644 reference/pyiceberg/utils/config/index.html create mode 100644 reference/pyiceberg/utils/datetime/index.html create mode 100644 reference/pyiceberg/utils/decimal/index.html create mode 100644 reference/pyiceberg/utils/deprecated/index.html create mode 100644 reference/pyiceberg/utils/index.html create mode 100644 reference/pyiceberg/utils/lazydict/index.html create mode 100644 reference/pyiceberg/utils/parsing/index.html create mode 100644 reference/pyiceberg/utils/schema_conversion/index.html create mode 100644 reference/pyiceberg/utils/singleton/index.html create mode 100644 reference/pyiceberg/utils/truncate/index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 verify-release/index.html diff --git a/404.html b/404.html new file mode 100644 index 000000000..96e79b399 --- /dev/null +++ b/404.html @@ -0,0 +1,2230 @@ + + + + + + + + + + + + + + + + + + + PyIceberg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ +

404 - Not found

+ +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..0b63f25f6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +py.iceberg.apache.org diff --git a/SUMMARY/index.html b/SUMMARY/index.html new file mode 100644 index 000000000..88cbf0651 --- /dev/null +++ b/SUMMARY/index.html @@ -0,0 +1,2289 @@ + + + + + + + + + + + + + + + + + + + + + SUMMARY - PyIceberg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+ +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/api/index.html b/api/index.html new file mode 100644 index 000000000..81bc48c89 --- /dev/null +++ b/api/index.html @@ -0,0 +1,4143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + API - PyIceberg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + +

Python API

+

PyIceberg is based around catalogs to load tables. First step is to instantiate a catalog that loads tables. Let's use the following configuration to define a catalog called prod:

+
catalog:
+  prod:
+    uri: http://rest-catalog/ws/
+    credential: t-1234:secret
+
+

Note that multiple catalogs can be defined in the same .pyiceberg.yaml:

+
catalog:
+  hive:
+    uri: thrift://127.0.0.1:9083
+    s3.endpoint: http://127.0.0.1:9000
+    s3.access-key-id: admin
+    s3.secret-access-key: password
+  rest:
+    uri: https://rest-server:8181/
+    warehouse: my-warehouse
+
+

and loaded in python by calling load_catalog(name="hive") and load_catalog(name="rest").

+

This information must be placed inside a file called .pyiceberg.yaml located either in the $HOME or %USERPROFILE% directory (depending on whether the operating system is Unix-based or Windows-based, respectively) or in the $PYICEBERG_HOME directory (if the corresponding environment variable is set).

+

For more details on possible configurations refer to the specific page.

+

Then load the prod catalog:

+
from pyiceberg.catalog import load_catalog
+
+catalog = load_catalog(
+    "docs",
+    **{
+        "uri": "http://127.0.0.1:8181",
+        "s3.endpoint": "http://127.0.0.1:9000",
+        "py-io-impl": "pyiceberg.io.pyarrow.PyArrowFileIO",
+        "s3.access-key-id": "admin",
+        "s3.secret-access-key": "password",
+    }
+)
+
+

Let's create a namespace:

+
catalog.create_namespace("docs_example")
+
+

And then list them:

+
ns = catalog.list_namespaces()
+
+assert ns == [("docs_example",)]
+
+

And then list tables in the namespace:

+
catalog.list_tables("docs_example")
+
+

Create a table

+

To create a table from a catalog:

+
from pyiceberg.schema import Schema
+from pyiceberg.types import (
+    TimestampType,
+    FloatType,
+    DoubleType,
+    StringType,
+    NestedField,
+    StructType,
+)
+
+schema = Schema(
+    NestedField(field_id=1, name="datetime", field_type=TimestampType(), required=True),
+    NestedField(field_id=2, name="symbol", field_type=StringType(), required=True),
+    NestedField(field_id=3, name="bid", field_type=FloatType(), required=False),
+    NestedField(field_id=4, name="ask", field_type=DoubleType(), required=False),
+    NestedField(
+        field_id=5,
+        name="details",
+        field_type=StructType(
+            NestedField(
+                field_id=4, name="created_by", field_type=StringType(), required=False
+            ),
+        ),
+        required=False,
+    ),
+)
+
+from pyiceberg.partitioning import PartitionSpec, PartitionField
+from pyiceberg.transforms import DayTransform
+
+partition_spec = PartitionSpec(
+    PartitionField(
+        source_id=1, field_id=1000, transform=DayTransform(), name="datetime_day"
+    )
+)
+
+from pyiceberg.table.sorting import SortOrder, SortField
+from pyiceberg.transforms import IdentityTransform
+
+# Sort on the symbol
+sort_order = SortOrder(SortField(source_id=2, transform=IdentityTransform()))
+
+catalog.create_table(
+    identifier="docs_example.bids",
+    schema=schema,
+    location="s3://pyiceberg",
+    partition_spec=partition_spec,
+    sort_order=sort_order,
+)
+
+

To create a table using a pyarrow schema:

+
import pyarrow as pa
+
+schema = pa.schema(
+    [
+        pa.field("foo", pa.string(), nullable=True),
+        pa.field("bar", pa.int32(), nullable=False),
+        pa.field("baz", pa.bool_(), nullable=True),
+    ]
+)
+
+catalog.create_table(
+    identifier="docs_example.bids",
+    schema=schema,
+)
+
+

To create a table with some subsequent changes atomically in a transaction:

+
with catalog.create_table_transaction(
+    identifier="docs_example.bids",
+    schema=schema,
+    location="s3://pyiceberg",
+    partition_spec=partition_spec,
+    sort_order=sort_order,
+) as txn:
+    with txn.update_schema() as update_schema:
+        update_schema.add_column(path="new_column", field_type=StringType())
+
+    with txn.update_spec() as update_spec:
+        update_spec.add_identity("symbol")
+
+    txn.set_properties(test_a="test_aa", test_b="test_b", test_c="test_c")
+
+

Load a table

+

Catalog table

+

Loading the bids table:

+
table = catalog.load_table("docs_example.bids")
+# Equivalent to:
+table = catalog.load_table(("docs_example", "bids"))
+# The tuple syntax can be used if the namespace or table contains a dot.
+
+

This returns a Table that represents an Iceberg table that can be queried and altered.

+

Static table

+

To load a table directly from a metadata file (i.e., without using a catalog), you can use a StaticTable as follows:

+
from pyiceberg.table import StaticTable
+
+static_table = StaticTable.from_metadata(
+    "s3://warehouse/wh/nyc.db/taxis/metadata/00002-6ea51ce3-62aa-4197-9cf8-43d07c3440ca.metadata.json"
+)
+
+

The static-table is considered read-only.

+

Check if a table exists

+

To check whether the bids table exists:

+
catalog.table_exists("docs_example.bids")
+
+

Returns True if the table already exists.

+

Write support

+

With PyIceberg 0.6.0 write support is added through Arrow. Let's consider an Arrow Table:

+
import pyarrow as pa
+
+df = pa.Table.from_pylist(
+    [
+        {"city": "Amsterdam", "lat": 52.371807, "long": 4.896029},
+        {"city": "San Francisco", "lat": 37.773972, "long": -122.431297},
+        {"city": "Drachten", "lat": 53.11254, "long": 6.0989},
+        {"city": "Paris", "lat": 48.864716, "long": 2.349014},
+    ],
+)
+
+

Next, create a table based on the schema:

+
from pyiceberg.catalog import load_catalog
+
+catalog = load_catalog("default")
+
+from pyiceberg.schema import Schema
+from pyiceberg.types import NestedField, StringType, DoubleType
+
+schema = Schema(
+    NestedField(1, "city", StringType(), required=False),
+    NestedField(2, "lat", DoubleType(), required=False),
+    NestedField(3, "long", DoubleType(), required=False),
+)
+
+tbl = catalog.create_table("default.cities", schema=schema)
+
+

Now write the data to the table:

+ + +
+

Fast append

+

PyIceberg default to the fast append to minimize the amount of data written. This enables quick writes, reducing the possibility of conflicts. The downside of the fast append is that it creates more metadata than a normal commit. Compaction is planned and will automatically rewrite all the metadata when a threshold is hit, to maintain performant reads.

+
+ + +
tbl.append(df)
+
+# or
+
+tbl.overwrite(df)
+
+

The data is written to the table, and when the table is read using tbl.scan().to_arrow():

+
pyarrow.Table
+city: string
+lat: double
+long: double
+----
+city: [["Amsterdam","San Francisco","Drachten","Paris"]]
+lat: [[52.371807,37.773972,53.11254,48.864716]]
+long: [[4.896029,-122.431297,6.0989,2.349014]]
+
+

You both can use append(df) or overwrite(df) since there is no data yet. If we want to add more data, we can use .append() again:

+
df = pa.Table.from_pylist(
+    [{"city": "Groningen", "lat": 53.21917, "long": 6.56667}],
+)
+
+tbl.append(df)
+
+

When reading the table tbl.scan().to_arrow() you can see that Groningen is now also part of the table:

+
pyarrow.Table
+city: string
+lat: double
+long: double
+----
+city: [["Amsterdam","San Francisco","Drachten","Paris"],["Groningen"]]
+lat: [[52.371807,37.773972,53.11254,48.864716],[53.21917]]
+long: [[4.896029,-122.431297,6.0989,2.349014],[6.56667]]
+
+

The nested lists indicate the different Arrow buffers, where the first write results into a buffer, and the second append in a separate buffer. This is expected since it will read two parquet files.

+

To avoid any type errors during writing, you can enforce the PyArrow table types using the Iceberg table schema:

+
from pyiceberg.catalog import load_catalog
+import pyarrow as pa
+
+catalog = load_catalog("default")
+table = catalog.load_table("default.cities")
+schema = table.schema().as_arrow()
+
+df = pa.Table.from_pylist(
+    [{"city": "Groningen", "lat": 53.21917, "long": 6.56667}], schema=schema
+)
+
+table.append(df)
+
+

You can delete some of the data from the table by calling tbl.delete() with a desired delete_filter.

+
tbl.delete(delete_filter="city == 'Paris'")
+
+

In the above example, any records where the city field value equals to Paris will be deleted. +Running tbl.scan().to_arrow() will now yield:

+
pyarrow.Table
+city: string
+lat: double
+long: double
+----
+city: [["Amsterdam","San Francisco","Drachten"],["Groningen"]]
+lat: [[52.371807,37.773972,53.11254],[53.21917]]
+long: [[4.896029,-122.431297,6.0989],[6.56667]]
+
+

Inspecting tables

+

To explore the table metadata, tables can be inspected.

+ + +
+

Time Travel

+

To inspect a tables's metadata with the time travel feature, call the inspect table method with the snapshot_id argument. +Time travel is supported on all metadata tables except snapshots and refs.

+
table.inspect.entries(snapshot_id=805611270568163028)
+
+
+ + +

Snapshots

+

Inspect the snapshots of the table:

+
table.inspect.snapshots()
+
+
pyarrow.Table
+committed_at: timestamp[ms] not null
+snapshot_id: int64 not null
+parent_id: int64
+operation: string
+manifest_list: string not null
+summary: map<string, string>
+  child 0, entries: struct<key: string not null, value: string> not null
+      child 0, key: string not null
+      child 1, value: string
+----
+committed_at: [[2024-03-15 15:01:25.682,2024-03-15 15:01:25.730,2024-03-15 15:01:25.772]]
+snapshot_id: [[805611270568163028,3679426539959220963,5588071473139865870]]
+parent_id: [[null,805611270568163028,3679426539959220963]]
+operation: [["append","overwrite","append"]]
+manifest_list: [["s3://warehouse/default/table_metadata_snapshots/metadata/snap-805611270568163028-0-43637daf-ea4b-4ceb-b096-a60c25481eb5.avro","s3://warehouse/default/table_metadata_snapshots/metadata/snap-3679426539959220963-0-8be81019-adf1-4bb6-a127-e15217bd50b3.avro","s3://warehouse/default/table_metadata_snapshots/metadata/snap-5588071473139865870-0-1382dd7e-5fbc-4c51-9776-a832d7d0984e.avro"]]
+summary: [[keys:["added-files-size","added-data-files","added-records","total-data-files","total-delete-files","total-records","total-files-size","total-position-deletes","total-equality-deletes"]values:["5459","1","3","1","0","3","5459","0","0"],keys:["added-files-size","added-data-files","added-records","total-data-files","total-records",...,"total-equality-deletes","total-files-size","deleted-data-files","deleted-records","removed-files-size"]values:["5459","1","3","1","3",...,"0","5459","1","3","5459"],keys:["added-files-size","added-data-files","added-records","total-data-files","total-delete-files","total-records","total-files-size","total-position-deletes","total-equality-deletes"]values:["5459","1","3","2","0","6","10918","0","0"]]]
+
+

Partitions

+

Inspect the partitions of the table:

+
table.inspect.partitions()
+
+
pyarrow.Table
+partition: struct<dt_month: int32, dt_day: date32[day]> not null
+  child 0, dt_month: int32
+  child 1, dt_day: date32[day]
+spec_id: int32 not null
+record_count: int64 not null
+file_count: int32 not null
+total_data_file_size_in_bytes: int64 not null
+position_delete_record_count: int64 not null
+position_delete_file_count: int32 not null
+equality_delete_record_count: int64 not null
+equality_delete_file_count: int32 not null
+last_updated_at: timestamp[ms]
+last_updated_snapshot_id: int64
+----
+partition: [
+  -- is_valid: all not null
+  -- child 0 type: int32
+[null,null,612]
+  -- child 1 type: date32[day]
+[null,2021-02-01,null]]
+spec_id: [[2,1,0]]
+record_count: [[1,1,2]]
+file_count: [[1,1,2]]
+total_data_file_size_in_bytes: [[641,641,1260]]
+position_delete_record_count: [[0,0,0]]
+position_delete_file_count: [[0,0,0]]
+equality_delete_record_count: [[0,0,0]]
+equality_delete_file_count: [[0,0,0]]
+last_updated_at: [[2024-04-13 18:59:35.981,2024-04-13 18:59:35.465,2024-04-13 18:59:35.003]]
+
+

Entries

+

To show all the table's current manifest entries for both data and delete files.

+
table.inspect.entries()
+
+
pyarrow.Table
+status: int8 not null
+snapshot_id: int64 not null
+sequence_number: int64 not null
+file_sequence_number: int64 not null
+data_file: struct<content: int8 not null, file_path: string not null, file_format: string not null, partition: struct<> not null, record_count: int64 not null, file_size_in_bytes: int64 not null, column_sizes: map<int32, int64>, value_counts: map<int32, int64>, null_value_counts: map<int32, int64>, nan_value_counts: map<int32, int64>, lower_bounds: map<int32, binary>, upper_bounds: map<int32, binary>, key_metadata: binary, split_offsets: list<item: int64>, equality_ids: list<item: int32>, sort_order_id: int32> not null
+  child 0, content: int8 not null
+  child 1, file_path: string not null
+  child 2, file_format: string not null
+  child 3, partition: struct<> not null
+  child 4, record_count: int64 not null
+  child 5, file_size_in_bytes: int64 not null
+  child 6, column_sizes: map<int32, int64>
+      child 0, entries: struct<key: int32 not null, value: int64> not null
+          child 0, key: int32 not null
+          child 1, value: int64
+  child 7, value_counts: map<int32, int64>
+      child 0, entries: struct<key: int32 not null, value: int64> not null
+          child 0, key: int32 not null
+          child 1, value: int64
+  child 8, null_value_counts: map<int32, int64>
+      child 0, entries: struct<key: int32 not null, value: int64> not null
+          child 0, key: int32 not null
+          child 1, value: int64
+  child 9, nan_value_counts: map<int32, int64>
+      child 0, entries: struct<key: int32 not null, value: int64> not null
+          child 0, key: int32 not null
+          child 1, value: int64
+  child 10, lower_bounds: map<int32, binary>
+      child 0, entries: struct<key: int32 not null, value: binary> not null
+          child 0, key: int32 not null
+          child 1, value: binary
+  child 11, upper_bounds: map<int32, binary>
+      child 0, entries: struct<key: int32 not null, value: binary> not null
+          child 0, key: int32 not null
+          child 1, value: binary
+  child 12, key_metadata: binary
+  child 13, split_offsets: list<item: int64>
+      child 0, item: int64
+  child 14, equality_ids: list<item: int32>
+      child 0, item: int32
+  child 15, sort_order_id: int32
+readable_metrics: struct<city: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: string, upper_bound: string> not null, lat: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null, long: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null>
+  child 0, city: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: string, upper_bound: string> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: string
+      child 5, upper_bound: string
+  child 1, lat: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: double
+      child 5, upper_bound: double
+  child 2, long: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: double
+      child 5, upper_bound: double
+----
+status: [[1]]
+snapshot_id: [[6245626162224016531]]
+sequence_number: [[1]]
+file_sequence_number: [[1]]
+data_file: [
+  -- is_valid: all not null
+  -- child 0 type: int8
+[0]
+  -- child 1 type: string
+["s3://warehouse/default/cities/data/00000-0-80766b66-e558-4150-a5cf-85e4c609b9fe.parquet"]
+  -- child 2 type: string
+["PARQUET"]
+  -- child 3 type: struct<>
+    -- is_valid: all not null
+  -- child 4 type: int64
+[4]
+  -- child 5 type: int64
+[1656]
+  -- child 6 type: map<int32, int64>
+[keys:[1,2,3]values:[140,135,135]]
+  -- child 7 type: map<int32, int64>
+[keys:[1,2,3]values:[4,4,4]]
+  -- child 8 type: map<int32, int64>
+[keys:[1,2,3]values:[0,0,0]]
+  -- child 9 type: map<int32, int64>
+[keys:[]values:[]]
+  -- child 10 type: map<int32, binary>
+[keys:[1,2,3]values:[416D7374657264616D,8602B68311E34240,3A77BB5E9A9B5EC0]]
+  -- child 11 type: map<int32, binary>
+[keys:[1,2,3]values:[53616E204672616E636973636F,F5BEF1B5678E4A40,304CA60A46651840]]
+  -- child 12 type: binary
+[null]
+  -- child 13 type: list<item: int64>
+[[4]]
+  -- child 14 type: list<item: int32>
+[null]
+  -- child 15 type: int32
+[null]]
+readable_metrics: [
+  -- is_valid: all not null
+  -- child 0 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: string, upper_bound: string>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[140]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: string
+["Amsterdam"]
+    -- child 5 type: string
+["San Francisco"]
+  -- child 1 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[135]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: double
+[37.773972]
+    -- child 5 type: double
+[53.11254]
+  -- child 2 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[135]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: double
+[-122.431297]
+    -- child 5 type: double
+[6.0989]]
+
+

References

+

To show a table's known snapshot references:

+
table.inspect.refs()
+
+
pyarrow.Table
+name: string not null
+type: string not null
+snapshot_id: int64 not null
+max_reference_age_in_ms: int64
+min_snapshots_to_keep: int32
+max_snapshot_age_in_ms: int64
+----
+name: [["main","testTag"]]
+type: [["BRANCH","TAG"]]
+snapshot_id: [[2278002651076891950,2278002651076891950]]
+max_reference_age_in_ms: [[null,604800000]]
+min_snapshots_to_keep: [[null,10]]
+max_snapshot_age_in_ms: [[null,604800000]]
+
+

Manifests

+

To show a table's current file manifests:

+
table.inspect.manifests()
+
+
pyarrow.Table
+content: int8 not null
+path: string not null
+length: int64 not null
+partition_spec_id: int32 not null
+added_snapshot_id: int64 not null
+added_data_files_count: int32 not null
+existing_data_files_count: int32 not null
+deleted_data_files_count: int32 not null
+added_delete_files_count: int32 not null
+existing_delete_files_count: int32 not null
+deleted_delete_files_count: int32 not null
+partition_summaries: list<item: struct<contains_null: bool not null, contains_nan: bool, lower_bound: string, upper_bound: string>> not null
+  child 0, item: struct<contains_null: bool not null, contains_nan: bool, lower_bound: string, upper_bound: string>
+      child 0, contains_null: bool not null
+      child 1, contains_nan: bool
+      child 2, lower_bound: string
+      child 3, upper_bound: string
+----
+content: [[0]]
+path: [["s3://warehouse/default/table_metadata_manifests/metadata/3bf5b4c6-a7a4-4b43-a6ce-ca2b4887945a-m0.avro"]]
+length: [[6886]]
+partition_spec_id: [[0]]
+added_snapshot_id: [[3815834705531553721]]
+added_data_files_count: [[1]]
+existing_data_files_count: [[0]]
+deleted_data_files_count: [[0]]
+added_delete_files_count: [[0]]
+existing_delete_files_count: [[0]]
+deleted_delete_files_count: [[0]]
+partition_summaries: [[    -- is_valid: all not null
+    -- child 0 type: bool
+[false]
+    -- child 1 type: bool
+[false]
+    -- child 2 type: string
+["test"]
+    -- child 3 type: string
+["test"]]]
+
+

Metadata Log Entries

+

To show table metadata log entries:

+
table.inspect.metadata_log_entries()
+
+
pyarrow.Table
+timestamp: timestamp[ms] not null
+file: string not null
+latest_snapshot_id: int64
+latest_schema_id: int32
+latest_sequence_number: int64
+----
+timestamp: [[2024-04-28 17:03:00.214,2024-04-28 17:03:00.352,2024-04-28 17:03:00.445,2024-04-28 17:03:00.498]]
+file: [["s3://warehouse/default/table_metadata_log_entries/metadata/00000-0b3b643b-0f3a-4787-83ad-601ba57b7319.metadata.json","s3://warehouse/default/table_metadata_log_entries/metadata/00001-f74e4b2c-0f89-4f55-822d-23d099fd7d54.metadata.json","s3://warehouse/default/table_metadata_log_entries/metadata/00002-97e31507-e4d9-4438-aff1-3c0c5304d271.metadata.json","s3://warehouse/default/table_metadata_log_entries/metadata/00003-6c8b7033-6ad8-4fe4-b64d-d70381aeaddc.metadata.json"]]
+latest_snapshot_id: [[null,3958871664825505738,1289234307021405706,7640277914614648349]]
+latest_schema_id: [[null,0,0,0]]
+latest_sequence_number: [[null,0,0,0]]
+
+

History

+

To show a table's history:

+
table.inspect.history()
+
+
pyarrow.Table
+made_current_at: timestamp[ms] not null
+snapshot_id: int64 not null
+parent_id: int64
+is_current_ancestor: bool not null
+----
+made_current_at: [[2024-06-18 16:17:48.768,2024-06-18 16:17:49.240,2024-06-18 16:17:49.343,2024-06-18 16:17:49.511]]
+snapshot_id: [[4358109269873137077,3380769165026943338,4358109269873137077,3089420140651211776]]
+parent_id: [[null,4358109269873137077,null,4358109269873137077]]
+is_current_ancestor: [[true,false,true,true]]
+
+

Files

+

Inspect the data files in the current snapshot of the table:

+
table.inspect.files()
+
+
pyarrow.Table
+content: int8 not null
+file_path: string not null
+file_format: dictionary<values=string, indices=int32, ordered=0> not null
+spec_id: int32 not null
+record_count: int64 not null
+file_size_in_bytes: int64 not null
+column_sizes: map<int32, int64>
+  child 0, entries: struct<key: int32 not null, value: int64> not null
+      child 0, key: int32 not null
+      child 1, value: int64
+value_counts: map<int32, int64>
+  child 0, entries: struct<key: int32 not null, value: int64> not null
+      child 0, key: int32 not null
+      child 1, value: int64
+null_value_counts: map<int32, int64>
+  child 0, entries: struct<key: int32 not null, value: int64> not null
+      child 0, key: int32 not null
+      child 1, value: int64
+nan_value_counts: map<int32, int64>
+  child 0, entries: struct<key: int32 not null, value: int64> not null
+      child 0, key: int32 not null
+      child 1, value: int64
+lower_bounds: map<int32, binary>
+  child 0, entries: struct<key: int32 not null, value: binary> not null
+      child 0, key: int32 not null
+      child 1, value: binary
+upper_bounds: map<int32, binary>
+  child 0, entries: struct<key: int32 not null, value: binary> not null
+      child 0, key: int32 not null
+      child 1, value: binary
+key_metadata: binary
+split_offsets: list<item: int64>
+  child 0, item: int64
+equality_ids: list<item: int32>
+  child 0, item: int32
+sort_order_id: int32
+readable_metrics: struct<city: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: large_string, upper_bound: large_string> not null, lat: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null, long: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null>
+  child 0, city: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: string, upper_bound: string> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: large_string
+      child 5, upper_bound: large_string
+  child 1, lat: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: double
+      child 5, upper_bound: double
+  child 2, long: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double> not null
+      child 0, column_size: int64
+      child 1, value_count: int64
+      child 2, null_value_count: int64
+      child 3, nan_value_count: int64
+      child 4, lower_bound: double
+      child 5, upper_bound: double
+----
+content: [[0,0]]
+file_path: [["s3://warehouse/default/table_metadata_files/data/00000-0-9ea7d222-6457-467f-bad5-6fb125c9aa5f.parquet","s3://warehouse/default/table_metadata_files/data/00000-0-afa8893c-de71-4710-97c9-6b01590d0c44.parquet"]]
+file_format: [["PARQUET","PARQUET"]]
+spec_id: [[0,0]]
+record_count: [[3,3]]
+file_size_in_bytes: [[5459,5459]]
+column_sizes: [[keys:[1,2,3,4,5,...,8,9,10,11,12]values:[49,78,128,94,118,...,118,118,94,78,109],keys:[1,2,3,4,5,...,8,9,10,11,12]values:[49,78,128,94,118,...,118,118,94,78,109]]]
+value_counts: [[keys:[1,2,3,4,5,...,8,9,10,11,12]values:[3,3,3,3,3,...,3,3,3,3,3],keys:[1,2,3,4,5,...,8,9,10,11,12]values:[3,3,3,3,3,...,3,3,3,3,3]]]
+null_value_counts: [[keys:[1,2,3,4,5,...,8,9,10,11,12]values:[1,1,1,1,1,...,1,1,1,1,1],keys:[1,2,3,4,5,...,8,9,10,11,12]values:[1,1,1,1,1,...,1,1,1,1,1]]]
+nan_value_counts: [[keys:[]values:[],keys:[]values:[]]]
+lower_bounds: [[keys:[1,2,3,4,5,...,8,9,10,11,12]values:[00,61,61616161616161616161616161616161,01000000,0100000000000000,...,009B6ACA38F10500,009B6ACA38F10500,9E4B0000,01,00000000000000000000000000000000],keys:[1,2,3,4,5,...,8,9,10,11,12]values:[00,61,61616161616161616161616161616161,01000000,0100000000000000,...,009B6ACA38F10500,009B6ACA38F10500,9E4B0000,01,00000000000000000000000000000000]]]
+upper_bounds:[[keys:[1,2,3,4,5,...,8,9,10,11,12]values:[00,61,61616161616161616161616161616161,01000000,0100000000000000,...,009B6ACA38F10500,009B6ACA38F10500,9E4B0000,01,00000000000000000000000000000000],keys:[1,2,3,4,5,...,8,9,10,11,12]values:[00,61,61616161616161616161616161616161,01000000,0100000000000000,...,009B6ACA38F10500,009B6ACA38F10500,9E4B0000,01,00000000000000000000000000000000]]]
+key_metadata: [[0100,0100]]
+split_offsets:[[[],[]]]
+equality_ids:[[[],[]]]
+sort_order_id:[[[],[]]]
+readable_metrics: [
+  -- is_valid: all not null
+  -- child 0 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: large_string, upper_bound: large_string>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[140]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: large_string
+["Amsterdam"]
+    -- child 5 type: large_string
+["San Francisco"]
+  -- child 1 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[135]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: double
+[37.773972]
+    -- child 5 type: double
+[53.11254]
+  -- child 2 type: struct<column_size: int64, value_count: int64, null_value_count: int64, nan_value_count: int64, lower_bound: double, upper_bound: double>
+    -- is_valid: all not null
+    -- child 0 type: int64
+[135]
+    -- child 1 type: int64
+[4]
+    -- child 2 type: int64
+[0]
+    -- child 3 type: int64
+[null]
+    -- child 4 type: double
+[-122.431297]
+    -- child 5 type: double
+[6.0989]]
+
+

Add Files

+

Expert Iceberg users may choose to commit existing parquet files to the Iceberg table as data files, without rewriting them.

+
# Given that these parquet files have schema consistent with the Iceberg table
+
+file_paths = [
+    "s3a://warehouse/default/existing-1.parquet",
+    "s3a://warehouse/default/existing-2.parquet",
+]
+
+# They can be added to the table without rewriting them
+
+tbl.add_files(file_paths=file_paths)
+
+# A new snapshot is committed to the table with manifests pointing to the existing parquet files
+
+ + +
+

Name Mapping

+

Because add_files uses existing files without writing new parquet files that are aware of the Iceberg's schema, it requires the Iceberg's table to have a Name Mapping (The Name mapping maps the field names within the parquet files to the Iceberg field IDs). Hence, add_files requires that there are no field IDs in the parquet file's metadata, and creates a new Name Mapping based on the table's current schema if the table doesn't already have one.

+
+
+

Partitions

+

add_files only requires the client to read the existing parquet files' metadata footer to infer the partition value of each file. This implementation also supports adding files to Iceberg tables with partition transforms like MonthTransform, and TruncateTransform which preserve the order of the values after the transformation (Any Transform that has the preserves_order property set to True is supported). Please note that if the column statistics of the PartitionField's source column are not present in the parquet metadata, the partition value is inferred as None.

+
+
+

Maintenance Operations

+

Because add_files commits the existing parquet files to the Iceberg Table as any other data file, destructive maintenance operations like expiring snapshots will remove them.

+
+ + +

Schema evolution

+

PyIceberg supports full schema evolution through the Python API. It takes care of setting the field-IDs and makes sure that only non-breaking changes are done (can be overriden).

+

In the examples below, the .update_schema() is called from the table itself.

+
with table.update_schema() as update:
+    update.add_column("some_field", IntegerType(), "doc")
+
+

You can also initiate a transaction if you want to make more changes than just evolving the schema:

+
with table.transaction() as transaction:
+    with transaction.update_schema() as update_schema:
+        update.add_column("some_other_field", IntegerType(), "doc")
+    # ... Update properties etc
+
+

Union by Name

+

Using .union_by_name() you can merge another schema into an existing schema without having to worry about field-IDs:

+
from pyiceberg.catalog import load_catalog
+from pyiceberg.schema import Schema
+from pyiceberg.types import NestedField, StringType, DoubleType, LongType
+
+catalog = load_catalog()
+
+schema = Schema(
+    NestedField(1, "city", StringType(), required=False),
+    NestedField(2, "lat", DoubleType(), required=False),
+    NestedField(3, "long", DoubleType(), required=False),
+)
+
+table = catalog.create_table("default.locations", schema)
+
+new_schema = Schema(
+    NestedField(1, "city", StringType(), required=False),
+    NestedField(2, "lat", DoubleType(), required=False),
+    NestedField(3, "long", DoubleType(), required=False),
+    NestedField(10, "population", LongType(), required=False),
+)
+
+with table.update_schema() as update:
+    update.union_by_name(new_schema)
+
+

Now the table has the union of the two schemas print(table.schema()):

+
table {
+  1: city: optional string
+  2: lat: optional double
+  3: long: optional double
+  4: population: optional long
+}
+
+

Add column

+

Using add_column you can add a column, without having to worry about the field-id:

+
with table.update_schema() as update:
+    update.add_column("retries", IntegerType(), "Number of retries to place the bid")
+    # In a struct
+    update.add_column("details.confirmed_by", StringType(), "Name of the exchange")
+
+

Rename column

+

Renaming a field in an Iceberg table is simple:

+
with table.update_schema() as update:
+    update.rename_column("retries", "num_retries")
+    # This will rename `confirmed_by` to `exchange`
+    update.rename_column("properties.confirmed_by", "exchange")
+
+

Move column

+

Move a field inside of struct:

+
with table.update_schema() as update:
+    update.move_first("symbol")
+    update.move_after("bid", "ask")
+    # This will move `confirmed_by` before `exchange`
+    update.move_before("details.created_by", "details.exchange")
+
+

Update column

+

Update a fields' type, description or required.

+
with table.update_schema() as update:
+    # Promote a float to a double
+    update.update_column("bid", field_type=DoubleType())
+    # Make a field optional
+    update.update_column("symbol", required=False)
+    # Update the documentation
+    update.update_column("symbol", doc="Name of the share on the exchange")
+
+

Be careful, some operations are not compatible, but can still be done at your own risk by setting allow_incompatible_changes:

+
with table.update_schema(allow_incompatible_changes=True) as update:
+    # Incompatible change, cannot require an optional field
+    update.update_column("symbol", required=True)
+
+

Delete column

+

Delete a field, careful this is a incompatible change (readers/writers might expect this field):

+
with table.update_schema(allow_incompatible_changes=True) as update:
+    update.delete_column("some_field")
+
+

Partition evolution

+

PyIceberg supports partition evolution. See the partition evolution +for more details.

+

The API to use when evolving partitions is the update_spec API on the table.

+
with table.update_spec() as update:
+    update.add_field("id", BucketTransform(16), "bucketed_id")
+    update.add_field("event_ts", DayTransform(), "day_ts")
+
+

Updating the partition spec can also be done as part of a transaction with other operations.

+
with table.transaction() as transaction:
+    with transaction.update_spec() as update_spec:
+        update_spec.add_field("id", BucketTransform(16), "bucketed_id")
+        update_spec.add_field("event_ts", DayTransform(), "day_ts")
+    # ... Update properties etc
+
+

Add fields

+

New partition fields can be added via the add_field API which takes in the field name to partition on, +the partition transform, and an optional partition name. If the partition name is not specified, +one will be created.

+
with table.update_spec() as update:
+    update.add_field("id", BucketTransform(16), "bucketed_id")
+    update.add_field("event_ts", DayTransform(), "day_ts")
+    # identity is a shortcut API for adding an IdentityTransform
+    update.identity("some_field")
+
+

Remove fields

+

Partition fields can also be removed via the remove_field API if it no longer makes sense to partition on those fields.

+
with table.update_spec() as update:some_partition_name
+    # Remove the partition field with the name
+    update.remove_field("some_partition_name")
+
+

Rename fields

+

Partition fields can also be renamed via the rename_field API.

+
with table.update_spec() as update:
+    # Rename the partition field with the name bucketed_id to sharded_id
+    update.rename_field("bucketed_id", "sharded_id")
+
+

Table properties

+

Set and remove properties through the Transaction API:

+
with table.transaction() as transaction:
+    transaction.set_properties(abc="def")
+
+assert table.properties == {"abc": "def"}
+
+with table.transaction() as transaction:
+    transaction.remove_properties("abc")
+
+assert table.properties == {}
+
+

Or, without context manager:

+
table = table.transaction().set_properties(abc="def").commit_transaction()
+
+assert table.properties == {"abc": "def"}
+
+table = table.transaction().remove_properties("abc").commit_transaction()
+
+assert table.properties == {}
+
+

Snapshot properties

+

Optionally, Snapshot properties can be set while writing to a table using append or overwrite API:

+
tbl.append(df, snapshot_properties={"abc": "def"})
+
+# or
+
+tbl.overwrite(df, snapshot_properties={"abc": "def"})
+
+assert tbl.metadata.snapshots[-1].summary["abc"] == "def"
+
+

Snapshot Management

+

Manage snapshots with operations through the Table API:

+
# To run a specific operation
+table.manage_snapshots().create_tag(snapshot_id, "tag123").commit()
+# To run multiple operations
+table.manage_snapshots()
+    .create_tag(snapshot_id1, "tag123")
+    .create_tag(snapshot_id2, "tag456")
+    .commit()
+# Operations are applied on commit.
+
+

You can also use context managers to make more changes:

+
with table.manage_snapshots() as ms:
+    ms.create_branch(snapshot_id1, "Branch_A").create_tag(snapshot_id2, "tag789")
+
+

Query the data

+

To query a table, a table scan is needed. A table scan accepts a filter, columns, optionally a limit and a snapshot ID:

+
from pyiceberg.catalog import load_catalog
+from pyiceberg.expressions import GreaterThanOrEqual
+
+catalog = load_catalog("default")
+table = catalog.load_table("nyc.taxis")
+
+scan = table.scan(
+    row_filter=GreaterThanOrEqual("trip_distance", 10.0),
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+    limit=100,
+)
+
+# Or filter using a string predicate
+scan = table.scan(
+    row_filter="trip_distance > 10.0",
+)
+
+[task.file.file_path for task in scan.plan_files()]
+
+

The low level API plan_files methods returns a set of tasks that provide the files that might contain matching rows:

+
[
+  "s3://warehouse/wh/nyc/taxis/data/00003-4-42464649-92dd-41ad-b83b-dea1a2fe4b58-00001.parquet"
+]
+
+

In this case it is up to the engine itself to filter the file itself. Below, to_arrow() and to_duckdb() that already do this for you.

+

Apache Arrow

+ + +
+

Requirements

+

This requires pyarrow to be installed.

+
+ + +

Using PyIceberg it is filter out data from a huge table and pull it into a PyArrow table:

+
table.scan(
+    row_filter=GreaterThanOrEqual("trip_distance", 10.0),
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+).to_arrow()
+
+

This will return a PyArrow table:

+
pyarrow.Table
+VendorID: int64
+tpep_pickup_datetime: timestamp[us, tz=+00:00]
+tpep_dropoff_datetime: timestamp[us, tz=+00:00]
+----
+VendorID: [[2,1,2,1,1,...,2,2,2,2,2],[2,1,1,1,2,...,1,1,2,1,2],...,[2,2,2,2,2,...,2,6,6,2,2],[2,2,2,2,2,...,2,2,2,2,2]]
+tpep_pickup_datetime: [[2021-04-01 00:28:05.000000,...,2021-04-30 23:44:25.000000]]
+tpep_dropoff_datetime: [[2021-04-01 00:47:59.000000,...,2021-05-01 00:14:47.000000]]
+
+

This will only pull in the files that that might contain matching rows.

+

One can also return a PyArrow RecordBatchReader, if reading one record batch at a time is preferred:

+
table.scan(
+    row_filter=GreaterThanOrEqual("trip_distance", 10.0),
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+).to_arrow_batch_reader()
+
+

Pandas

+ + +
+

Requirements

+

This requires pandas to be installed.

+
+ + +

PyIceberg makes it easy to filter out data from a huge table and pull it into a Pandas dataframe locally. This will only fetch the relevant Parquet files for the query and apply the filter. This will reduce IO and therefore improve performance and reduce cost.

+
table.scan(
+    row_filter="trip_distance >= 10.0",
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+).to_pandas()
+
+

This will return a Pandas dataframe:

+
        VendorID      tpep_pickup_datetime     tpep_dropoff_datetime
+0              2 2021-04-01 00:28:05+00:00 2021-04-01 00:47:59+00:00
+1              1 2021-04-01 00:39:01+00:00 2021-04-01 00:57:39+00:00
+2              2 2021-04-01 00:14:42+00:00 2021-04-01 00:42:59+00:00
+3              1 2021-04-01 00:17:17+00:00 2021-04-01 00:43:38+00:00
+4              1 2021-04-01 00:24:04+00:00 2021-04-01 00:56:20+00:00
+...          ...                       ...                       ...
+116976         2 2021-04-30 23:56:18+00:00 2021-05-01 00:29:13+00:00
+116977         2 2021-04-30 23:07:41+00:00 2021-04-30 23:37:18+00:00
+116978         2 2021-04-30 23:38:28+00:00 2021-05-01 00:12:04+00:00
+116979         2 2021-04-30 23:33:00+00:00 2021-04-30 23:59:00+00:00
+116980         2 2021-04-30 23:44:25+00:00 2021-05-01 00:14:47+00:00
+
+[116981 rows x 3 columns]
+
+

It is recommended to use Pandas 2 or later, because it stores the data in an Apache Arrow backend which avoids copies of data.

+

DuckDB

+ + +
+

Requirements

+

This requires DuckDB to be installed.

+
+ + +

A table scan can also be converted into a in-memory DuckDB table:

+
con = table.scan(
+    row_filter=GreaterThanOrEqual("trip_distance", 10.0),
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+).to_duckdb(table_name="distant_taxi_trips")
+
+

Using the cursor that we can run queries on the DuckDB table:

+
print(
+    con.execute(
+        "SELECT tpep_dropoff_datetime - tpep_pickup_datetime AS duration FROM distant_taxi_trips LIMIT 4"
+    ).fetchall()
+)
+[
+    (datetime.timedelta(seconds=1194),),
+    (datetime.timedelta(seconds=1118),),
+    (datetime.timedelta(seconds=1697),),
+    (datetime.timedelta(seconds=1581),),
+]
+
+

Ray

+ + +
+

Requirements

+

This requires Ray to be installed.

+
+ + +

A table scan can also be converted into a Ray dataset:

+
ray_dataset = table.scan(
+    row_filter=GreaterThanOrEqual("trip_distance", 10.0),
+    selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"),
+).to_ray()
+
+

This will return a Ray dataset:

+
Dataset(
+    num_blocks=1,
+    num_rows=1168798,
+    schema={
+        VendorID: int64,
+        tpep_pickup_datetime: timestamp[us, tz=UTC],
+        tpep_dropoff_datetime: timestamp[us, tz=UTC]
+    }
+)
+
+

Using Ray Dataset API to interact with the dataset:

+
print(ray_dataset.take(2))
+[
+    {
+        "VendorID": 2,
+        "tpep_pickup_datetime": datetime.datetime(2008, 12, 31, 23, 23, 50),
+        "tpep_dropoff_datetime": datetime.datetime(2009, 1, 1, 0, 34, 31),
+    },
+    {
+        "VendorID": 2,
+        "tpep_pickup_datetime": datetime.datetime(2008, 12, 31, 23, 5, 3),
+        "tpep_dropoff_datetime": datetime.datetime(2009, 1, 1, 16, 10, 18),
+    },
+]
+
+

Daft

+

PyIceberg interfaces closely with Daft Dataframes (see also: Daft integration with Iceberg) which provides a full lazily optimized query engine interface on top of PyIceberg tables.

+ + +
+

Requirements

+

This requires Daft to be installed.

+
+ + +

A table can be read easily into a Daft Dataframe:

+
df = table.to_daft()  # equivalent to `daft.read_iceberg(table)`
+df = df.where(df["trip_distance"] >= 10.0)
+df = df.select("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime")
+
+

This returns a Daft Dataframe which is lazily materialized. Printing df will display the schema:

+
╭──────────┬───────────────────────────────┬───────────────────────────────╮
+│ VendorID ┆ tpep_pickup_datetime          ┆ tpep_dropoff_datetime         │
+│ ---      ┆ ---                           ┆ ---                           │
+│ Int64    ┆ Timestamp(Microseconds, None) ┆ Timestamp(Microseconds, None) │
+╰──────────┴───────────────────────────────┴───────────────────────────────╯
+
+(No data to display: Dataframe not materialized)
+
+

We can execute the Dataframe to preview the first few rows of the query with df.show().

+

This is correctly optimized to take advantage of Iceberg features such as hidden partitioning and file-level statistics for efficient reads.

+
df.show(2)
+
+
╭──────────┬───────────────────────────────┬───────────────────────────────╮
+│ VendorID ┆ tpep_pickup_datetime          ┆ tpep_dropoff_datetime         │
+│ ---      ┆ ---                           ┆ ---                           │
+│ Int64    ┆ Timestamp(Microseconds, None) ┆ Timestamp(Microseconds, None) │
+╞══════════╪═══════════════════════════════╪═══════════════════════════════╡
+│ 2        ┆ 2008-12-31T23:23:50.000000    ┆ 2009-01-01T00:34:31.000000    │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ 2        ┆ 2008-12-31T23:05:03.000000    ┆ 2009-01-01T16:10:18.000000    │
+╰──────────┴───────────────────────────────┴───────────────────────────────╯
+
+(Showing first 2 rows)
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + \ No newline at end of file diff --git a/assets/_mkdocstrings.css b/assets/_mkdocstrings.css new file mode 100644 index 000000000..85449ec79 --- /dev/null +++ b/assets/_mkdocstrings.css @@ -0,0 +1,119 @@ + +/* 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; +} + +/* Backward-compatibility: docstring section titles in bold. */ +.doc-section-title { + font-weight: bold; +} + +/* 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"; +} + +.doc-signature .autorefs { + color: inherit; + border-bottom: 1px dotted currentcolor; +} 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/images/gen-release-notes.jpg b/assets/images/gen-release-notes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5842e4bf090f0aff1e9014633999f950947f9fe GIT binary patch literal 73250 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 D%}%RJ literal 0 HcmV?d00001 diff --git a/assets/images/ghactions-run-workflow-pypi-upload.png b/assets/images/ghactions-run-workflow-pypi-upload.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1476b5dca0cd9d32da138a6d2f9dd9a1cedce6 GIT binary patch literal 221264 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%0DSp} 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 z z(fNE`dpX0&&1OCyPA>W*D(#S+55eND%!JxKe5&P(Ff!1wTf5)rh#XVSr71>zmgXU^&B8oaTLU*9za zt>oQIuzD@ElF$bD;HqLS4}%ge%61<0O25#ZuT#+N0%LbsG`5%|v;4>Mrn$4cCpUV& z-8QtQ6mQz9lc2g^=`t=EnejwSpPZEPsj99Pz zE2NxF4=3wkggA3t;VM;XW_B+rvyses#|+God4!cc({wRikg@dGyMzvB{M9{fLo)U* zL$V$n#44j3V)6K?`{kvvBq!>2qV_(#J{-o-cYY;zo=tfql|lIsEXksgF8cIxU( zb$=K;@okl}=g-5A$$VvIS|d4JZUtmX!fuC!QLpqMBu}IB@1A^$bz2oreA~)eTA4t{ zg9uXo>_|6mK?~m_nZXg&4>HJX@TGyI1P&@q)z+qN&CN79L5lQA3ybQSXveTG2hOUV zx`rxe4f8w9ULgEq{$6zK&O1DRFwhjWYFUq{YU?}<>GoNq0uJPLCI)Le9fz_MXVu{A z-|7;KSMc^?Om8g#?0hVZaMf0R6^YZ4V4Y_bnX)HuyVC&baI&@;Vdij`x(_sVlfE;39e%tyQr;ZYQg-#xnbV;M*G2s4#y_9lgGV<&qWDP? zOxC~N>{-x#UOlrUNL@aLN~c^DR>6xxY)g+Uoc#Xh`}AvT+g$|-R8e{r%vZ$@9wpkK zR2+{c-?L^}u~sGBusLQUTDeStq_nR+T{xq%@&jxN2}Q4gi)!^WYxT|2LQ9aw5C%sN zskbXbOuANTB_d-Ye9{Rjt-N)1*fQ~XF~uYTg*a8avT_GOV?RLO)~ZDpSrSc;YL%zv0>Iq{CHAj-hHq_8C zKMHBm(gYPZT|<}soR3erdFb^r4Xoy#-QG~&Kxgc|O8rQhqR_>-6ODvduqV@JJ=6U# zhPr(1gMb77`-j{sYVl?3w#!Yzx8dB!e%D>0Qq2-uat~b8M~o}a7?4uE?RE~F6E>`i zjDm~2=g@cTi5sMFIaIZjlKcc(L&SqgT_>ZNd9IA5MCREd`H9DO`(F>`rhE27Adh zN~#=jc(657MWv=Q*%q_OYx~G~>ic}wVLoS1ELJu?J_CT9sZ9w$PQbW3W5||IVV#lW zn}Sw->0+{oL)_Jug9S%>zJ)Jte_6l8pm^%kFwC7vJDM?J=>Suef*QU{*${Q1O0Ak5 zw)N5cy5gSMtWb8qGlvO5~!<7j9w)?C|TUvahiq(74QX({dBHlQU8zo-2Kjd-f9*8>Tlo);E|uiED_$;{O6L1 zGJPrSaV!t>u%^9_f>?HFi+a^;;{@g9w#nn+kP}K*?L%@|id&wqb88^Tv;^%cWpYyM z@u^MA0C{kBs@R4fl^wiSl#}z`n$EE9O%}8RlEYeaC(Y4FLs1E5 z={zh*jGDpF4Ut32c(r0>^I>&WIqaO`XwgQDjx6-99}Z+fH*Yy@my}c;OOTAE6n-GK zixDnQr_VlOkxQSgPB!*D=3C5jA!rzn#j*mcYA0%IB5S{%L`?XUCIAj)`<1J<5pPO% ze7Ml?0sQ1yYb|OfIYY)dLWH@zTA*B@`yAlMTlDTr7iCKWd1h)55ib@^I}z`L{Uo$(YTQR9-H->)ky|b{ zXIrdOZbBN>ZyN1mu$lEK7M=o0mEXqW<}YqD=`>3L;s8rI2VIb0+> z)82FBd?||LyCOt&=7o=GsB$|@$jC>RY>ad=du0c}U)2r-IHdK@MxuyHGfRQFs-=$H zU>LO18P+Ge^V3H8(x{j1=zT!TGBJ$jM4GG0sE=(msKI6~Y`g%bknyf@Q3w|~DG535 zuTKYv=D`aC4%MKhcrLViMsgSZ!jzcmn$l0tw!&$SE#}h6L}T8o78MxsF+o=&y+o@j zos6eCx*s^L0i1pXGnUdflW%BkRe*^*^C77(YpsE)-Oy*mup z<7RT!E4_(&)<=2h{o$rn3OE%BVFmN8BfmD68@A@p2 t5MDGS48`g{_)+Tv(Zj1a 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 literal 0 HcmV?d00001 diff --git a/assets/images/iceberg-logo-icon.png b/assets/images/iceberg-logo-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a99c3951e6aa99d6e44575f236f32aeb5710eb GIT binary patch literal 17608 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 literal 0 HcmV?d00001 diff --git a/assets/javascripts/bundle.fe8b6f2b.min.js b/assets/javascripts/bundle.fe8b6f2b.min.js new file mode 100644 index 000000000..cf778d428 --- /dev/null +++ b/assets/javascripts/bundle.fe8b6f2b.min.js @@ -0,0 +1,29 @@ +"use strict";(()=>{var Fi=Object.create;var gr=Object.defineProperty;var ji=Object.getOwnPropertyDescriptor;var Wi=Object.getOwnPropertyNames,Dt=Object.getOwnPropertySymbols,Ui=Object.getPrototypeOf,xr=Object.prototype.hasOwnProperty,no=Object.prototype.propertyIsEnumerable;var oo=(e,t,r)=>t in e?gr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))xr.call(t,r)&&oo(e,r,t[r]);if(Dt)for(var r of Dt(t))no.call(t,r)&&oo(e,r,t[r]);return e};var io=(e,t)=>{var r={};for(var o in e)xr.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Dt)for(var o of Dt(e))t.indexOf(o)<0&&no.call(e,o)&&(r[o]=e[o]);return r};var yr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Di=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Wi(t))!xr.call(e,n)&&n!==r&&gr(e,n,{get:()=>t[n],enumerable:!(o=ji(t,n))||o.enumerable});return e};var Vt=(e,t,r)=>(r=e!=null?Fi(Ui(e)):{},Di(t||!e||!e.__esModule?gr(r,"default",{value:e,enumerable:!0}):r,e));var ao=(e,t,r)=>new Promise((o,n)=>{var i=p=>{try{s(r.next(p))}catch(c){n(c)}},a=p=>{try{s(r.throw(p))}catch(c){n(c)}},s=p=>p.done?o(p.value):Promise.resolve(p.value).then(i,a);s((r=r.apply(e,t)).next())});var co=yr((Er,so)=>{(function(e,t){typeof Er=="object"&&typeof so!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Er,function(){"use strict";function e(r){var o=!0,n=!1,i=null,a={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 s(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function p(H){var mt=H.type,ze=H.tagName;return!!(ze==="INPUT"&&a[mt]&&!H.readOnly||ze==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function c(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(s(r.activeElement)&&c(r.activeElement),o=!0)}function u(H){o=!1}function h(H){s(H.target)&&(o||p(H.target))&&c(H.target)}function w(H){s(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function A(H){document.visibilityState==="hidden"&&(n&&(o=!0),te())}function te(){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 ie(){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(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ie())}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),te(),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 Yr=yr((Rt,Kr)=>{/*! + * clipboard.js v2.0.11 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */(function(t,r){typeof Rt=="object"&&typeof Kr=="object"?Kr.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Rt=="object"?Rt.ClipboardJS=r():t.ClipboardJS=r()})(Rt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Ii}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function u(V){try{return document.execCommand(V)}catch(_){return!1}}var h=function(_){var M=f()(_);return u("cut"),M},w=h;function A(V){var _=document.documentElement.getAttribute("dir")==="rtl",M=document.createElement("textarea");M.style.fontSize="12pt",M.style.border="0",M.style.padding="0",M.style.margin="0",M.style.position="absolute",M.style[_?"right":"left"]="-9999px";var j=window.pageYOffset||document.documentElement.scrollTop;return M.style.top="".concat(j,"px"),M.setAttribute("readonly",""),M.value=V,M}var te=function(_,M){var j=A(_);M.container.appendChild(j);var D=f()(j);return u("copy"),j.remove(),D},ie=function(_){var M=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},j="";return typeof _=="string"?j=te(_,M):_ instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(_==null?void 0:_.type)?j=te(_.value,M):(j=f()(_),u("copy")),j},J=ie;function H(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(M){return typeof M}:H=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},H(V)}var mt=function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},M=_.action,j=M===void 0?"copy":M,D=_.container,Y=_.target,ke=_.text;if(j!=="copy"&&j!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(Y!==void 0)if(Y&&H(Y)==="object"&&Y.nodeType===1){if(j==="copy"&&Y.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(j==="cut"&&(Y.hasAttribute("readonly")||Y.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(ke)return J(ke,{container:D});if(Y)return j==="cut"?w(Y):J(Y,{container:D})},ze=mt;function Ie(V){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ie=function(M){return typeof M}:Ie=function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},Ie(V)}function _i(V,_){if(!(V instanceof _))throw new TypeError("Cannot call a class as a function")}function ro(V,_){for(var M=0;M<_.length;M++){var j=_[M];j.enumerable=j.enumerable||!1,j.configurable=!0,"value"in j&&(j.writable=!0),Object.defineProperty(V,j.key,j)}}function Ai(V,_,M){return _&&ro(V.prototype,_),M&&ro(V,M),V}function Ci(V,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");V.prototype=Object.create(_&&_.prototype,{constructor:{value:V,writable:!0,configurable:!0}}),_&&br(V,_)}function br(V,_){return br=Object.setPrototypeOf||function(j,D){return j.__proto__=D,j},br(V,_)}function Hi(V){var _=Pi();return function(){var j=Wt(V),D;if(_){var Y=Wt(this).constructor;D=Reflect.construct(j,arguments,Y)}else D=j.apply(this,arguments);return ki(this,D)}}function ki(V,_){return _&&(Ie(_)==="object"||typeof _=="function")?_:$i(V)}function $i(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function Pi(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(V){return!1}}function Wt(V){return Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(M){return M.__proto__||Object.getPrototypeOf(M)},Wt(V)}function vr(V,_){var M="data-clipboard-".concat(V);if(_.hasAttribute(M))return _.getAttribute(M)}var Ri=function(V){Ci(M,V);var _=Hi(M);function M(j,D){var Y;return _i(this,M),Y=_.call(this),Y.resolveOptions(D),Y.listenClick(j),Y}return Ai(M,[{key:"resolveOptions",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof D.action=="function"?D.action:this.defaultAction,this.target=typeof D.target=="function"?D.target:this.defaultTarget,this.text=typeof D.text=="function"?D.text:this.defaultText,this.container=Ie(D.container)==="object"?D.container:document.body}},{key:"listenClick",value:function(D){var Y=this;this.listener=c()(D,"click",function(ke){return Y.onClick(ke)})}},{key:"onClick",value:function(D){var Y=D.delegateTarget||D.currentTarget,ke=this.action(Y)||"copy",Ut=ze({action:ke,container:this.container,target:this.target(Y),text:this.text(Y)});this.emit(Ut?"success":"error",{action:ke,text:Ut,trigger:Y,clearSelection:function(){Y&&Y.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(D){return vr("action",D)}},{key:"defaultTarget",value:function(D){var Y=vr("target",D);if(Y)return document.querySelector(Y)}},{key:"defaultText",value:function(D){return vr("text",D)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(D){var Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return J(D,Y)}},{key:"cut",value:function(D){return w(D)}},{key:"isSupported",value:function(){var D=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],Y=typeof D=="string"?[D]:D,ke=!!document.queryCommandSupported;return Y.forEach(function(Ut){ke=ke&&!!document.queryCommandSupported(Ut)}),ke}}]),M}(s()),Ii=Ri},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 a(s,p){for(;s&&s.nodeType!==n;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}o.exports=a},438:function(o,n,i){var a=i(828);function s(l,f,u,h,w){var A=c.apply(this,arguments);return l.addEventListener(u,A,w),{destroy:function(){l.removeEventListener(u,A,w)}}}function p(l,f,u,h,w){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof u=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(A){return s(A,f,u,h,w)}))}function c(l,f,u,h){return function(w){w.delegateTarget=a(w.target,f),w.delegateTarget&&h.call(l,w)}}o.exports=p},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[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 a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(o,n,i){var a=i(879),s=i(438);function p(u,h,w){if(!u&&!h&&!w)throw new Error("Missing required arguments");if(!a.string(h))throw new TypeError("Second argument must be a String");if(!a.fn(w))throw new TypeError("Third argument must be a Function");if(a.node(u))return c(u,h,w);if(a.nodeList(u))return l(u,h,w);if(a.string(u))return f(u,h,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(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 s(document.body,u,h,w)}o.exports=p},817:function(o){function n(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p{"use strict";/*! + * escape-html + * Copyright(c) 2012-2013 TJ Holowaychuk + * Copyright(c) 2015 Andreas Lubbe + * Copyright(c) 2015 Tiancheng "Timothy" Gu + * MIT Licensed + */var ts=/["'&<>]/;ei.exports=rs;function rs(e){var t=""+e,r=ts.exec(t);if(!r)return t;var o,n="",i=0,a=0;for(i=r.index;i0&&i[i.length-1])&&(c[0]===6||c[0]===2)){r=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[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 N(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],a;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(s){a={error:s}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(a)throw a.error}}return i}function q(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||s(u,h)})})}function s(u,h){try{p(o[u](h))}catch(w){f(i[0][3],w)}}function p(u){u.value instanceof nt?Promise.resolve(u.value.v).then(c,l):f(i[0][2],u)}function c(u){s("next",u)}function l(u){s("throw",u)}function f(u,h){u(h),i.shift(),i.length&&s(i[0][0],i[0][1])}}function mo(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 de=="function"?de(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(a){return new Promise(function(s,p){a=e[i](a),n(s,p,a.done,a.value)})}}function n(i,a,s,p){Promise.resolve(p).then(function(c){i({value:c,done:s})},a)}}function k(e){return typeof e=="function"}function ft(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 zt=ft(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 qe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Fe=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 a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=de(a),p=s.next();!p.done;p=s.next()){var c=p.value;c.remove(this)}}catch(A){t={error:A}}finally{try{p&&!p.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}else a.remove(this);var l=this.initialTeardown;if(k(l))try{l()}catch(A){i=A instanceof zt?A.errors:[A]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=de(f),h=u.next();!h.done;h=u.next()){var w=h.value;try{fo(w)}catch(A){i=i!=null?i:[],A instanceof zt?i=q(q([],N(i)),N(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 zt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)fo(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)&&qe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&qe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var Tr=Fe.EMPTY;function qt(e){return e instanceof Fe||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function fo(e){k(e)?e():e.unsubscribe()}var $e={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ut={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,a=n.isStopped,s=n.observers;return i||a?Tr:(this.currentObservers=null,s.push(r),new Fe(function(){o.currentObservers=null,qe(s,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,a=o.isStopped;n?r.error(i):a&&r.complete()},t.prototype.asObservable=function(){var r=new F;return r.source=this,r},t.create=function(r,o){return new Eo(r,o)},t}(F);var Eo=function(e){re(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:Tr},t}(g);var _r=function(e){re(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(g);var Lt={now:function(){return(Lt.delegate||Date).now()},delegate:void 0};var _t=function(e){re(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=Lt);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,a=o._infiniteTimeWindow,s=o._timestampProvider,p=o._windowTime;n||(i.push(r),!a&&i.push(s.now()+p)),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,a=n._buffer,s=a.slice(),p=0;p0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(vt);var So=function(e){re(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(gt);var Hr=new So(To);var Oo=function(e){re(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=bt.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 a=r.actions;o!=null&&((i=a[a.length-1])===null||i===void 0?void 0:i.id)!==o&&(bt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(vt);var Mo=function(e){re(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}(gt);var me=new Mo(Oo);var O=new F(function(e){return e.complete()});function Yt(e){return e&&k(e.schedule)}function kr(e){return e[e.length-1]}function Xe(e){return k(kr(e))?e.pop():void 0}function He(e){return Yt(kr(e))?e.pop():void 0}function Bt(e,t){return typeof kr(e)=="number"?e.pop():t}var xt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function Gt(e){return k(e==null?void 0:e.then)}function Jt(e){return k(e[ht])}function Xt(e){return Symbol.asyncIterator&&k(e==null?void 0:e[Symbol.asyncIterator])}function Zt(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 Gi(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var er=Gi();function tr(e){return k(e==null?void 0:e[er])}function rr(e){return lo(this,arguments,function(){var r,o,n,i;return Nt(this,function(a){switch(a.label){case 0:r=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,nt(r.read())];case 3:return o=a.sent(),n=o.value,i=o.done,i?[4,nt(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,nt(n)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function or(e){return k(e==null?void 0:e.getReader)}function W(e){if(e instanceof F)return e;if(e!=null){if(Jt(e))return Ji(e);if(xt(e))return Xi(e);if(Gt(e))return Zi(e);if(Xt(e))return Lo(e);if(tr(e))return ea(e);if(or(e))return ta(e)}throw Zt(e)}function Ji(e){return new F(function(t){var r=e[ht]();if(k(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Xi(e){return new F(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?b(function(n,i){return e(n,i,o)}):le,Te(1),r?Be(t):zo(function(){return new ir}))}}function Fr(e){return e<=0?function(){return O}:y(function(t,r){var o=[];t.subscribe(T(r,function(n){o.push(n),e=2,!0))}function pe(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new g}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,a=i===void 0?!0:i,s=e.resetOnRefCountZero,p=s===void 0?!0:s;return function(c){var l,f,u,h=0,w=!1,A=!1,te=function(){f==null||f.unsubscribe(),f=void 0},ie=function(){te(),l=u=void 0,w=A=!1},J=function(){var H=l;ie(),H==null||H.unsubscribe()};return y(function(H,mt){h++,!A&&!w&&te();var ze=u=u!=null?u:r();mt.add(function(){h--,h===0&&!A&&!w&&(f=Wr(J,p))}),ze.subscribe(mt),!l&&h>0&&(l=new at({next:function(Ie){return ze.next(Ie)},error:function(Ie){A=!0,te(),f=Wr(ie,n,Ie),ze.error(Ie)},complete:function(){w=!0,te(),f=Wr(ie,a),ze.complete()}}),W(H).subscribe(l))})(c)}}function Wr(e,t){for(var r=[],o=2;oe.next(document)),e}function $(e,t=document){return Array.from(t.querySelectorAll(e))}function P(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(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 xa=S(d(document.body,"focusin"),d(document.body,"focusout")).pipe(_e(1),Q(void 0),m(()=>Re()||document.body),G(1));function et(e){return xa.pipe(m(t=>e.contains(t)),K())}function kt(e,t){return C(()=>S(d(e,"mouseenter").pipe(m(()=>!0)),d(e,"mouseleave").pipe(m(()=>!1))).pipe(t?Ht(r=>Me(+!r*t)):le,Q(e.matches(":hover"))))}function Bo(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)Bo(e,r)}function x(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)Bo(o,n);return o}function sr(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function wt(e){let t=x("script",{src:e});return C(()=>(document.head.appendChild(t),S(d(t,"load"),d(t,"error").pipe(v(()=>$r(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),L(()=>document.head.removeChild(t)),Te(1))))}var Go=new g,ya=C(()=>typeof ResizeObserver=="undefined"?wt("https://unpkg.com/resize-observer-polyfill"):I(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>Go.next(t)))),v(e=>S(Ke,I(e)).pipe(L(()=>e.disconnect()))),G(1));function ce(e){return{width:e.offsetWidth,height:e.offsetHeight}}function ge(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return ya.pipe(E(r=>r.observe(t)),v(r=>Go.pipe(b(o=>o.target===t),L(()=>r.unobserve(t)))),m(()=>ce(e)),Q(ce(e)))}function Tt(e){return{width:e.scrollWidth,height:e.scrollHeight}}function cr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function Jo(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Ue(e){return{x:e.offsetLeft,y:e.offsetTop}}function Xo(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function Zo(e){return S(d(window,"load"),d(window,"resize")).pipe(Le(0,me),m(()=>Ue(e)),Q(Ue(e)))}function pr(e){return{x:e.scrollLeft,y:e.scrollTop}}function De(e){return S(d(e,"scroll"),d(window,"scroll"),d(window,"resize")).pipe(Le(0,me),m(()=>pr(e)),Q(pr(e)))}var en=new g,Ea=C(()=>I(new IntersectionObserver(e=>{for(let t of e)en.next(t)},{threshold:0}))).pipe(v(e=>S(Ke,I(e)).pipe(L(()=>e.disconnect()))),G(1));function tt(e){return Ea.pipe(E(t=>t.observe(e)),v(t=>en.pipe(b(({target:r})=>r===e),L(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function tn(e,t=16){return De(e).pipe(m(({y:r})=>{let o=ce(e),n=Tt(e);return r>=n.height-o.height-t}),K())}var lr={drawer:P("[data-md-toggle=drawer]"),search:P("[data-md-toggle=search]")};function rn(e){return lr[e].checked}function Je(e,t){lr[e].checked!==t&&lr[e].click()}function Ve(e){let t=lr[e];return d(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function wa(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 Ta(){return S(d(window,"compositionstart").pipe(m(()=>!0)),d(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function on(){let e=d(window,"keydown").pipe(b(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:rn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),b(({mode:t,type:r})=>{if(t==="global"){let o=Re();if(typeof o!="undefined")return!wa(o,r)}return!0}),pe());return Ta().pipe(v(t=>t?O:e))}function xe(){return new URL(location.href)}function pt(e,t=!1){if(B("navigation.instant")&&!t){let r=x("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function nn(){return new g}function an(){return location.hash.slice(1)}function sn(e){let t=x("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Sa(e){return S(d(window,"hashchange"),e).pipe(m(an),Q(an()),b(t=>t.length>0),G(1))}function cn(e){return Sa(e).pipe(m(t=>fe(`[id="${t}"]`)),b(t=>typeof t!="undefined"))}function $t(e){let t=matchMedia(e);return ar(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function pn(){let e=matchMedia("print");return S(d(window,"beforeprint").pipe(m(()=>!0)),d(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function Nr(e,t){return e.pipe(v(r=>r?t():O))}function zr(e,t){return new F(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 a=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+a*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function Ne(e,t){return zr(e,t).pipe(v(r=>r.text()),m(r=>JSON.parse(r)),G(1))}function ln(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),G(1))}function mn(e,t){let r=new DOMParser;return zr(e,t).pipe(v(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),G(1))}function fn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function un(){return S(d(window,"scroll",{passive:!0}),d(window,"resize",{passive:!0})).pipe(m(fn),Q(fn()))}function dn(){return{width:innerWidth,height:innerHeight}}function hn(){return d(window,"resize",{passive:!0}).pipe(m(dn),Q(dn()))}function bn(){return z([un(),hn()]).pipe(m(([e,t])=>({offset:e,size:t})),G(1))}function mr(e,{viewport$:t,header$:r}){let o=t.pipe(Z("size")),n=z([o,r]).pipe(m(()=>Ue(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:a,size:s},{x:p,y:c}])=>({offset:{x:a.x-p,y:a.y-c+i},size:s})))}function Oa(e){return d(e,"message",t=>t.data)}function Ma(e){let t=new g;return t.subscribe(r=>e.postMessage(r)),t}function vn(e,t=new Worker(e)){let r=Oa(t),o=Ma(t),n=new g;n.subscribe(o);let i=o.pipe(X(),ne(!0));return n.pipe(X(),Pe(r.pipe(U(i))),pe())}var La=P("#__config"),St=JSON.parse(La.textContent);St.base=`${new URL(St.base,xe())}`;function ye(){return St}function B(e){return St.features.includes(e)}function Ee(e,t){return typeof t!="undefined"?St.translations[e].replace("#",t.toString()):St.translations[e]}function Se(e,t=document){return P(`[data-md-component=${e}]`,t)}function ae(e,t=document){return $(`[data-md-component=${e}]`,t)}function _a(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 gn(e){if(!B("announce.dismiss")||!e.childElementCount)return O;if(!e.hidden){let t=P(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return C(()=>{let t=new g;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),_a(e).pipe(E(r=>t.next(r)),L(()=>t.complete()),m(r=>R({ref:e},r)))})}function Aa(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function xn(e,t){let r=new g;return r.subscribe(({hidden:o})=>{e.hidden=o}),Aa(e,t).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))}function Pt(e,t){return t==="inline"?x("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"})):x("div",{class:"md-tooltip",id:e,role:"tooltip"},x("div",{class:"md-tooltip__inner md-typeset"}))}function yn(...e){return x("div",{class:"md-tooltip2",role:"tooltip"},x("div",{class:"md-tooltip2__inner md-typeset"},e))}function En(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("a",{href:r,class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}else return x("aside",{class:"md-annotation",tabIndex:0},Pt(t),x("span",{class:"md-annotation__index",tabIndex:-1},x("span",{"data-md-annotation-id":e})))}function wn(e){return x("button",{class:"md-clipboard md-icon",title:Ee("clipboard.copy"),"data-clipboard-target":`#${e} > code`})}function qr(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(p=>!e.terms[p]).reduce((p,c)=>[...p,x("del",null,c)," "],[]).slice(0,-1),i=ye(),a=new URL(e.location,i.base);B("search.highlight")&&a.searchParams.set("h",Object.entries(e.terms).filter(([,p])=>p).reduce((p,[c])=>`${p} ${c}`.trim(),""));let{tags:s}=ye();return x("a",{href:`${a}`,class:"md-search-result__link",tabIndex:-1},x("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&x("div",{class:"md-search-result__icon md-icon"}),r>0&&x("h1",null,e.title),r<=0&&x("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(p=>{let c=s?p in s?`md-tag-icon md-tag--${s[p]}`:"md-tag-icon":"";return x("span",{class:`md-tag ${c}`},p)}),o>0&&n.length>0&&x("p",{class:"md-search-result__terms"},Ee("search.result.term.missing"),": ",...n)))}function Tn(e){let t=e[0].score,r=[...e],o=ye(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),a=r.findIndex(l=>l.scoreqr(l,1)),...p.length?[x("details",{class:"md-search-result__more"},x("summary",{tabIndex:-1},x("div",null,p.length>0&&p.length===1?Ee("search.result.more.one"):Ee("search.result.more.other",p.length))),...p.map(l=>qr(l,1)))]:[]];return x("li",{class:"md-search-result__item"},c)}function Sn(e){return x("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>x("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?sr(r):r)))}function Qr(e){let t=`tabbed-control tabbed-control--${e}`;return x("div",{class:t,hidden:!0},x("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function On(e){return x("div",{class:"md-typeset__scrollwrap"},x("div",{class:"md-typeset__table"},e))}function Ca(e){var o;let t=ye(),r=new URL(`../${e.version}/`,t.base);return x("li",{class:"md-version__item"},x("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&x("span",{class:"md-version__alias"},e.aliases[0])))}function Mn(e,t){var o;let r=ye();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),x("div",{class:"md-version"},x("button",{class:"md-version__current","aria-label":Ee("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&x("span",{class:"md-version__alias"},t.aliases[0])),x("ul",{class:"md-version__list"},e.map(Ca)))}var Ha=0;function ka(e){let t=z([et(e),kt(e)]).pipe(m(([o,n])=>o||n),K()),r=C(()=>Jo(e)).pipe(oe(De),ct(1),m(()=>Xo(e)));return t.pipe(Ae(o=>o),v(()=>z([t,r])),m(([o,n])=>({active:o,offset:n})),pe())}function $a(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Ha++}`;return C(()=>{let i=new g,a=new _r(!1);i.pipe(X(),ne(!1)).subscribe(a);let s=a.pipe(Ht(c=>Me(+!c*250,Hr)),K(),v(c=>c?r:O),E(c=>c.id=n),pe());z([i.pipe(m(({active:c})=>c)),s.pipe(v(c=>kt(c,250)),Q(!1))]).pipe(m(c=>c.some(l=>l))).subscribe(a);let p=a.pipe(b(c=>c),ee(s,o),m(([c,l,{size:f}])=>{let u=e.getBoundingClientRect(),h=u.width/2;if(l.role==="tooltip")return{x:h,y:8+u.height};if(u.y>=f.height/2){let{height:w}=ce(l);return{x:h,y:-16-w}}else return{x:h,y:16+u.height}}));return z([s,i,p]).subscribe(([c,{offset:l},f])=>{c.style.setProperty("--md-tooltip-host-x",`${l.x}px`),c.style.setProperty("--md-tooltip-host-y",`${l.y}px`),c.style.setProperty("--md-tooltip-x",`${f.x}px`),c.style.setProperty("--md-tooltip-y",`${f.y}px`),c.classList.toggle("md-tooltip2--top",f.y<0),c.classList.toggle("md-tooltip2--bottom",f.y>=0)}),a.pipe(b(c=>c),ee(s,(c,l)=>l),b(c=>c.role==="tooltip")).subscribe(c=>{let l=ce(P(":scope > *",c));c.style.setProperty("--md-tooltip-width",`${l.width}px`),c.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(K(),be(me),ee(s)).subscribe(([c,l])=>{l.classList.toggle("md-tooltip2--active",c)}),z([a.pipe(b(c=>c)),s]).subscribe(([c,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),a.pipe(b(c=>!c)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),ka(e).pipe(E(c=>i.next(c)),L(()=>i.complete()),m(c=>R({ref:e},c)))})}function lt(e,{viewport$:t},r=document.body){return $a(e,{content$:new F(o=>{let n=e.title,i=yn(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t})}function Pa(e,t){let r=C(()=>z([Zo(e),De(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:a,height:s}=ce(e);return{x:o-i.x+a/2,y:n-i.y+s/2}}));return et(e).pipe(v(o=>r.pipe(m(n=>({active:o,offset:n})),Te(+!o||1/0))))}function Ln(e,t,{target$:r}){let[o,n]=Array.from(e.children);return C(()=>{let i=new g,a=i.pipe(X(),ne(!0));return i.subscribe({next({offset:s}){e.style.setProperty("--md-tooltip-x",`${s.x}px`),e.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),tt(e).pipe(U(a)).subscribe(s=>{e.toggleAttribute("data-md-visible",s)}),S(i.pipe(b(({active:s})=>s)),i.pipe(_e(250),b(({active:s})=>!s))).subscribe({next({active:s}){s?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(Le(16,me)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(ct(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?e.style.setProperty("--md-tooltip-0",`${-s}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),d(n,"click").pipe(U(a),b(s=>!(s.metaKey||s.ctrlKey))).subscribe(s=>{s.stopPropagation(),s.preventDefault()}),d(n,"mousedown").pipe(U(a),ee(i)).subscribe(([s,{active:p}])=>{var c;if(s.button!==0||s.metaKey||s.ctrlKey)s.preventDefault();else if(p){s.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(c=Re())==null||c.blur()}}),r.pipe(U(a),b(s=>s===o),Ge(125)).subscribe(()=>e.focus()),Pa(e,t).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))})}function Ra(e){return e.tagName==="CODE"?$(".c, .c1, .cm",e):[e]}function Ia(e){let t=[];for(let r of Ra(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 a;for(;a=/(\(\d+\))(!)?/.exec(i.textContent);){let[,s,p]=a;if(typeof p=="undefined"){let c=i.splitText(a.index);i=c.splitText(s.length),t.push(c)}else{i.textContent=s,t.push(i);break}}}}return t}function _n(e,t){t.append(...Array.from(e.childNodes))}function fr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,a=new Map;for(let s of Ia(t)){let[,p]=s.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${p})`,e)&&(a.set(p,En(p,i)),s.replaceWith(a.get(p)))}return a.size===0?O:C(()=>{let s=new g,p=s.pipe(X(),ne(!0)),c=[];for(let[l,f]of a)c.push([P(".md-typeset",f),P(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(p)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of c)l?_n(f,u):_n(u,f)}),S(...[...a].map(([,l])=>Ln(l,t,{target$:r}))).pipe(L(()=>s.complete()),pe())})}function An(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return An(t)}}function Cn(e,t){return C(()=>{let r=An(e);return typeof r!="undefined"?fr(r,e,t):O})}var Hn=Vt(Yr());var Fa=0;function kn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return kn(t)}}function ja(e){return ge(e).pipe(m(({width:t})=>({scrollable:Tt(e).width>t})),Z("scrollable"))}function $n(e,t){let{matches:r}=matchMedia("(hover)"),o=C(()=>{let n=new g,i=n.pipe(Fr(1));n.subscribe(({scrollable:c})=>{c&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let a=[];if(Hn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let c=e.closest("pre");c.id=`__code_${Fa++}`;let l=wn(c.id);c.insertBefore(l,e),B("content.tooltips")&&a.push(lt(l,{viewport$}))}let s=e.closest(".highlight");if(s instanceof HTMLElement){let c=kn(s);if(typeof c!="undefined"&&(s.classList.contains("annotate")||B("content.code.annotate"))){let l=fr(c,e,t);a.push(ge(s).pipe(U(i),m(({width:f,height:u})=>f&&u),K(),v(f=>f?l:O)))}}return $(":scope > span[id]",e).length&&e.classList.add("md-code__content"),ja(e).pipe(E(c=>n.next(c)),L(()=>n.complete()),m(c=>R({ref:e},c)),Pe(...a))});return B("content.lazy")?tt(e).pipe(b(n=>n),Te(1),v(()=>o)):o}function Wa(e,{target$:t,print$:r}){let o=!0;return S(t.pipe(m(n=>n.closest("details:not([open])")),b(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(b(n=>n||!o),E(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Pn(e,t){return C(()=>{let r=new g;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Wa(e,t).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}var Rn=".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)}a .nodeLabel{text-decoration:underline}.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 Br,Da=0;function Va(){return typeof mermaid=="undefined"||mermaid instanceof Element?wt("https://unpkg.com/mermaid@10/dist/mermaid.min.js"):I(void 0)}function In(e){return e.classList.remove("mermaid"),Br||(Br=Va().pipe(E(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Rn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),G(1))),Br.subscribe(()=>ao(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Da++}`,r=x("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),a=r.attachShadow({mode:"closed"});a.innerHTML=n,e.replaceWith(r),i==null||i(a)})),Br.pipe(m(()=>({ref:e})))}var Fn=x("table");function jn(e){return e.replaceWith(Fn),Fn.replaceWith(On(e)),I({ref:e})}function Na(e){let t=e.find(r=>r.checked)||e[0];return S(...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 Wn(e,{viewport$:t,target$:r}){let o=P(".tabbed-labels",e),n=$(":scope > input",e),i=Qr("prev");e.append(i);let a=Qr("next");return e.append(a),C(()=>{let s=new g,p=s.pipe(X(),ne(!0));z([s,ge(e),tt(e)]).pipe(U(p),Le(1,me)).subscribe({next([{active:c},l]){let f=Ue(c),{width:u}=ce(c);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let h=pr(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")}}),z([De(o),ge(o)]).pipe(U(p)).subscribe(([c,l])=>{let f=Tt(o);i.hidden=c.x<16,a.hidden=c.x>f.width-l.width-16}),S(d(i,"click").pipe(m(()=>-1)),d(a,"click").pipe(m(()=>1))).pipe(U(p)).subscribe(c=>{let{width:l}=ce(o);o.scrollBy({left:l*c,behavior:"smooth"})}),r.pipe(U(p),b(c=>n.includes(c))).subscribe(c=>c.click()),o.classList.add("tabbed-labels--linked");for(let c of n){let l=P(`label[for="${c.id}"]`);l.replaceChildren(x("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),d(l.firstElementChild,"click").pipe(U(p),b(f=>!(f.metaKey||f.ctrlKey)),E(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&s.pipe(Ce(1),ee(t)).subscribe(([{active:c},{offset:l}])=>{let f=c.innerText.trim();if(c.hasAttribute("data-md-switching"))c.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let w of $("[data-tabs]"))for(let A of $(":scope > input",w)){let te=P(`label[for="${A.id}"]`);if(te!==c&&te.innerText.trim()===f){te.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])])}}),s.pipe(U(p)).subscribe(()=>{for(let c of $("audio, video",e))c.pause()}),Na(n).pipe(E(c=>s.next(c)),L(()=>s.complete()),m(c=>R({ref:e},c)))}).pipe(Qe(se))}function Un(e,{viewport$:t,target$:r,print$:o}){return S(...$(".annotate:not(.highlight)",e).map(n=>Cn(n,{target$:r,print$:o})),...$("pre:not(.mermaid) > code",e).map(n=>$n(n,{target$:r,print$:o})),...$("pre.mermaid",e).map(n=>In(n)),...$("table:not([class])",e).map(n=>jn(n)),...$("details",e).map(n=>Pn(n,{target$:r,print$:o})),...$("[data-tabs]",e).map(n=>Wn(n,{viewport$:t,target$:r})),...$("[title]",e).filter(()=>B("content.tooltips")).map(n=>lt(n,{viewport$:t})))}function za(e,{alert$:t}){return t.pipe(v(r=>S(I(!0),I(!1).pipe(Ge(2e3))).pipe(m(o=>({message:r,active:o})))))}function Dn(e,t){let r=P(".md-typeset",e);return C(()=>{let o=new g;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),za(e,t).pipe(E(n=>o.next(n)),L(()=>o.complete()),m(n=>R({ref:e},n)))})}var qa=0;function Qa(e,t){document.body.append(e);let{width:r}=ce(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=cr(t),n=typeof o!="undefined"?De(o):I({x:0,y:0}),i=S(et(t),kt(t)).pipe(K());return z([i,n]).pipe(m(([a,s])=>{let{x:p,y:c}=Ue(t),l=ce(t),f=t.closest("table");return f&&t.parentElement&&(p+=f.offsetLeft+t.parentElement.offsetLeft,c+=f.offsetTop+t.parentElement.offsetTop),{active:a,offset:{x:p-s.x+l.width/2-r/2,y:c-s.y+l.height+8}}}))}function Vn(e){let t=e.title;if(!t.length)return O;let r=`__tooltip_${qa++}`,o=Pt(r,"inline"),n=P(".md-typeset",o);return n.innerHTML=t,C(()=>{let i=new g;return i.subscribe({next({offset:a}){o.style.setProperty("--md-tooltip-x",`${a.x}px`),o.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),S(i.pipe(b(({active:a})=>a)),i.pipe(_e(250),b(({active:a})=>!a))).subscribe({next({active:a}){a?(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(Le(16,me)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(ct(125,me),b(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?o.style.setProperty("--md-tooltip-0",`${-a}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Qa(o,e).pipe(E(a=>i.next(a)),L(()=>i.complete()),m(a=>R({ref:e},a)))}).pipe(Qe(se))}function Ka({viewport$:e}){if(!B("header.autohide"))return I(!1);let t=e.pipe(m(({offset:{y:n}})=>n),Ye(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),K()),o=Ve("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),K(),v(n=>n?r:I(!1)),Q(!1))}function Nn(e,t){return C(()=>z([ge(e),Ka(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),K((r,o)=>r.height===o.height&&r.hidden===o.hidden),G(1))}function zn(e,{header$:t,main$:r}){return C(()=>{let o=new g,n=o.pipe(X(),ne(!0));o.pipe(Z("active"),We(t)).subscribe(([{active:a},{hidden:s}])=>{e.classList.toggle("md-header--shadow",a&&!s),e.hidden=s});let i=ue($("[title]",e)).pipe(b(()=>B("content.tooltips")),oe(a=>Vn(a)));return r.subscribe(o),t.pipe(U(n),m(a=>R({ref:e},a)),Pe(i.pipe(U(n))))})}function Ya(e,{viewport$:t,header$:r}){return mr(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ce(e);return{active:o>=n}}),Z("active"))}function qn(e,t){return C(()=>{let r=new g;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?O:Ya(o,t).pipe(E(n=>r.next(n)),L(()=>r.complete()),m(n=>R({ref:e},n)))})}function Qn(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),K()),n=o.pipe(v(()=>ge(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),Z("bottom"))));return z([o,n,t]).pipe(m(([i,{top:a,bottom:s},{offset:{y:p},size:{height:c}}])=>(c=Math.max(0,c-Math.max(0,a-p,i)-Math.max(0,c+p-s)),{offset:a-i,height:c,active:a-i<=p})),K((i,a)=>i.offset===a.offset&&i.height===a.height&&i.active===a.active))}function Ba(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 I(...e).pipe(oe(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")}})),G(1))}function Kn(e){let t=$("input",e),r=x("meta",{name:"theme-color"});document.head.appendChild(r);let o=x("meta",{name:"color-scheme"});document.head.appendChild(o);let n=$t("(prefers-color-scheme: light)");return C(()=>{let i=new g;return i.subscribe(a=>{if(document.body.setAttribute("data-md-color-switching",""),a.color.media==="(prefers-color-scheme)"){let s=matchMedia("(prefers-color-scheme: light)"),p=document.querySelector(s.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");a.color.scheme=p.getAttribute("data-md-color-scheme"),a.color.primary=p.getAttribute("data-md-color-primary"),a.color.accent=p.getAttribute("data-md-color-accent")}for(let[s,p]of Object.entries(a.color))document.body.setAttribute(`data-md-color-${s}`,p);for(let s=0;sa.key==="Enter"),ee(i,(a,s)=>s)).subscribe(({index:a})=>{a=(a+1)%t.length,t[a].click(),t[a].focus()}),i.pipe(m(()=>{let a=Se("header"),s=window.getComputedStyle(a);return o.content=s.colorScheme,s.backgroundColor.match(/\d+/g).map(p=>(+p).toString(16).padStart(2,"0")).join("")})).subscribe(a=>r.content=`#${a}`),i.pipe(be(se)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),Ba(t).pipe(U(n.pipe(Ce(1))),st(),E(a=>i.next(a)),L(()=>i.complete()),m(a=>R({ref:e},a)))})}function Yn(e,{progress$:t}){return C(()=>{let r=new g;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(E(o=>r.next({value:o})),L(()=>r.complete()),m(o=>({ref:e,value:o})))})}var Gr=Vt(Yr());function Ga(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 Bn({alert$:e}){Gr.default.isSupported()&&new F(t=>{new Gr.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||Ga(P(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(E(t=>{t.trigger.focus()}),m(()=>Ee("clipboard.copied"))).subscribe(e)}function Gn(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function Ja(e,t){let r=new Map;for(let o of $("url",e)){let n=P("loc",o),i=[Gn(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let a of $("[rel=alternate]",o)){let s=a.getAttribute("href");s!=null&&i.push(Gn(new URL(s),t))}}return r}function ur(e){return mn(new URL("sitemap.xml",e)).pipe(m(t=>Ja(t,new URL(e))),ve(()=>I(new Map)))}function Xa(e,t){if(!(e.target instanceof Element))return O;let r=e.target.closest("a");if(r===null)return O;if(r.target||e.metaKey||e.ctrlKey)return O;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),I(new URL(r.href))):O}function Jn(e){let t=new Map;for(let r of $(":scope > *",e.head))t.set(r.outerHTML,r);return t}function Xn(e){for(let t of $("[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 I(e)}function Za(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]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=Jn(document);for(let[o,n]of Jn(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=Se("container");return je($("script",r)).pipe(v(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 F(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),O}),X(),ne(document))}function Zn({location$:e,viewport$:t,progress$:r}){let o=ye();if(location.protocol==="file:")return O;let n=ur(o.base);I(document).subscribe(Xn);let i=d(document.body,"click").pipe(We(n),v(([p,c])=>Xa(p,c)),pe()),a=d(window,"popstate").pipe(m(xe),pe());i.pipe(ee(t)).subscribe(([p,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",p)}),S(i,a).subscribe(e);let s=e.pipe(Z("pathname"),v(p=>ln(p,{progress$:r}).pipe(ve(()=>(pt(p,!0),O)))),v(Xn),v(Za),pe());return S(s.pipe(ee(e,(p,c)=>c)),s.pipe(v(()=>e),Z("pathname"),v(()=>e),Z("hash")),e.pipe(K((p,c)=>p.pathname===c.pathname&&p.hash===c.hash),v(()=>i),E(()=>history.back()))).subscribe(p=>{var c,l;history.state!==null||!p.hash?window.scrollTo(0,(l=(c=history.state)==null?void 0:c.y)!=null?l:0):(history.scrollRestoration="auto",sn(p.hash),history.scrollRestoration="manual")}),e.subscribe(()=>{history.scrollRestoration="manual"}),d(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),t.pipe(Z("offset"),_e(100)).subscribe(({offset:p})=>{history.replaceState(p,"")}),s}var ri=Vt(ti());function oi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,a)=>`${i}${a}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return a=>(0,ri.default)(a).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function It(e){return e.type===1}function dr(e){return e.type===3}function ni(e,t){let r=vn(e);return S(I(location.protocol!=="file:"),Ve("search")).pipe(Ae(o=>o),v(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function ii({document$:e}){let t=ye(),r=Ne(new URL("../versions.json",t.base)).pipe(ve(()=>O)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:a,aliases:s})=>a===i||s.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),v(n=>d(document.body,"click").pipe(b(i=>!i.metaKey&&!i.ctrlKey),ee(o),v(([i,a])=>{if(i.target instanceof Element){let s=i.target.closest("a");if(s&&!s.target&&n.has(s.href)){let p=s.href;return!i.target.closest(".md-version")&&n.get(p)===a?O:(i.preventDefault(),I(p))}}return O}),v(i=>ur(new URL(i)).pipe(m(a=>{let p=xe().href.replace(t.base,i);return a.has(p.split("#")[0])?new URL(p):new URL(i)})))))).subscribe(n=>pt(n,!0)),z([r,o]).subscribe(([n,i])=>{P(".md-header__topic").appendChild(Mn(n,i))}),e.pipe(v(()=>o)).subscribe(n=>{var a;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let s=((a=t.version)==null?void 0:a.default)||"latest";Array.isArray(s)||(s=[s]);e:for(let p of s)for(let c of n.aliases.concat(n.version))if(new RegExp(p,"i").test(c)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let s of ae("outdated"))s.hidden=!1})}function ns(e,{worker$:t}){let{searchParams:r}=xe();r.has("q")&&(Je("search",!0),e.value=r.get("q"),e.focus(),Ve("search").pipe(Ae(i=>!i)).subscribe(()=>{let i=xe();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=et(e),n=S(t.pipe(Ae(It)),d(e,"keyup"),o).pipe(m(()=>e.value),K());return z([n,o]).pipe(m(([i,a])=>({value:i,focus:a})),G(1))}function ai(e,{worker$:t}){let r=new g,o=r.pipe(X(),ne(!0));z([t.pipe(Ae(It)),r],(i,a)=>a).pipe(Z("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(Z("focus")).subscribe(({focus:i})=>{i&&Je("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()),ns(e,{worker$:t}).pipe(E(i=>r.next(i)),L(()=>r.complete()),m(i=>R({ref:e},i)),G(1))}function si(e,{worker$:t,query$:r}){let o=new g,n=tn(e.parentElement).pipe(b(Boolean)),i=e.parentElement,a=P(":scope > :first-child",e),s=P(":scope > :last-child",e);Ve("search").subscribe(l=>s.setAttribute("role",l?"list":"presentation")),o.pipe(ee(r),Ur(t.pipe(Ae(It)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:a.textContent=f.length?Ee("search.result.none"):Ee("search.result.placeholder");break;case 1:a.textContent=Ee("search.result.one");break;default:let u=sr(l.length);a.textContent=Ee("search.result.other",u)}});let p=o.pipe(E(()=>s.innerHTML=""),v(({items:l})=>S(I(...l.slice(0,10)),I(...l.slice(10)).pipe(Ye(4),Vr(n),v(([f])=>f)))),m(Tn),pe());return p.subscribe(l=>s.appendChild(l)),p.pipe(oe(l=>{let f=fe("details",l);return typeof f=="undefined"?O:d(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(b(dr),m(({data:l})=>l)).pipe(E(l=>o.next(l)),L(()=>o.complete()),m(l=>R({ref:e},l)))}function is(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=xe();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function ci(e,t){let r=new g,o=r.pipe(X(),ne(!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()),is(e,t).pipe(E(n=>r.next(n)),L(()=>r.complete()),m(n=>R({ref:e},n)))}function pi(e,{worker$:t,keyboard$:r}){let o=new g,n=Se("search-query"),i=S(d(n,"keydown"),d(n,"focus")).pipe(be(se),m(()=>n.value),K());return o.pipe(We(i),m(([{suggest:s},p])=>{let c=p.split(/([\s-]+)/);if(s!=null&&s.length&&c[c.length-1]){let l=s[s.length-1];l.startsWith(c[c.length-1])&&(c[c.length-1]=l)}else c.length=0;return c})).subscribe(s=>e.innerHTML=s.join("").replace(/\s/g," ")),r.pipe(b(({mode:s})=>s==="search")).subscribe(s=>{switch(s.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(b(dr),m(({data:s})=>s)).pipe(E(s=>o.next(s)),L(()=>o.complete()),m(()=>({ref:e})))}function li(e,{index$:t,keyboard$:r}){let o=ye();try{let n=ni(o.search,t),i=Se("search-query",e),a=Se("search-result",e);d(e,"click").pipe(b(({target:p})=>p instanceof Element&&!!p.closest("a"))).subscribe(()=>Je("search",!1)),r.pipe(b(({mode:p})=>p==="search")).subscribe(p=>{let c=Re();switch(p.type){case"Enter":if(c===i){let l=new Map;for(let f of $(":first-child [href]",a)){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()}p.claim()}break;case"Escape":case"Tab":Je("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof c=="undefined")i.focus();else{let l=[i,...$(":not(details) > [href], summary, details[open] [href]",a)],f=Math.max(0,(Math.max(0,l.indexOf(c))+l.length+(p.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}p.claim();break;default:i!==Re()&&i.focus()}}),r.pipe(b(({mode:p})=>p==="global")).subscribe(p=>{switch(p.type){case"f":case"s":case"/":i.focus(),i.select(),p.claim();break}});let s=ai(i,{worker$:n});return S(s,si(a,{worker$:n,query$:s})).pipe(Pe(...ae("search-share",e).map(p=>ci(p,{query$:s})),...ae("search-suggest",e).map(p=>pi(p,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ke}}function mi(e,{index$:t,location$:r}){return z([t,r.pipe(Q(xe()),b(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>oi(o.config)(n.searchParams.get("h"))),m(o=>{var a;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let s=i.nextNode();s;s=i.nextNode())if((a=s.parentElement)!=null&&a.offsetHeight){let p=s.textContent,c=o(p);c.length>p.length&&n.set(s,c)}for(let[s,p]of n){let{childNodes:c}=x("span",null,p);s.replaceWith(...Array.from(c))}return{ref:e,nodes:n}}))}function as(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:a},{offset:{y:s}}])=>(a=a+Math.min(n,Math.max(0,s-i))-n,{height:a,locked:s>=i+n})),K((i,a)=>i.height===a.height&&i.locked===a.locked))}function Jr(e,o){var n=o,{header$:t}=n,r=io(n,["header$"]);let i=P(".md-sidebar__scrollwrap",e),{y:a}=Ue(i);return C(()=>{let s=new g,p=s.pipe(X(),ne(!0)),c=s.pipe(Le(0,me));return c.pipe(ee(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*a}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),c.pipe(Ae()).subscribe(()=>{for(let l of $(".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}=ce(f);f.scrollTo({top:u-h/2})}}}),ue($("label[tabindex]",e)).pipe(oe(l=>d(l,"click").pipe(be(se),m(()=>l),U(p)))).subscribe(l=>{let f=P(`[id="${l.htmlFor}"]`);P(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),as(e,r).pipe(E(l=>s.next(l)),L(()=>s.complete()),m(l=>R({ref:e},l)))})}function fi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return Ct(Ne(`${r}/releases/latest`).pipe(ve(()=>O),m(o=>({version:o.tag_name})),Be({})),Ne(r).pipe(ve(()=>O),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),Be({}))).pipe(m(([o,n])=>R(R({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ne(r).pipe(m(o=>({repositories:o.public_repos})),Be({}))}}function ui(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ne(r).pipe(ve(()=>O),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),Be({}))}function di(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return fi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return ui(r,o)}return O}var ss;function cs(e){return ss||(ss=C(()=>{let t=__md_get("__source",sessionStorage);if(t)return I(t);if(ae("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return O}return di(e.href).pipe(E(o=>__md_set("__source",o,sessionStorage)))}).pipe(ve(()=>O),b(t=>Object.keys(t).length>0),m(t=>({facts:t})),G(1)))}function hi(e){let t=P(":scope > :last-child",e);return C(()=>{let r=new g;return r.subscribe(({facts:o})=>{t.appendChild(Sn(o)),t.classList.add("md-source__repository--active")}),cs(e).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}function ps(e,{viewport$:t,header$:r}){return ge(document.body).pipe(v(()=>mr(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),Z("hidden"))}function bi(e,t){return C(()=>{let r=new g;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?I({hidden:!1}):ps(e,t)).pipe(E(o=>r.next(o)),L(()=>r.complete()),m(o=>R({ref:e},o)))})}function ls(e,{viewport$:t,header$:r}){let o=new Map,n=$(".md-nav__link",e);for(let s of n){let p=decodeURIComponent(s.hash.substring(1)),c=fe(`[id="${p}"]`);typeof c!="undefined"&&o.set(s,c)}let i=r.pipe(Z("height"),m(({height:s})=>{let p=Se("main"),c=P(":scope > :first-child",p);return s+.8*(c.offsetTop-p.offsetTop)}),pe());return ge(document.body).pipe(Z("height"),v(s=>C(()=>{let p=[];return I([...o].reduce((c,[l,f])=>{for(;p.length&&o.get(p[p.length-1]).tagName>=f.tagName;)p.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 c.set([...p=[...p,l]].reverse(),u)},new Map))}).pipe(m(p=>new Map([...p].sort(([,c],[,l])=>c-l))),We(i),v(([p,c])=>t.pipe(jr(([l,f],{offset:{y:u},size:h})=>{let w=u+h.height>=Math.floor(s.height);for(;f.length;){let[,A]=f[0];if(A-c=u&&!w)f=[l.pop(),...f];else break}return[l,f]},[[],[...p]]),K((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([s,p])=>({prev:s.map(([c])=>c),next:p.map(([c])=>c)})),Q({prev:[],next:[]}),Ye(2,1),m(([s,p])=>s.prev.length{let i=new g,a=i.pipe(X(),ne(!0));if(i.subscribe(({prev:s,next:p})=>{for(let[c]of p)c.classList.remove("md-nav__link--passed"),c.classList.remove("md-nav__link--active");for(let[c,[l]]of s.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",c===s.length-1)}),B("toc.follow")){let s=S(t.pipe(_e(1),m(()=>{})),t.pipe(_e(250),m(()=>"smooth")));i.pipe(b(({prev:p})=>p.length>0),We(o.pipe(be(se))),ee(s)).subscribe(([[{prev:p}],c])=>{let[l]=p[p.length-1];if(l.offsetHeight){let f=cr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:h}=ce(f);f.scrollTo({top:u-h/2,behavior:c})}}})}return B("navigation.tracking")&&t.pipe(U(a),Z("offset"),_e(250),Ce(1),U(n.pipe(Ce(1))),st({delay:250}),ee(i)).subscribe(([,{prev:s}])=>{let p=xe(),c=s[s.length-1];if(c&&c.length){let[l]=c,{hash:f}=new URL(l.href);p.hash!==f&&(p.hash=f,history.replaceState({},"",`${p}`))}else p.hash="",history.replaceState({},"",`${p}`)}),ls(e,{viewport$:t,header$:r}).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))})}function ms(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:a}})=>a),Ye(2,1),m(([a,s])=>a>s&&s>0),K()),i=r.pipe(m(({active:a})=>a));return z([i,n]).pipe(m(([a,s])=>!(a&&s)),K(),U(o.pipe(Ce(1))),ne(!0),st({delay:250}),m(a=>({hidden:a})))}function gi(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new g,a=i.pipe(X(),ne(!0));return i.subscribe({next({hidden:s}){e.hidden=s,s?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(a),Z("height")).subscribe(({height:s})=>{e.style.top=`${s+16}px`}),d(e,"click").subscribe(s=>{s.preventDefault(),window.scrollTo({top:0})}),ms(e,{viewport$:t,main$:o,target$:n}).pipe(E(s=>i.next(s)),L(()=>i.complete()),m(s=>R({ref:e},s)))}function xi({document$:e,viewport$:t}){e.pipe(v(()=>$(".md-ellipsis")),oe(r=>tt(r).pipe(U(e.pipe(Ce(1))),b(o=>o),m(()=>r),Te(1))),b(r=>r.offsetWidth{let o=r.innerText,n=r.closest("a")||r;return n.title=o,B("content.tooltips")?lt(n,{viewport$:t}).pipe(U(e.pipe(Ce(1))),L(()=>n.removeAttribute("title"))):O})).subscribe(),B("content.tooltips")&&e.pipe(v(()=>$(".md-status")),oe(r=>lt(r,{viewport$:t}))).subscribe()}function yi({document$:e,tablet$:t}){e.pipe(v(()=>$(".md-toggle--indeterminate")),E(r=>{r.indeterminate=!0,r.checked=!1}),oe(r=>d(r,"change").pipe(Dr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),ee(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function fs(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Ei({document$:e}){e.pipe(v(()=>$("[data-md-scrollfix]")),E(t=>t.removeAttribute("data-md-scrollfix")),b(fs),oe(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 wi({viewport$:e,tablet$:t}){z([Ve("search"),t]).pipe(m(([r,o])=>r&&!o),v(r=>I(r).pipe(Ge(r?400:100))),ee(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 us(){return location.protocol==="file:"?wt(`${new URL("search/search_index.js",Xr.base)}`).pipe(m(()=>__index),G(1)):Ne(new URL("search/search_index.json",Xr.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var ot=Yo(),jt=nn(),Ot=cn(jt),Zr=on(),Oe=bn(),hr=$t("(min-width: 960px)"),Si=$t("(min-width: 1220px)"),Oi=pn(),Xr=ye(),Mi=document.forms.namedItem("search")?us():Ke,eo=new g;Bn({alert$:eo});var to=new g;B("navigation.instant")&&Zn({location$:jt,viewport$:Oe,progress$:to}).subscribe(ot);var Ti;((Ti=Xr.version)==null?void 0:Ti.provider)==="mike"&&ii({document$:ot});S(jt,Ot).pipe(Ge(125)).subscribe(()=>{Je("drawer",!1),Je("search",!1)});Zr.pipe(b(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&&pt(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&&pt(r);break;case"Enter":let o=Re();o instanceof HTMLLabelElement&&o.click()}});xi({viewport$:Oe,document$:ot});yi({document$:ot,tablet$:hr});Ei({document$:ot});wi({viewport$:Oe,tablet$:hr});var rt=Nn(Se("header"),{viewport$:Oe}),Ft=ot.pipe(m(()=>Se("main")),v(e=>Qn(e,{viewport$:Oe,header$:rt})),G(1)),ds=S(...ae("consent").map(e=>xn(e,{target$:Ot})),...ae("dialog").map(e=>Dn(e,{alert$:eo})),...ae("header").map(e=>zn(e,{viewport$:Oe,header$:rt,main$:Ft})),...ae("palette").map(e=>Kn(e)),...ae("progress").map(e=>Yn(e,{progress$:to})),...ae("search").map(e=>li(e,{index$:Mi,keyboard$:Zr})),...ae("source").map(e=>hi(e))),hs=C(()=>S(...ae("announce").map(e=>gn(e)),...ae("content").map(e=>Un(e,{viewport$:Oe,target$:Ot,print$:Oi})),...ae("content").map(e=>B("search.highlight")?mi(e,{index$:Mi,location$:jt}):O),...ae("header-title").map(e=>qn(e,{viewport$:Oe,header$:rt})),...ae("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?Nr(Si,()=>Jr(e,{viewport$:Oe,header$:rt,main$:Ft})):Nr(hr,()=>Jr(e,{viewport$:Oe,header$:rt,main$:Ft}))),...ae("tabs").map(e=>bi(e,{viewport$:Oe,header$:rt})),...ae("toc").map(e=>vi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Ot})),...ae("top").map(e=>gi(e,{viewport$:Oe,header$:rt,main$:Ft,target$:Ot})))),Li=ot.pipe(v(()=>hs),Pe(ds),G(1));Li.subscribe();window.document$=ot;window.location$=jt;window.target$=Ot;window.keyboard$=Zr;window.viewport$=Oe;window.tablet$=hr;window.screen$=Si;window.print$=Oi;window.alert$=eo;window.progress$=to;window.component$=Li;})(); +//# sourceMappingURL=bundle.fe8b6f2b.min.js.map + diff --git a/assets/javascripts/bundle.fe8b6f2b.min.js.map b/assets/javascripts/bundle.fe8b6f2b.min.js.map new file mode 100644 index 000000000..82635852a --- /dev/null +++ b/assets/javascripts/bundle.fe8b6f2b.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/BehaviorSubject.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/QueueAction.ts", "node_modules/rxjs/src/internal/scheduler/QueueScheduler.ts", "node_modules/rxjs/src/internal/scheduler/queue.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/debounce.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/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/offset/_/index.ts", "src/templates/assets/javascripts/browser/element/offset/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/tooltip2/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/tooltip/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({ viewport$, 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 { Subject } from './Subject';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\n\n/**\n * A variant of Subject that requires an initial value and emits its current\n * value whenever it is subscribed to.\n *\n * @class BehaviorSubject\n */\nexport class BehaviorSubject extends Subject {\n constructor(private _value: T) {\n super();\n }\n\n get value(): T {\n return this.getValue();\n }\n\n /** @internal */\n protected _subscribe(subscriber: Subscriber): Subscription {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n\n getValue(): T {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n\n next(value: T): void {\n super.next((this._value = value));\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 { Subscription } from '../Subscription';\nimport { QueueScheduler } from './QueueScheduler';\nimport { SchedulerAction } from '../types';\nimport { TimerHandle } from './timerHandle';\n\nexport class QueueAction extends AsyncAction {\n constructor(protected scheduler: QueueScheduler, protected work: (this: SchedulerAction, state?: T) => void) {\n super(scheduler, work);\n }\n\n public schedule(state?: T, delay: number = 0): Subscription {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n\n public execute(state: T, delay: number): any {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n\n protected requestAsyncId(scheduler: QueueScheduler, id?: TimerHandle, delay: number = 0): TimerHandle {\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\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n\n // Otherwise flush the scheduler starting with this action.\n scheduler.flush(this);\n\n // HACK: In the past, this was returning `void`. However, `void` isn't a valid\n // `TimerHandle`, and generally the return value here isn't really used. So the\n // compromise is to return `0` which is both \"falsy\" and a valid `TimerHandle`,\n // as opposed to refactoring every other instanceo of `requestAsyncId`.\n return 0;\n }\n}\n", "import { AsyncScheduler } from './AsyncScheduler';\n\nexport class QueueScheduler extends AsyncScheduler {\n}\n", "import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\n\n/**\n *\n * Queue Scheduler\n *\n * Put every next task on a queue, instead of executing it immediately\n *\n * `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.\n *\n * When used without delay, it schedules given task synchronously - executes it right when\n * it is scheduled. However when called recursively, that is when inside the scheduled task,\n * another task is scheduled with queue scheduler, instead of executing immediately as well,\n * that task will be put on a queue and wait for current one to finish.\n *\n * This means that when you execute task with `queue` scheduler, you are sure it will end\n * before any other task scheduled with that scheduler will start.\n *\n * ## Examples\n * Schedule recursively first, then do something\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(() => {\n * queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue\n *\n * console.log('first');\n * });\n *\n * // Logs:\n * // \"first\"\n * // \"second\"\n * ```\n *\n * Reschedule itself recursively\n * ```ts\n * import { queueScheduler } from 'rxjs';\n *\n * queueScheduler.schedule(function(state) {\n * if (state !== 0) {\n * console.log('before', state);\n * this.schedule(state - 1); // `this` references currently executing Action,\n * // which we reschedule with new state\n * console.log('after', state);\n * }\n * }, 0, 3);\n *\n * // In scheduler that runs recursively, you would expect:\n * // \"before\", 3\n * // \"before\", 2\n * // \"before\", 1\n * // \"after\", 1\n * // \"after\", 2\n * // \"after\", 3\n *\n * // But with queue it logs:\n * // \"before\", 3\n * // \"after\", 3\n * // \"before\", 2\n * // \"after\", 2\n * // \"before\", 1\n * // \"after\", 1\n * ```\n */\n\nexport const queueScheduler = new QueueScheduler(QueueAction);\n\n/**\n * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8.\n */\nexport const queue = queueScheduler;\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