Mercurial
changeset 37:fb9bcd3145cb
[ReactGames] Few games I made using react just to practice few things.
line wrap: on
line diff
--- a/.hgignore Sun Nov 09 06:25:16 2025 -0800 +++ b/.hgignore Mon Dec 01 20:22:47 2025 -0800 @@ -17,7 +17,13 @@ # Bun specific this is os dependent so should be ignored. third_party/bun/bun -third_party/bun/node_modules/ # Playground playground/ + +# Node +**/node_modules/** + +# Python +**/venv/** +__pycache__/
--- a/MODULE.bazel Sun Nov 09 06:25:16 2025 -0800 +++ b/MODULE.bazel Mon Dec 01 20:22:47 2025 -0800 @@ -1,7 +1,9 @@ -bazel_dep(name = "rules_cc", version = "0.1.1") +bazel_dep(name = "rules_cc", version = "0.2.14") bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "openssl", version = "3.3.1.bcr.7") +bazel_dep(name = "rules_python", version = "1.7.0") + http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") @@ -21,3 +23,13 @@ url = "https://github.com/oven-sh/bun/releases/download/bun-v1.2.23/bun-linux-x64.zip", sha256 = "cf0ed0a920799d576ffde4e0cae66d732bf23c2530407f26f59c7831dffe1f0e", ) + +# Bring in pip support +use_extension("@rules_python//python/extensions:pip.bzl", "pip") +pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") + +# Point to your requirements file +pip.install(requirements = "//:requirements.txt") + +# Register the pip repo so you can depend on it +use_repo(pip, "pip_deps")
--- a/MODULE.bazel.lock Sun Nov 09 06:25:16 2025 -0800 +++ b/MODULE.bazel.lock Mon Dec 01 20:22:47 2025 -0800 @@ -16,6 +16,7 @@ "https://bcr.bazel.build/modules/bazel_features/1.17.0/MODULE.bazel": "039de32d21b816b47bd42c778e0454217e9c9caac4a3cf8e15c7231ee3ddee4d", "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", + "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", @@ -59,6 +60,7 @@ "https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c", "https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d", "https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df", + "https://bcr.bazel.build/modules/protobuf/29.0-rc3/MODULE.bazel": "33c2dfa286578573afc55a7acaea3cada4122b9631007c594bf0729f41c8de92", "https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e", "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981", "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", @@ -80,8 +82,10 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", "https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513", + "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", + "https://bcr.bazel.build/modules/rules_cc/0.2.14/source.json": "55d0a4587c5592fad350f6e698530f4faf0e7dd15e69d43f8d87e220c78bea54", "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc", - "https://bcr.bazel.build/modules/rules_cc/0.2.4/source.json": "2bd87ef9b41d4753eadf65175745737135cba0e70b479bdc204ef0c67404d0c4", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/source.json": "c8b1e2c717646f1702290959a3302a178fb639d987ab61d548105019f11e527e", @@ -97,6 +101,8 @@ "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", "https://bcr.bazel.build/modules/rules_java/8.14.0/MODULE.bazel": "717717ed40cc69994596a45aec6ea78135ea434b8402fb91b009b9151dd65615", "https://bcr.bazel.build/modules/rules_java/8.14.0/source.json": "8a88c4ca9e8759da53cddc88123880565c520503321e2566b4e33d0287a3d4bc", + "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", + "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -128,7 +134,8 @@ "https://bcr.bazel.build/modules/rules_python/0.31.0/MODULE.bazel": "93a43dc47ee570e6ec9f5779b2e64c1476a6ce921c48cc9a1678a91dd5f8fd58", "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", "https://bcr.bazel.build/modules/rules_python/0.40.0/MODULE.bazel": "9d1a3cd88ed7d8e39583d9ffe56ae8a244f67783ae89b60caafc9f5cf318ada7", - "https://bcr.bazel.build/modules/rules_python/0.40.0/source.json": "939d4bd2e3110f27bfb360292986bb79fd8dcefb874358ccd6cdaa7bda029320", + "https://bcr.bazel.build/modules/rules_python/1.7.0/MODULE.bazel": "d01f995ecd137abf30238ad9ce97f8fc3ac57289c8b24bd0bf53324d937a14f8", + "https://bcr.bazel.build/modules/rules_python/1.7.0/source.json": "028a084b65dcf8f4dc4f82f8778dbe65df133f234b316828a82e060d81bdce32", "https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c", "https://bcr.bazel.build/modules/rules_shell/0.4.0/MODULE.bazel": "0f8f11bb3cd11755f0b48c1de0bbcf62b4b34421023aa41a2fc74ef68d9584f0", "https://bcr.bazel.build/modules/rules_shell/0.4.0/source.json": "1d7fa7f941cd41dc2704ba5b4edc2e2230eea1cc600d80bd2b65838204c50b95", @@ -137,7 +144,8 @@ "https://bcr.bazel.build/modules/stardoc/0.5.6/MODULE.bazel": "c43dabc564990eeab55e25ed61c07a1aadafe9ece96a4efabb3f8bf9063b71ef", "https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c", "https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7", - "https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01", + "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", + "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", @@ -209,6 +217,282 @@ ] ] } + }, + "@@rules_python+//python/extensions:config.bzl%config": { + "general": { + "bzlTransitiveDigest": "xaCns8Qt+8bJqVLy8r6nc/eL2AjEIX/vOdjqoh5xYac=", + "usagesDigest": "ZVSXMAGpD+xzVNPuvF1IoLBkty7TROO0+akMapt1pAg=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "rules_python_internal": { + "repoRuleId": "@@rules_python+//python/private:internal_config_repo.bzl%internal_config_repo", + "attributes": { + "transition_setting_generators": {}, + "transition_settings": [] + } + }, + "pypi__build": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e2/03/f3c8ba0a6b6e30d7d18c40faab90807c9bb5e9a1e3b2fe2008af624a9c97/build-1.2.1-py3-none-any.whl", + "sha256": "75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__click": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", + "sha256": "ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__colorama": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", + "sha256": "4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__importlib_metadata": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/2d/0a/679461c511447ffaf176567d5c496d1de27cbe34a87df6677d7171b2fbd4/importlib_metadata-7.1.0-py3-none-any.whl", + "sha256": "30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__installer": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/e5/ca/1172b6638d52f2d6caa2dd262ec4c811ba59eee96d54a7701930726bce18/installer-0.7.0-py3-none-any.whl", + "sha256": "05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__more_itertools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/50/e2/8e10e465ee3987bb7c9ab69efb91d867d93959095f4807db102d07995d94/more_itertools-10.2.0-py3-none-any.whl", + "sha256": "686b06abe565edfab151cb8fd385a05651e1fdf8f0a14191e4439283421f8684", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__packaging": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/49/df/1fceb2f8900f8639e278b056416d49134fb8d84c5942ffaa01ad34782422/packaging-24.0-py3-none-any.whl", + "sha256": "2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pep517": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/25/6e/ca4a5434eb0e502210f591b97537d322546e4833dcb4d470a48c375c5540/pep517-0.13.1-py3-none-any.whl", + "sha256": "31b206f67165b3536dd577c5c3f1518e8fbaf38cbc57efff8369a392feff1721", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl", + "sha256": "ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pip_tools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/0d/dc/38f4ce065e92c66f058ea7a368a9c5de4e702272b479c0992059f7693941/pip_tools-7.4.1-py3-none-any.whl", + "sha256": "4c690e5fbae2f21e87843e89c26191f0d9454f362d8acdbd695716493ec8b3a9", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__pyproject_hooks": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/ae/f3/431b9d5fe7d14af7a32340792ef43b8a714e7726f1d7b69cc4e8e7a3f1d7/pyproject_hooks-1.1.0-py3-none-any.whl", + "sha256": "7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__setuptools": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/90/99/158ad0609729111163fc1f674a5a42f2605371a4cf036d0441070e2f7455/setuptools-78.1.1-py3-none-any.whl", + "sha256": "c3a9c4211ff4c309edb8b8c4f1cbfa7ae324c4ba9f91ff254e3d305b9fd54561", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__tomli": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", + "sha256": "939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__wheel": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/7d/cd/d7460c9a869b16c3dd4e1e403cce337df165368c71d6af229a74699622ce/wheel-0.43.0-py3-none-any.whl", + "sha256": "55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + }, + "pypi__zipp": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "url": "https://files.pythonhosted.org/packages/da/55/a03fd7240714916507e1fcf7ae355bd9d9ed2e6db492595f1a67f61681be/zipp-3.18.2-py3-none-any.whl", + "sha256": "dce197b859eb796242b0622af1b8beb0a722d52aa2f57133ead08edd5bf5374e", + "type": "zip", + "build_file_content": "package(default_visibility = [\"//visibility:public\"])\n\nload(\"@rules_python//python:py_library.bzl\", \"py_library\")\n\npy_library(\n name = \"lib\",\n srcs = glob([\"**/*.py\"]),\n data = glob([\"**/*\"], exclude=[\n # These entries include those put into user-installed dependencies by\n # data_exclude to avoid non-determinism.\n \"**/*.py\",\n \"**/*.pyc\",\n \"**/*.pyc.*\", # During pyc creation, temp files named *.pyc.NNN are created\n \"**/*.dist-info/RECORD\",\n \"BUILD\",\n \"WORKSPACE\",\n ]),\n # This makes this directory a top-level in the python import\n # search path for anything that depends on this.\n imports = [\".\"],\n)\n" + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_python+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_python+", + "pypi__build", + "rules_python++config+pypi__build" + ], + [ + "rules_python+", + "pypi__click", + "rules_python++config+pypi__click" + ], + [ + "rules_python+", + "pypi__colorama", + "rules_python++config+pypi__colorama" + ], + [ + "rules_python+", + "pypi__importlib_metadata", + "rules_python++config+pypi__importlib_metadata" + ], + [ + "rules_python+", + "pypi__installer", + "rules_python++config+pypi__installer" + ], + [ + "rules_python+", + "pypi__more_itertools", + "rules_python++config+pypi__more_itertools" + ], + [ + "rules_python+", + "pypi__packaging", + "rules_python++config+pypi__packaging" + ], + [ + "rules_python+", + "pypi__pep517", + "rules_python++config+pypi__pep517" + ], + [ + "rules_python+", + "pypi__pip", + "rules_python++config+pypi__pip" + ], + [ + "rules_python+", + "pypi__pip_tools", + "rules_python++config+pypi__pip_tools" + ], + [ + "rules_python+", + "pypi__pyproject_hooks", + "rules_python++config+pypi__pyproject_hooks" + ], + [ + "rules_python+", + "pypi__setuptools", + "rules_python++config+pypi__setuptools" + ], + [ + "rules_python+", + "pypi__tomli", + "rules_python++config+pypi__tomli" + ], + [ + "rules_python+", + "pypi__wheel", + "rules_python++config+pypi__wheel" + ], + [ + "rules_python+", + "pypi__zipp", + "rules_python++config+pypi__zipp" + ] + ] + } + }, + "@@rules_python+//python/uv:uv.bzl%uv": { + "general": { + "bzlTransitiveDigest": "N8SCcKcL6KnzBLApxvY2jR9vhXjA2VCBZMLZfY3sDRA=", + "usagesDigest": "H8dQoNZcoqP+Mu0tHZTi4KHATzvNkM5ePuEqoQdklIU=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "uv": { + "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", + "attributes": { + "toolchain_type": "'@@rules_python+//python/uv:uv_toolchain_type'", + "toolchain_names": [ + "none" + ], + "toolchain_implementations": { + "none": "'@@rules_python+//python:none'" + }, + "toolchain_compatible_with": { + "none": [ + "@platforms//:incompatible" + ] + }, + "toolchain_target_settings": {} + } + } + }, + "recordedRepoMappingEntries": [ + [ + "rules_python+", + "bazel_tools", + "bazel_tools" + ], + [ + "rules_python+", + "platforms", + "platforms" + ] + ] + } } } }
--- a/mrjunejune/BUILD Sun Nov 09 06:25:16 2025 -0800 +++ b/mrjunejune/BUILD Mon Dec 01 20:22:47 2025 -0800 @@ -1,5 +1,6 @@ load("@rules_cc//cc:cc_binary.bzl", "cc_binary") load("@rules_cc//cc:cc_library.bzl", "cc_library") +load("@rules_python//python:py_binary.bzl", "py_binary") load("//gui_ze:gui_ze.bzl", "move_files_into_dir", "bundle") move_files_into_dir( @@ -26,3 +27,22 @@ name = "mrjunejune_server_bundle", binary = ":mrjunejune_server", ) + +cc_library( + name = "mrjunejune_server_lib", + srcs = ["server_entry.c"], + deps = ["//seobeo:seobeo"], + linkstatic = False, # ensures dynamic linking + visibility = ["//visibility:public"], +) + +py_binary( + name = "python_server", + srcs = ["python_server.py"], + deps = [ + ":mrjunejune_server_lib", + "@pip_deps//:cffi", + ], + data = [":mrjunejune_server_lib"], +) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/backend/routes/todo.ts Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,186 @@ +import { Router } from 'express'; +import * as fs from 'node:fs/promises'; +import path from 'node:path'; +import crypto from 'node:crypto'; + +type Todo = { id: string; value: string; status: number }; + +/** Idk aynthing about encryption but this seemed fine to me so just going to use this... **/ +const ALGO = 'aes-256-gcm'; +const KEYLEN = 32; +const IVLEN = 12; +const SALTLEN = 16; +const PEPPER = process.env.TODO_PEPPER ?? ''; // optional server-side secret + +type EncryptedPayload = { + v: 1; + kdf: 'scrypt'; + salt: string; // base64 + iv: string; // base64 + tag: string; // base64 + ciphertext: string;// base64 +}; + +// ---- crypto helpers -------------------------------------------------------- + +function kdf(passphrase: string, salt: Buffer): Buffer { + // scryptSync is fine for small payloads; use async/promisified if you prefer. + return crypto.scryptSync(passphrase, salt, KEYLEN); +} + +function encryptJSON(data: unknown, keyword: string): EncryptedPayload { + const salt = crypto.randomBytes(SALTLEN); + const key = kdf(keyword + PEPPER, salt); + const iv = crypto.randomBytes(IVLEN); + + const cipher = crypto.createCipheriv(ALGO, key, iv); + const plaintext = Buffer.from(JSON.stringify(data), 'utf8'); + const ciphertext = Buffer.concat([cipher.update(plaintext), cipher.final()]); + const tag = cipher.getAuthTag(); + + return { + v: 1, + kdf: 'scrypt', + salt: salt.toString('base64'), + iv: iv.toString('base64'), + tag: tag.toString('base64'), + ciphertext: ciphertext.toString('base64'), + }; +} + +function decryptJSON(payload: EncryptedPayload, keyword: string): any { + const salt = Buffer.from(payload.salt, 'base64'); + const iv = Buffer.from(payload.iv, 'base64'); + const tag = Buffer.from(payload.tag, 'base64'); + const ciphertext = Buffer.from(payload.ciphertext, 'base64'); + + const key = kdf(keyword + PEPPER, salt); + const decipher = crypto.createDecipheriv(ALGO, key, iv); + decipher.setAuthTag(tag); + + const plaintext = Buffer.concat([decipher.update(ciphertext), decipher.final()]); + return JSON.parse(plaintext.toString('utf8')); +} + +// ---- path helper: derive a file path from keyword -------------------------- + +function pathForKeyword(baseDir: string, keyword: string): string { + // Hash the keyword so you donāt leak it in the filename and to avoid FS-unsafe chars. + const h = crypto.createHash('sha256').update(keyword, 'utf8').digest('hex'); + // Optional sharding to keep directories small: + return path.join(baseDir, h.slice(0, 2), `${h}.json`); +} + +// ---- router ---------------------------------------------------------------- +const getInitialTodos = () => [ + { + id: crypto.randomUUID(), + value: "Hello from TODO", + status: 0, + } +] +export function createTodoRouter(dataFileOrDir: string) { + const router = Router(); + + // Support both a file path (old) or a directory (new). Weāll store under that directory. + const baseDir = path.extname(dataFileOrDir) + ? path.dirname(dataFileOrDir) + : dataFileOrDir; + + const requireKeyword = (req: any): string => { + const key = (typeof req.query.key === 'string' && req.query.key) || req.header('x-keyword'); + if (typeof key !== 'string' || !key.trim()) { + throw Object.assign(new Error('Missing ?key= query or x-keyword header'), { status: 400 }); + } + return key.trim(); + }; + + const readTodos = async (userKeyword: string): Promise<Todo[]> => { + const filePath = pathForKeyword(baseDir, userKeyword); + try { + const raw = await fs.readFile(filePath, 'utf8'); + const parsed = JSON.parse(raw); + + // If this looks like an encrypted payload, decrypt; else treat as plaintext array for backward compat. + if (parsed && parsed.ciphertext && parsed.iv && parsed.tag && parsed.salt) { + return decryptJSON(parsed as EncryptedPayload, userKeyword) as Todo[]; + } + // fallback (legacy plaintext) + return parsed as Todo[]; + } catch (e: any) { + if (e?.code === 'ENOENT') { + const initial = getInitialTodos(); + await writeTodos(initial, userKeyword); // create the file immediately + return initial; + } + throw e; + } + }; + + const writeTodos = async (todos: Todo[], userKeyword: string) => { + const filePath = pathForKeyword(baseDir, userKeyword); + await fs.mkdir(path.dirname(filePath), { recursive: true }); + const payload = encryptJSON(todos, userKeyword); + await fs.writeFile(filePath, JSON.stringify(payload, null, 2), { encoding: 'utf8', mode: 0o600 }); + }; + + router.get('/', async (req, res) => { + try { + const keyword = requireKeyword(req); + const todos = await readTodos(keyword); + res.json({ todos }); + } catch (err: any) { + res.status(err?.status || 500).json({ error: err?.message || 'Internal error' }); + } + }); + + router.post('/', async (req, res) => { + try { + const keyword = requireKeyword(req); + + const body = req.body?.newTodo; + if (!body || typeof body.value !== 'string' || typeof body.status !== 'number') { + return res.status(400).json({ newTodo: null }); + } + + const todos = await readTodos(keyword); + const todo: Todo = { + id: body.id ?? crypto.randomUUID(), + value: body.value, + status: body.status, + }; + todos.push(todo); + + // Optional chaos test: + // await new Promise(r => setTimeout(r, 1000)); + // if (Math.random() > 0.5) return res.status(400).json({ newTodo: null }); + + await writeTodos(todos, keyword); + res.status(200).json({ newTodo: todo, todos }); // keep your shape if you prefer + } catch (err: any) { + res.status(err?.status || 500).json({ error: err?.message || 'Internal error' }); + } + }); + + router.patch('/', async (req, res) => { + try { + const keyword = requireKeyword(req); + + const body = req.body; + if (!body || typeof body.todoId !== 'string' || typeof body.status !== 'number') { + return res.status(400).json({ newTodo: null }); + } + + const todos = (await readTodos(keyword)).map( + (todo) => todo.id === body.todoId ? {...todo, status: body.status } : todo); + + await writeTodos(todos, keyword); + res.status(200).json({ todos }); + } catch (err: any) { + res.status(err?.status || 500).json({ error: err?.message || 'Internal error' }); + } + }); + + + return router; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/backend/routes/web.ts Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,37 @@ +import { Router, static as serveStatic } from 'express'; +import path from 'node:path'; + +type SpaMount = { + baseUrl: string; // Base path like /games + entryHtml: string; // we need to define its entry index html +}; + +export function createWebRouter(publicDir: string, spaMounts: SpaMount[]) { + const router = Router(); + + // order matters so geting just public one first + router.use(serveStatic(publicDir, { + index: 'index.html', + extensions: ['html'], + setHeaders: (res) => { + res.setHeader('X-Content-Type-Options', 'nosniff'); + }, + })); + + for (const { baseUrl, entryHtml } of spaMounts) { + router.get(baseUrl, (_req, res) => { + res.sendFile(path.join(publicDir, entryHtml)); + }); + router.get(`${baseUrl}/:rest`, (_req, res) => { + res.sendFile(path.join(publicDir, entryHtml)); + }); + } + + + router.use((_req, res) => { + res.status(404).send('Not Found'); + }); + + return router; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/backend/routes/wordle.ts Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,20 @@ +import { Router } from 'express'; + + +const WORDS: string[] = [ + "about","other","which","their","there","first","could","sound","great","again", + "still","every","small","place","right","think","three","house","point","water", + "after","thing","where","world","night","below","heavy","light","short","long", + "happy","angry","brown","black","white","green","plant","sweet","spice","bread", + "clock","chain","stone","brick","metal","paper","glass","chair","table","couch" +]; + +export function createWorldeRouter() { + const router = Router(); + const randomIdx = Math.floor(Math.random() * WORDS.length); + router.get('/', async (_req, res) => { + res.json({ targetWord: WORDS[randomIdx] }); + }); + return router; +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/backend/server.ts Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,26 @@ +import express from 'express'; +import path from 'node:path'; +import { createTodoRouter } from './routes/todo'; +import { createWebRouter } from './routes/web'; +import { createWorldeRouter } from './routes/wordle'; + +const app = express(); +app.use(express.json()); + +const ROOT = process.cwd(); +const PUBLIC_DIR = path.resolve(ROOT, 'public'); +const DATA_FILE = path.resolve(ROOT, 'data', 'todos.json'); +const PORT = Number(process.env.PORT) || 4000; + +const SPA_MOUNTS = [ + { baseUrl: '/games', entryHtml: 'games/index.html' }, +]; + +app.use('/api/v1/todo', createTodoRouter(DATA_FILE)); +app.use('/api/v1/wordle', createWorldeRouter()); +app.use('/', createWebRouter(PUBLIC_DIR, SPA_MOUNTS)); + +app.listen(PORT, () => { + console.log(`ā http://localhost:${PORT}`); +}); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/data/2c/2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,8 @@ +{ + "v": 1, + "kdf": "scrypt", + "salt": "IiZPKycmauid4kt39HH+2w==", + "iv": "w+AKlZXWSOZjoa2f", + "tag": "/vuaOnM3Y75RptqffLEvmw==", + "ciphertext": "O0W3vN+hMJV7BZNEjdibhdr1hZF6EdoxUb07KHQ5bFaqEDDEfKjpWeaJQxIjyF2OQszmoLnsNhcj+904XBbLbYB0HfR2mjZYIimFlnv3Kj2X4LoC0e5cOc/+tO9MOxXt0Y6R6P342xPqHsJNA1W6P9kbcN6kejkNzTz7IOjBpoS3jEQsA1DDupa8TchIr74O+cFSWHymBto7NJ8=" +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/data/78/78cf7dc2eb6fc2b501af9a1d49df5c99715003620eed0d7bcfaebfd8bc68099e.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,8 @@ +{ + "v": 1, + "kdf": "scrypt", + "salt": "jLEfJJrGSB8qbu1RONn07Q==", + "iv": "AkVGh3AzKx0XhfLB", + "tag": "x00aGW1Gb8u6LVSKTo4uKg==", + "ciphertext": "Yp/OCWVslxZiCUnEKodabVHSqdSMMbg1jCqdoeDDgKeubajW8ZeQoLvjdi+MVrdfLS/6Z5gA/Lz4nf3kGfAc2ktJAZFxCw29cOWIH2VbgcuH0h0CD27i8evfZSD5tHu/M+lXMkBR63cKh4uw7iuG7qt9XBZZCj/saHFCj4VYMeqvTdu/zGZQ7tRG/rax3BCHaPSAH7d1ZGAhQsL0+rtDEtOPObuJxH1rBzHREKB4f/DgCxaAzIzhG8MYkg9t2k7ahwqStYB7HZg577MWEXQFtun4JuPDuysTv9V2XD4C19kXGVbolzvnggxQhr3cBjJVI0wbvX8=" +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/data/9f/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,8 @@ +{ + "v": 1, + "kdf": "scrypt", + "salt": "UWebMGDbcAdAI0qM5OWwmA==", + "iv": "2oTbx+3rf/8Fps/K", + "tag": "arxOYoSnbYE11/M6XiryXQ==", + "ciphertext": "meDkNVaAdDxlOOE5ul0k/1Cq5H2csvl52y03+dcNfQlz2oS5DEg5AVjhk99fEIG6sPazJPCZQ7dwiEqsdZjvsRsMpJ+iXO1SSONYP2BbypUCQzHNGyB78RW8OPZPg5dEARDU2NGKk217ufAml7OI5H2XJIErJEUn4JZ7HEY/nL5UL5tyqIZVCXcx8gVuwUjgl1BC3E8Wbe9kVQeBxmfiF1TVGzpPmzzvdljOKxxkjUpLlEj8sWQHX8xEDlQtxS5DB4s110S7FvC3labXJU8qKr/tUUwk5L+gPjCeqseevUKAzYonWA==" +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/data/todos.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,22 @@ +[ + { + "id": "543f6aa3-8125-4276-aa8f-e5b93b906409", + "value": "hello world", + "status": 0 + }, + { + "id": "2752a3d5-130e-48a5-9ec1-38bf05bd0807", + "value": "hello", + "status": 0 + }, + { + "id": "3dac95f4-ab54-4b26-8e58-bcfa3e7f2420", + "value": "as", + "status": 0 + }, + { + "id": "2f7f7acc-3bd2-4cec-b9fd-b2bef03bdb18", + "value": "This is a really long messages what should I do with this? This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?This is a really long messages what should I do with this?", + "status": 0 + } +] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/package-lock.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,2496 @@ +{ + "name": "tsx-playground", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "tsx-playground", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "express": "^5.1.0", + "react": "^19.1.1", + "react-dom": "^19.1.1" + }, + "devDependencies": { + "@types/express": "^5.0.3", + "@types/node": "^24.1.0", + "@types/react": "^19.1.9", + "@types/react-dom": "^19.1.7", + "concurrently": "^9.2.0", + "esbuild": "^0.25.8", + "ts-node": "^10.9.2", + "ts-node-dev": "^2.0.0", + "typescript": "^5.9.2", + "typescript-language-server": "^3.2.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz", + "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.1.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.9.tgz", + "integrity": "sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==", + "dev": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.1.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.7.tgz", + "integrity": "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==", + "dev": true, + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@types/send": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concurrently": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.0.tgz", + "integrity": "sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "lodash": "^4.17.21", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "supports-color": "^8.1.1", + "tree-kill": "^1.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "conc": "dist/bin/concurrently.js", + "concurrently": "dist/bin/concurrently.js" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", + "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node-dev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz", + "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.6", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^10.4.0", + "tsconfig": "^7.0.0" + }, + "bin": { + "ts-node-dev": "lib/bin.js", + "tsnd": "lib/bin.js" + }, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "node-notifier": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-language-server": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.2.0.tgz", + "integrity": "sha512-Ih7/t1mj5lUa/mlHc/ynYRxEVIIJ/B+FjePxxQBa5ucvSzhK5NZJ0FesX+POV4AD2P1C2HDKzUZaq16iV/+Ufg==", + "dev": true, + "bin": { + "typescript-language-server": "lib/cli.mjs" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/package.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,46 @@ +{ + "name": "tsx-playground", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build-current": "esbuild src/current.tsx --bundle --outdir=public/current --splitting --format=esm --loader:.tsx=tsx --sourcemap --watch", + "watch-current": "esbuild src/current.tsx --bundle --outfile=public/current/current.js --loader:.tsx=tsx --watch", + + "build-games": "esbuild src/Games.tsx --bundle --outdir=public/games --splitting --format=esm --loader:.tsx=tsx --sourcemap", + "watch-games": "esbuild src/Games.tsx --bundle --outdir=public/games --splitting --format=esm --loader:.tsx=tsx --sourcemap --watch", + + "build-todo": "esbuild src/Todo.tsx --bundle --outfile=public/todo/todo.js --format=esm --loader:.tsx=tsx --sourcemap --watch", + "watch-todo": "esbuild src/Todo.tsx --bundle --outfile=public/todo/todo.js --loader:.tsx=tsx --watch", + + "serve": "ts-node-dev --respawn --transpile-only --watch backend --ignore-watch node_modules backend/server.ts", + "serve-prod": "ts-node-dev --respawn --transpile-only --ignore-watch node_modules backend/server.ts", + + "dev": "concurrently -k \"npm:watch-games\" \"npm:watch-current\" \"npm:watch-todo\" \"npm:serve\"", + + "build-all": "npm run build-games && npm run build-todo", + + "prod": "npm run build-all && npm run serve-prod" + }, + "keywords": [], + "author": "", + "license": "ISC", + "type": "commonjs", + "dependencies": { + "express": "^5.1.0", + "react": "^19.1.1", + "react-dom": "^19.1.1" + }, + "devDependencies": { + "@types/express": "^5.0.3", + "@types/node": "^24.1.0", + "@types/react": "^19.1.9", + "@types/react-dom": "^19.1.7", + "concurrently": "^9.2.0", + "esbuild": "^0.25.8", + "ts-node": "^10.9.2", + "ts-node-dev": "^2.0.0", + "typescript": "^5.9.2", + "typescript-language-server": "^3.2.0" + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/pickRandom.ts Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,89 @@ +const LIST_OF_PROBLEM = [ + { + name: "TicTacToe", + description: ` +You are tasked with building a browser-based TicTacToe game using React. + +Requirements: +1. The board is 3 Ć 3 with clickable cells. +2. Two players (X and O) take turns marking empty cells. +3. The game detects: + - X wins + - O wins + - Tie +4. After the game ends, provide a "Reset" button to restart. +5. (Optional) Add a move history feature allowing users to jump back to previous states. + +Focus Points: +- Manage game state effectively using useReducer or useState. +- Ensure no unnecessary re-renders for performance. +- Style it minimally but clearly. + `.trim() + }, + { + name: "Robot Moving", + description: ` +Create a grid-based game where a robot moves to reach a goal. + +Requirements: +1. The grid is 10 Ć 10. +2. The robot starts at (0, 0) and the goal is at a random position. +3. Some cells are obstacles the robot cannot move into. +4. Use arrow keys or buttons (Up, Down, Left, Right) to move the robot. +5. The game ends when the robot reaches the goal. + +Focus Points: +- Store the board, robot position, and obstacles in state. +- Prevent moving out of bounds or into obstacles. +- Show win message when the goal is reached. + `.trim() + }, + { + name: "Connect Four", + description: ` +Build a Connect Four game in React. + +Requirements: +1. Board size: 7 columns Ć 6 rows. +2. Two players take turns dropping discs into columns. +3. Discs fall to the lowest available row in the chosen column. +4. Detect win conditions: 4 in a row (horizontal, vertical, diagonal). +5. Provide a "Restart" button to reset the game. + +Focus Points: +- Represent the board as a 2D array in state. +- Efficiently check for win conditions. +- Use memoization to avoid unnecessary re-renders. + `.trim() + }, + { + name: "Todo App", + description: ` +Implement a simple Todo App with React and React Query. + +Requirements: +1. Display a list of todos from a mock API. +2. Add a new todo via a form. +3. Mark todos as completed. +4. Delete todos. +5. Use optimistic updates so the UI responds instantly before the API confirms. + +Focus Points: +- Integrate React Query for data fetching and mutation. +- Ensure loading and error states are handled gracefully. +- Keep UI responsive even with network latency. + `.trim() + }, + { + nmae: "" + } +]; + +function pickRandom<T>(list: Array<T>): T { + return list[Math.floor(Math.random() * list.length)]; +} + +// Mock test: print problem name & description +const problem = pickRandom(LIST_OF_PROBLEM); +console.log(`Problem: ${problem.name}\n\n${problem.description}`); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/base.css Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,266 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: linear-gradient(135deg, #667eea 10%, #764ba2 100%); + background-attachment: fixed; + background-repeat: no-repeat; + background-size: cover; + min-height: 100vh; + overflow-x: hidden; +} + +.container { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 2rem; + position: relative; +} + +/* Animated background particles */ +.particle { + position: absolute; + background: rgba(255, 255, 255, 0.1); + border-radius: 50%; + pointer-events: none; + animation: float 6s ease-in-out infinite; +} + +.particle:nth-child(1) { width: 80px; height: 80px; top: 10%; left: 10%; animation-delay: 0s; } +.particle:nth-child(2) { width: 60px; height: 60px; top: 20%; right: 10%; animation-delay: 2s; } +.particle:nth-child(3) { width: 40px; height: 40px; bottom: 30%; left: 20%; animation-delay: 4s; } +.particle:nth-child(4) { width: 100px; height: 100px; bottom: 10%; right: 20%; animation-delay: 1s; } + +@keyframes float { + 0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.7; } + 50% { transform: translateY(-20px) rotate(180deg); opacity: 0.3; } +} + +.main-content { + text-align: center; + z-index: 10.logo:hover::before { + transform: rotate(45deg) translate(50%, 50%); + }; + max-width: 800px; +} + +.logo-container { + margin-bottom: 2rem; + position: relative; +} + +.logo { + width: 120px; + height: 120px; + background: url('epi_favicon.svg'); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); + transition: transform 0.3s ease; + position: relative; + overflow: hidden; +} + +.logo::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent); + transform: rotate(45deg); + transition: transform 0.6s ease; +} + +.logo:hover { + transform: scale(1.05) rotate(5deg); +} + +.logo-placeholder { + font-size: 3rem; + color: #333; +} + +h1 { + font-size: 3.5rem; + font-weight: 800; + color: white; + margin-bottom: 1rem; + background: linear-gradient(45deg, #fff, #f0f0f0); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + text-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + animation: fadeInUp 1s ease-out; +} + +.subtitle { + font-size: 1.3rem; + color: rgba(255, 255, 255, 0.9); + margin-bottom: 3rem; + font-weight: 300; + animation: fadeInUp 1s ease-out 0.2s both; +} + +.nav-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + width: 100%; + max-width: 800px; + animation: fadeInUp 1s ease-out 0.4s both; +} + +.nav-card { + background: rgba(255, 255, 255, 0.1); + backdrop-filter: blur(20px); + border-radius: 20px; + padding: 2.5rem 2rem; + text-decoration: none; + color: white; + transition: all 0.3s ease; + border: 1px solid rgba(255, 255, 255, 0.2); + position: relative; + overflow: hidden; + group: hover; +} + +.nav-card::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); + transition: left 0.5s ease; +} + +.nav-card:hover::before { + left: 100%; +} + +.nav-card:hover { + transform: translateY(-10px) scale(1.02); + background: rgba(255, 255, 255, 0.15); + box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2); +} + +.nav-icon { + font-size: 3rem; + margin-bottom: 1rem; + display: block; + transition: transform 0.3s ease; +} + +.nav-card:hover .nav-icon { + transform: scale(1.1) rotate(5deg); +} + +.nav-title { + font-size: 1.5rem; + font-weight: 600; + margin-bottom: 0.5rem; +} + +.nav-description { + font-size: 1rem; + opacity: 0.8; + line-height: 1.5; +} + +.games { --accent: #ff6b6b; } +.todo { --accent: #4ecdc4; } +.others { --accent: #45b7d1; } + +.nav-card.games:hover { border-color: var(--accent); box-shadow: 0 25px 50px rgba(255, 107, 107, 0.3); } +.nav-card.todo:hover { border-color: var(--accent); box-shadow: 0 25px 50px rgba(78, 205, 196, 0.3); } +.nav-card.others:hover { border-color: var(--accent); box-shadow: 0 25px 50px rgba(69, 183, 209, 0.3); } + +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +@media (max-width: 768px) { + h1 { + font-size: 2.5rem; + } + + .subtitle { + font-size: 1.1rem; + } + + .nav-grid { + grid-template-columns: 1fr; + gap: 1.5rem; + } + + .nav-card { + padding: 2rem 1.5rem; + } +} + +/* Floating elements */ +.floating-shape { + position: absolute; + pointer-events: none; + opacity: 0.1; +} + +.shape-1 { + top: 10%; + left: 5%; + width: 50px; + height: 50px; + background: white; + border-radius: 10px; + animation: rotate 10s linear infinite; +} + +.shape-2 { + top: 70%; + right: 10%; + width: 30px; + height: 30px; + background: white; + border-radius: 50%; + animation: rotate 15s linear infinite reverse; +} + +@keyframes rotate { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } +} + +/* This gets used within the script */ +@keyframes sparkleAnim { + 0% { + transform: scale(0) rotate(0deg); + opacity: 1; + } + 50% { + transform: scale(1) rotate(180deg); + opacity: 1; + } + 100% { + transform: scale(0) rotate(360deg); + opacity: 0; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/current/current.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,19702 @@ +"use strict"; +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + + // node_modules/scheduler/cjs/scheduler.development.js + var require_scheduler_development = __commonJS({ + "node_modules/scheduler/cjs/scheduler.development.js"(exports) { + "use strict"; + (function() { + function performWorkUntilDeadline() { + needsPaint = false; + if (isMessageLoopRunning) { + var currentTime = exports.unstable_now(); + startTime = currentTime; + var hasMoreWork = true; + try { + a: { + isHostCallbackScheduled = false; + isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1); + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + b: { + advanceTimers(currentTime); + for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) { + var callback = currentTask.callback; + if ("function" === typeof callback) { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var continuationCallback = callback( + currentTask.expirationTime <= currentTime + ); + currentTime = exports.unstable_now(); + if ("function" === typeof continuationCallback) { + currentTask.callback = continuationCallback; + advanceTimers(currentTime); + hasMoreWork = true; + break b; + } + currentTask === peek(taskQueue) && pop(taskQueue); + advanceTimers(currentTime); + } else pop(taskQueue); + currentTask = peek(taskQueue); + } + if (null !== currentTask) hasMoreWork = true; + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + hasMoreWork = false; + } + } + break a; + } finally { + currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false; + } + hasMoreWork = void 0; + } + } finally { + hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false; + } + } + } + function push(heap, node) { + var index = heap.length; + heap.push(node); + a: for (; 0 < index; ) { + var parentIndex = index - 1 >>> 1, parent = heap[parentIndex]; + if (0 < compare(parent, node)) + heap[parentIndex] = node, heap[index] = parent, index = parentIndex; + else break a; + } + } + function peek(heap) { + return 0 === heap.length ? null : heap[0]; + } + function pop(heap) { + if (0 === heap.length) return null; + var first = heap[0], last = heap.pop(); + if (last !== first) { + heap[0] = last; + a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) { + var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex]; + if (0 > compare(left, last)) + rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex); + else if (rightIndex < length && 0 > compare(right, last)) + heap[index] = right, heap[rightIndex] = last, index = rightIndex; + else break a; + } + } + return first; + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return 0 !== diff ? diff : a.id - b.id; + } + function advanceTimers(currentTime) { + for (var timer = peek(timerQueue); null !== timer; ) { + if (null === timer.callback) pop(timerQueue); + else if (timer.startTime <= currentTime) + pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer); + else break; + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) + if (null !== peek(taskQueue)) + isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()); + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + } + } + function shouldYieldToHost() { + return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true; + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports.unstable_now()); + }, ms); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + exports.unstable_now = void 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + exports.unstable_now = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date, initialTime = localDate.now(); + exports.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1; + if ("function" === typeof localSetImmediate) + var schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + else if ("undefined" !== typeof MessageChannel) { + var channel = new MessageChannel(), port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + exports.unstable_IdlePriority = 5; + exports.unstable_ImmediatePriority = 1; + exports.unstable_LowPriority = 4; + exports.unstable_NormalPriority = 3; + exports.unstable_Profiling = null; + exports.unstable_UserBlockingPriority = 2; + exports.unstable_cancelCallback = function(task) { + task.callback = null; + }; + exports.unstable_forceFrameRate = function(fps) { + 0 > fps || 125 < fps ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported" + ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5; + }; + exports.unstable_getCurrentPriorityLevel = function() { + return currentPriorityLevel; + }; + exports.unstable_next = function(eventHandler) { + switch (currentPriorityLevel) { + case 1: + case 2: + case 3: + var priorityLevel = 3; + break; + default: + priorityLevel = currentPriorityLevel; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_requestPaint = function() { + needsPaint = true; + }; + exports.unstable_runWithPriority = function(priorityLevel, eventHandler) { + switch (priorityLevel) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + priorityLevel = 3; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_scheduleCallback = function(priorityLevel, callback, options) { + var currentTime = exports.unstable_now(); + "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime; + switch (priorityLevel) { + case 1: + var timeout = -1; + break; + case 2: + timeout = 250; + break; + case 5: + timeout = 1073741823; + break; + case 4: + timeout = 1e4; + break; + default: + timeout = 5e3; + } + timeout = options + timeout; + priorityLevel = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: options, + expirationTime: timeout, + sortIndex: -1 + }; + options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()))); + return priorityLevel; + }; + exports.unstable_shouldYield = shouldYieldToHost; + exports.unstable_wrapCallback = function(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + }; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/scheduler/index.js + var require_scheduler = __commonJS({ + "node_modules/scheduler/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_scheduler_development(); + } + } + }); + + // node_modules/react/cjs/react.development.js + var require_react_development = __commonJS({ + "node_modules/react/cjs/react.development.js"(exports, module) { + "use strict"; + (function() { + function defineDeprecationWarning(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function() { + console.warn( + "%s(...) is deprecated in plain JavaScript React classes. %s", + info[0], + info[1] + ); + } + }); + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function warnNoop(publicInstance, callerName) { + publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass"; + var warningKey = publicInstance + "." + callerName; + didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error( + "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", + callerName, + publicInstance + ), didWarnStateUpdateForUnmountedComponent[warningKey] = true); + } + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function ComponentDummy() { + } + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function cloneAndReplaceKey(oldElement, newKey) { + newKey = ReactElement( + oldElement.type, + newKey, + void 0, + void 0, + oldElement._owner, + oldElement.props, + oldElement._debugStack, + oldElement._debugTask + ); + oldElement._store && (newKey._store.validated = oldElement._store.validated); + return newKey; + } + function isValidElement(object) { + return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + } + function escape(key) { + var escaperLookup = { "=": "=0", ":": "=2" }; + return "$" + key.replace(/[=:]/g, function(match) { + return escaperLookup[match]; + }); + } + function getElementKey(element, index) { + return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36); + } + function noop$1() { + } + function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then( + function(fulfilledValue) { + "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue); + }, + function(error) { + "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error); + } + )), thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = false; + if (null === children) invokeCallback = true; + else + switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = true; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + break; + case REACT_LAZY_TYPE: + return invokeCallback = children._init, mapIntoArray( + invokeCallback(children._payload), + array, + escapedPrefix, + nameSoFar, + callback + ); + } + } + if (invokeCallback) { + invokeCallback = children; + callback = callback(invokeCallback); + var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; + isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) { + return c; + })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey( + callback, + escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace( + userProvidedKeyEscapeRegex, + "$&/" + ) + "/") + childKey + ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback)); + return 1; + } + invokeCallback = 0; + childKey = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) + for (var i = 0; i < children.length; i++) + nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if (i = getIteratorFn(children), "function" === typeof i) + for (i === children.entries && (didWarnAboutMaps || console.warn( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true), children = i.call(children), i = 0; !(nameSoFar = children.next()).done; ) + nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if ("object" === type) { + if ("function" === typeof children.then) + return mapIntoArray( + resolveThenable(children), + array, + escapedPrefix, + nameSoFar, + callback + ); + array = String(children); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead." + ); + } + return invokeCallback; + } + function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], count = 0; + mapIntoArray(children, result, "", "", function(child) { + return func.call(context, child, count++); + }); + return result; + } + function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then( + function(moduleObject) { + if (0 === payload._status || -1 === payload._status) + payload._status = 1, payload._result = moduleObject; + }, + function(error) { + if (0 === payload._status || -1 === payload._status) + payload._status = 2, payload._result = error; + } + ); + -1 === payload._status && (payload._status = 0, payload._result = ctor); + } + if (1 === payload._status) + return ctor = payload._result, void 0 === ctor && console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", + ctor + ), "default" in ctor || console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", + ctor + ), ctor.default; + throw payload._result; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + function noop() { + } + function enqueueTask(task) { + if (null === enqueueTaskImpl) + try { + var requireString = ("require" + Math.random()).slice(0, 7); + enqueueTaskImpl = (module && module[requireString]).call( + module, + "timers" + ).setImmediate; + } catch (_err) { + enqueueTaskImpl = function(callback) { + false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error( + "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning." + )); + var channel = new MessageChannel(); + channel.port1.onmessage = callback; + channel.port2.postMessage(void 0); + }; + } + return enqueueTaskImpl(task); + } + function aggregateErrors(errors) { + return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0]; + } + function popActScope(prevActQueue, prevActScopeDepth) { + prevActScopeDepth !== actScopeDepth - 1 && console.error( + "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. " + ); + actScopeDepth = prevActScopeDepth; + } + function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { + var queue = ReactSharedInternals.actQueue; + if (null !== queue) + if (0 !== queue.length) + try { + flushActQueue(queue); + enqueueTask(function() { + return recursivelyFlushAsyncActWork(returnValue, resolve, reject); + }); + return; + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + else ReactSharedInternals.actQueue = null; + 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue); + } + function flushActQueue(queue) { + if (!isFlushing) { + isFlushing = true; + var i = 0; + try { + for (; i < queue.length; i++) { + var callback = queue[i]; + do { + ReactSharedInternals.didUsePromise = false; + var continuation = callback(false); + if (null !== continuation) { + if (ReactSharedInternals.didUsePromise) { + queue[i] = callback; + queue.splice(0, i); + return; + } + callback = continuation; + } else break; + } while (1); + } + queue.length = 0; + } catch (error) { + queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error); + } finally { + isFlushing = false; + } + } + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = { + isMounted: function() { + return false; + }, + enqueueForceUpdate: function(publicInstance) { + warnNoop(publicInstance, "forceUpdate"); + }, + enqueueReplaceState: function(publicInstance) { + warnNoop(publicInstance, "replaceState"); + }, + enqueueSetState: function(publicInstance) { + warnNoop(publicInstance, "setState"); + } + }, assign = Object.assign, emptyObject = {}; + Object.freeze(emptyObject); + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function(partialState, callback) { + if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables." + ); + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function(callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + var deprecatedAPIs = { + isMounted: [ + "isMounted", + "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks." + ], + replaceState: [ + "replaceState", + "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)." + ] + }, fnName; + for (fnName in deprecatedAPIs) + deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + ComponentDummy.prototype = Component.prototype; + deprecatedAPIs = PureComponent.prototype = new ComponentDummy(); + deprecatedAPIs.constructor = PureComponent; + assign(deprecatedAPIs, Component.prototype); + deprecatedAPIs.isPureReactComponent = true; + var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = { + H: null, + A: null, + T: null, + S: null, + V: null, + actQueue: null, + isBatchingLegacy: false, + didScheduleLegacyUpdate: false, + didUsePromise: false, + thrownErrors: [], + getCurrentStack: null, + recentlyCreatedOwnerStacks: 0 + }, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() { + return null; + }; + deprecatedAPIs = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind( + deprecatedAPIs, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) { + queueMicrotask(function() { + return queueMicrotask(callback); + }); + } : enqueueTask; + deprecatedAPIs = Object.freeze({ + __proto__: null, + c: function(size) { + return resolveDispatcher().useMemoCache(size); + } + }); + exports.Children = { + map: mapChildren, + forEach: function(children, forEachFunc, forEachContext) { + mapChildren( + children, + function() { + forEachFunc.apply(this, arguments); + }, + forEachContext + ); + }, + count: function(children) { + var n = 0; + mapChildren(children, function() { + n++; + }); + return n; + }, + toArray: function(children) { + return mapChildren(children, function(child) { + return child; + }) || []; + }, + only: function(children) { + if (!isValidElement(children)) + throw Error( + "React.Children.only expected to receive a single React element child." + ); + return children; + } + }; + exports.Component = Component; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.Profiler = REACT_PROFILER_TYPE; + exports.PureComponent = PureComponent; + exports.StrictMode = REACT_STRICT_MODE_TYPE; + exports.Suspense = REACT_SUSPENSE_TYPE; + exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals; + exports.__COMPILER_RUNTIME = deprecatedAPIs; + exports.act = function(callback) { + var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth; + actScopeDepth++; + var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false; + try { + var result = callback(); + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + if (0 < ReactSharedInternals.thrownErrors.length) + throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + if (null !== result && "object" === typeof result && "function" === typeof result.then) { + var thenable = result; + queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);" + )); + }); + return { + then: function(resolve, reject) { + didAwaitActCall = true; + thenable.then( + function(returnValue) { + popActScope(prevActQueue, prevActScopeDepth); + if (0 === prevActScopeDepth) { + try { + flushActQueue(queue), enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue, + resolve, + reject + ); + }); + } catch (error$0) { + ReactSharedInternals.thrownErrors.push(error$0); + } + if (0 < ReactSharedInternals.thrownErrors.length) { + var _thrownError = aggregateErrors( + ReactSharedInternals.thrownErrors + ); + ReactSharedInternals.thrownErrors.length = 0; + reject(_thrownError); + } + } else resolve(returnValue); + }, + function(error) { + popActScope(prevActQueue, prevActScopeDepth); + 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors( + ReactSharedInternals.thrownErrors + ), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error); + } + ); + } + }; + } + var returnValue$jscomp$0 = result; + popActScope(prevActQueue, prevActScopeDepth); + 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)" + )); + }), ReactSharedInternals.actQueue = null); + if (0 < ReactSharedInternals.thrownErrors.length) + throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + return { + then: function(resolve, reject) { + didAwaitActCall = true; + 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue$jscomp$0, + resolve, + reject + ); + })) : resolve(returnValue$jscomp$0); + } + }; + }; + exports.cache = function(fn) { + return function() { + return fn.apply(null, arguments); + }; + }; + exports.captureOwnerStack = function() { + var getCurrentStack = ReactSharedInternals.getCurrentStack; + return null === getCurrentStack ? null : getCurrentStack(); + }; + exports.cloneElement = function(element, config, children) { + if (null === element || void 0 === element) + throw Error( + "The argument must be a React element, but you passed " + element + "." + ); + var props = assign({}, element.props), key = element.key, owner = element._owner; + if (null != config) { + var JSCompiler_inline_result; + a: { + if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( + config, + "ref" + ).get) && JSCompiler_inline_result.isReactWarning) { + JSCompiler_inline_result = false; + break a; + } + JSCompiler_inline_result = void 0 !== config.ref; + } + JSCompiler_inline_result && (owner = getOwner()); + hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key); + for (propName in config) + !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]); + } + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + JSCompiler_inline_result = Array(propName); + for (var i = 0; i < propName; i++) + JSCompiler_inline_result[i] = arguments[i + 2]; + props.children = JSCompiler_inline_result; + } + props = ReactElement( + element.type, + key, + void 0, + void 0, + owner, + props, + element._debugStack, + element._debugTask + ); + for (key = 2; key < arguments.length; key++) + owner = arguments[key], isValidElement(owner) && owner._store && (owner._store.validated = 1); + return props; + }; + exports.createContext = function(defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + defaultValue._currentRenderer = null; + defaultValue._currentRenderer2 = null; + return defaultValue; + }; + exports.createElement = function(type, config, children) { + for (var i = 2; i < arguments.length; i++) { + var node = arguments[i]; + isValidElement(node) && node._store && (node._store.validated = 1); + } + i = {}; + node = null; + if (null != config) + for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn( + "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" + )), hasValidKey(config) && (checkKeyStringCoercion(config.key), node = "" + config.key), config) + hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]); + var childrenLength = arguments.length - 2; + if (1 === childrenLength) i.children = children; + else if (1 < childrenLength) { + for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++) + childArray[_i] = arguments[_i + 2]; + Object.freeze && Object.freeze(childArray); + i.children = childArray; + } + if (type && type.defaultProps) + for (propName in childrenLength = type.defaultProps, childrenLength) + void 0 === i[propName] && (i[propName] = childrenLength[propName]); + node && defineKeyPropWarningGetter( + i, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return ReactElement( + type, + node, + void 0, + void 0, + getOwner(), + i, + propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.createRef = function() { + var refObject = { current: null }; + Object.seal(refObject); + return refObject; + }; + exports.forwardRef = function(render) { + null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error( + "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." + ) : "function" !== typeof render ? console.error( + "forwardRef requires a render function but was given %s.", + null === render ? "null" : typeof render + ) : 0 !== render.length && 2 !== render.length && console.error( + "forwardRef render functions accept exactly two parameters: props and ref. %s", + 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined." + ); + null != render && null != render.defaultProps && console.error( + "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" + ); + var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name); + } + }); + return elementType; + }; + exports.isValidElement = isValidElement; + exports.lazy = function(ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { _status: -1, _result: ctor }, + _init: lazyInitializer + }; + }; + exports.memo = function(type, compare) { + null == type && console.error( + "memo: The first argument must be a component. Instead received: %s", + null === type ? "null" : typeof type + ); + compare = { + $$typeof: REACT_MEMO_TYPE, + type, + compare: void 0 === compare ? null : compare + }; + var ownName; + Object.defineProperty(compare, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name); + } + }); + return compare; + }; + exports.startTransition = function(scope) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )), ReactSharedInternals.T = prevTransition; + } + }; + exports.unstable_useCacheRefresh = function() { + return resolveDispatcher().useCacheRefresh(); + }; + exports.use = function(usable) { + return resolveDispatcher().use(usable); + }; + exports.useActionState = function(action, initialState, permalink) { + return resolveDispatcher().useActionState( + action, + initialState, + permalink + ); + }; + exports.useCallback = function(callback, deps) { + return resolveDispatcher().useCallback(callback, deps); + }; + exports.useContext = function(Context) { + var dispatcher = resolveDispatcher(); + Context.$$typeof === REACT_CONSUMER_TYPE && console.error( + "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?" + ); + return dispatcher.useContext(Context); + }; + exports.useDebugValue = function(value, formatterFn) { + return resolveDispatcher().useDebugValue(value, formatterFn); + }; + exports.useDeferredValue = function(value, initialValue) { + return resolveDispatcher().useDeferredValue(value, initialValue); + }; + exports.useEffect = function(create, createDeps, update) { + null == create && console.warn( + "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + var dispatcher = resolveDispatcher(); + if ("function" === typeof update) + throw Error( + "useEffect CRUD overload is not enabled in this build of React." + ); + return dispatcher.useEffect(create, createDeps); + }; + exports.useId = function() { + return resolveDispatcher().useId(); + }; + exports.useImperativeHandle = function(ref, create, deps) { + return resolveDispatcher().useImperativeHandle(ref, create, deps); + }; + exports.useInsertionEffect = function(create, deps) { + null == create && console.warn( + "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useInsertionEffect(create, deps); + }; + exports.useLayoutEffect = function(create, deps) { + null == create && console.warn( + "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useLayoutEffect(create, deps); + }; + exports.useMemo = function(create, deps) { + return resolveDispatcher().useMemo(create, deps); + }; + exports.useOptimistic = function(passthrough, reducer) { + return resolveDispatcher().useOptimistic(passthrough, reducer); + }; + exports.useReducer = function(reducer, initialArg, init) { + return resolveDispatcher().useReducer(reducer, initialArg, init); + }; + exports.useRef = function(initialValue) { + return resolveDispatcher().useRef(initialValue); + }; + exports.useState = function(initialState) { + return resolveDispatcher().useState(initialState); + }; + exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) { + return resolveDispatcher().useSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }; + exports.useTransition = function() { + return resolveDispatcher().useTransition(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react/index.js + var require_react = __commonJS({ + "node_modules/react/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_development(); + } + } + }); + + // node_modules/react-dom/cjs/react-dom.development.js + var require_react_dom_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom.development.js"(exports) { + "use strict"; + (function() { + function noop() { + } + function testStringCoercion(value) { + return "" + value; + } + function createPortal$1(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + try { + testStringCoercion(key); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + JSCompiler_inline_result && (console.error( + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object" + ), testStringCoercion(key)); + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children, + containerInfo, + implementation + }; + } + function getCrossOriginStringAs(as, input) { + if ("font" === as) return ""; + if ("string" === typeof input) + return "use-credentials" === input ? input : ""; + } + function getValueDescriptorExpectingObjectForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"'; + } + function getValueDescriptorExpectingEnumForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"'; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var React = require_react(), Internals = { + d: { + f: noop, + r: function() { + throw Error( + "Invalid form element. requestFormReset must be passed a form that was rendered by React." + ); + }, + D: noop, + C: noop, + L: noop, + m: noop, + X: noop, + S: noop, + M: noop + }, + p: 0, + findDOMNode: null + }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills" + ); + exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; + exports.createPortal = function(children, container) { + var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; + if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) + throw Error("Target container is not a DOM element."); + return createPortal$1(children, container, null, key); + }; + exports.flushSync = function(fn) { + var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; + try { + if (ReactSharedInternals.T = null, Internals.p = 2, fn) + return fn(); + } finally { + ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error( + "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task." + ); + } + }; + exports.preconnect = function(href, options) { + "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error( + "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", + getValueDescriptorExpectingEnumForWarning(options) + ) : null != options && "string" !== typeof options.crossOrigin && console.error( + "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", + getValueDescriptorExpectingObjectForWarning(options.crossOrigin) + ) : console.error( + "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options)); + }; + exports.prefetchDNS = function(href) { + if ("string" !== typeof href || !href) + console.error( + "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + else if (1 < arguments.length) { + var options = arguments[1]; + "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ) : console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ); + } + "string" === typeof href && Internals.d.D(href); + }; + exports.preinit = function(href, options) { + "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error( + "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", + getValueDescriptorExpectingEnumForWarning(options) + ) : "style" !== options.as && "script" !== options.as && console.error( + 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".', + getValueDescriptorExpectingEnumForWarning(options.as) + ) : console.error( + "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + if ("string" === typeof href && options && "string" === typeof options.as) { + var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; + "style" === as ? Internals.d.S( + href, + "string" === typeof options.precedence ? options.precedence : void 0, + { + crossOrigin, + integrity, + fetchPriority + } + ) : "script" === as && Internals.d.X(href, { + crossOrigin, + integrity, + fetchPriority, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } + }; + exports.preinitModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + "."); + if (encountered) + console.error( + "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", + encountered + ); + else + switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) { + case "script": + break; + default: + encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error( + 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)', + encountered, + href + ); + } + if ("string" === typeof href) + if ("object" === typeof options && null !== options) { + if (null == options.as || "script" === options.as) + encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.M(href, { + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } else null == options && Internals.d.M(href); + }; + exports.preload = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s', + encountered + ); + if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) { + encountered = options.as; + var crossOrigin = getCrossOriginStringAs( + encountered, + options.crossOrigin + ); + Internals.d.L(href, encountered, { + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0, + type: "string" === typeof options.type ? options.type : void 0, + fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, + referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, + imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, + imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, + media: "string" === typeof options.media ? options.media : void 0 + }); + } + }; + exports.preloadModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s', + encountered + ); + "string" === typeof href && (options ? (encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.m(href, { + as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0 + })) : Internals.d.m(href)); + }; + exports.requestFormReset = function(form) { + Internals.d.r(form); + }; + exports.unstable_batchedUpdates = function(fn, a) { + return fn(a); + }; + exports.useFormState = function(action, initialState, permalink) { + return resolveDispatcher().useFormState(action, initialState, permalink); + }; + exports.useFormStatus = function() { + return resolveDispatcher().useHostTransitionStatus(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react-dom/index.js + var require_react_dom = __commonJS({ + "node_modules/react-dom/index.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_development(); + } + } + }); + + // node_modules/react-dom/cjs/react-dom-client.development.js + var require_react_dom_client_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom-client.development.js"(exports) { + "use strict"; + (function() { + function findHook(fiber, id) { + for (fiber = fiber.memoizedState; null !== fiber && 0 < id; ) + fiber = fiber.next, id--; + return fiber; + } + function copyWithSetImpl(obj, path, index, value) { + if (index >= path.length) return value; + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + updated[key] = copyWithSetImpl(obj[key], path, index + 1, value); + return updated; + } + function copyWithRename(obj, oldPath, newPath) { + if (oldPath.length !== newPath.length) + console.warn("copyWithRename() expects paths of the same length"); + else { + for (var i = 0; i < newPath.length - 1; i++) + if (oldPath[i] !== newPath[i]) { + console.warn( + "copyWithRename() expects paths to be the same except for the deepest key" + ); + return; + } + return copyWithRenameImpl(obj, oldPath, newPath, 0); + } + } + function copyWithRenameImpl(obj, oldPath, newPath, index) { + var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl( + obj[oldKey], + oldPath, + newPath, + index + 1 + ); + return updated; + } + function copyWithDeleteImpl(obj, path, index) { + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + if (index + 1 === path.length) + return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated; + updated[key] = copyWithDeleteImpl(obj[key], path, index + 1); + return updated; + } + function shouldSuspendImpl() { + return false; + } + function shouldErrorImpl() { + return null; + } + function warnForMissingKey() { + } + function warnInvalidHookAccess() { + console.error( + "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks" + ); + } + function warnInvalidContextAccess() { + console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + } + function noop$2() { + } + function setToSortedString(set) { + var array = []; + set.forEach(function(value) { + array.push(value); + }); + return array.sort().join(", "); + } + function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + } + function scheduleRoot(root2, element) { + root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1()); + } + function scheduleRefresh(root2, update) { + if (null !== resolveFamily) { + var staleFamilies = update.staleFamilies; + update = update.updatedFamilies; + flushPendingEffects(); + scheduleFibersWithFamiliesRecursively( + root2.current, + update, + staleFamilies + ); + flushSyncWork$1(); + } + } + function setRefreshHandler(handler) { + resolveFamily = handler; + } + function isValidContainer(node) { + return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType); + } + function getNearestMountedFiber(fiber) { + var node = fiber, nearestMounted = fiber; + if (fiber.alternate) for (; node.return; ) node = node.return; + else { + fiber = node; + do + node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; + while (fiber); + } + return 3 === node.tag ? nearestMounted : null; + } + function getSuspenseInstanceFromFiber(fiber) { + if (13 === fiber.tag) { + var suspenseState = fiber.memoizedState; + null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState)); + if (null !== suspenseState) return suspenseState.dehydrated; + } + return null; + } + function assertIsMounted(fiber) { + if (getNearestMountedFiber(fiber) !== fiber) + throw Error("Unable to find node on an unmounted component."); + } + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) { + alternate = getNearestMountedFiber(fiber); + if (null === alternate) + throw Error("Unable to find node on an unmounted component."); + return alternate !== fiber ? null : fiber; + } + for (var a = fiber, b = alternate; ; ) { + var parentA = a.return; + if (null === parentA) break; + var parentB = parentA.alternate; + if (null === parentB) { + b = parentA.return; + if (null !== b) { + a = b; + continue; + } + break; + } + if (parentA.child === parentB.child) { + for (parentB = parentA.child; parentB; ) { + if (parentB === a) return assertIsMounted(parentA), fiber; + if (parentB === b) return assertIsMounted(parentA), alternate; + parentB = parentB.sibling; + } + throw Error("Unable to find node on an unmounted component."); + } + if (a.return !== b.return) a = parentA, b = parentB; + else { + for (var didFindChild = false, _child = parentA.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + _child = _child.sibling; + } + if (!didFindChild) { + for (_child = parentB.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + _child = _child.sibling; + } + if (!didFindChild) + throw Error( + "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." + ); + } + } + if (a.alternate !== b) + throw Error( + "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." + ); + } + if (3 !== a.tag) + throw Error("Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + function findCurrentHostFiberImpl(node) { + var tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; + for (node = node.child; null !== node; ) { + tag = findCurrentHostFiberImpl(node); + if (null !== tag) return tag; + node = node.sibling; + } + return null; + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getComponentNameFromOwner(owner) { + return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null; + } + function getComponentNameFromFiber(fiber) { + var type = fiber.type; + switch (fiber.tag) { + case 31: + return "Activity"; + case 24: + return "Cache"; + case 9: + return (type._context.displayName || "Context") + ".Consumer"; + case 10: + return (type.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 26: + case 27: + case 5: + return type; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return getComponentNameFromType(type); + case 8: + return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 14: + case 15: + if ("function" === typeof type) + return type.displayName || type.name || null; + if ("string" === typeof type) return type; + break; + case 29: + type = fiber._debugInfo; + if (null != type) { + for (var i = type.length - 1; 0 <= i; i--) + if ("string" === typeof type[i].name) return type[i].name; + } + if (null !== fiber.return) + return getComponentNameFromFiber(fiber.return); + } + return null; + } + function createCursor(defaultValue) { + return { current: defaultValue }; + } + function pop(cursor, fiber) { + 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--); + } + function push(cursor, value, fiber) { + index$jscomp$0++; + valueStack[index$jscomp$0] = cursor.current; + fiberStack[index$jscomp$0] = fiber; + cursor.current = value; + } + function requiredContext(c) { + null === c && console.error( + "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." + ); + return c; + } + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor, null, fiber); + var nextRootContext = nextRootInstance.nodeType; + switch (nextRootContext) { + case 9: + case 11: + nextRootContext = 9 === nextRootContext ? "#document" : "#fragment"; + nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone; + break; + default: + if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI) + nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd( + nextRootInstance, + nextRootContext + ); + else + switch (nextRootContext) { + case "svg": + nextRootInstance = HostContextNamespaceSvg; + break; + case "math": + nextRootInstance = HostContextNamespaceMath; + break; + default: + nextRootInstance = HostContextNamespaceNone; + } + } + nextRootContext = nextRootContext.toLowerCase(); + nextRootContext = updatedAncestorInfoDev(null, nextRootContext); + nextRootContext = { + context: nextRootInstance, + ancestorInfo: nextRootContext + }; + pop(contextStackCursor, fiber); + push(contextStackCursor, nextRootContext, fiber); + } + function popHostContainer(fiber) { + pop(contextStackCursor, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + function getHostContext() { + return requiredContext(contextStackCursor.current); + } + function pushHostContext(fiber) { + null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber); + var context = requiredContext(contextStackCursor.current); + var type = fiber.type; + var nextContext = getChildHostContextProd(context.context, type); + type = updatedAncestorInfoDev(context.ancestorInfo, type); + nextContext = { context: nextContext, ancestorInfo: type }; + context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber)); + } + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber)); + hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition); + } + function typeName(value) { + return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + } + function willCoercionThrow(value) { + try { + return testStringCoercion(value), false; + } catch (e) { + return true; + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkAttributeStringCoercion(value, attributeName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.", + attributeName, + typeName(value) + ), testStringCoercion(value); + } + function checkCSSPropertyStringCoercion(value, propName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.", + propName, + typeName(value) + ), testStringCoercion(value); + } + function checkFormFieldValueStringCoercion(value) { + if (willCoercionThrow(value)) + return console.error( + "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.", + typeName(value) + ), testStringCoercion(value); + } + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled) return true; + if (!hook.supportsFiber) + return console.error( + "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools" + ), true; + try { + rendererID = hook.inject(internals), injectedHook = hook; + } catch (err) { + console.error("React instrumentation encountered an error: %s.", err); + } + return hook.checkDCE ? true : false; + } + function setIsStrictModeForDevtools(newIsStrictMode) { + "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode); + if (injectedHook && "function" === typeof injectedHook.setStrictMode) + try { + injectedHook.setStrictMode(rendererID, newIsStrictMode); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + } + function injectProfilingHooks(profilingHooks) { + injectedProfilingHooks = profilingHooks; + } + function markCommitStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped(); + } + function markComponentRenderStarted(fiber) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber); + } + function markComponentRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped(); + } + function markRenderStarted(lanes) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes); + } + function markRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped(); + } + function markStateUpdateScheduled(fiber, lane) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); + } + function clz32Fallback(x) { + x >>>= 0; + return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0; + } + function getLabelForLane(lane) { + if (lane & 1) return "SyncHydrationLane"; + if (lane & 2) return "Sync"; + if (lane & 4) return "InputContinuousHydration"; + if (lane & 8) return "InputContinuous"; + if (lane & 16) return "DefaultHydration"; + if (lane & 32) return "Default"; + if (lane & 128) return "TransitionHydration"; + if (lane & 4194048) return "Transition"; + if (lane & 62914560) return "Retry"; + if (lane & 67108864) return "SelectiveHydration"; + if (lane & 134217728) return "IdleHydration"; + if (lane & 268435456) return "Idle"; + if (lane & 536870912) return "Offscreen"; + if (lane & 1073741824) return "Deferred"; + } + function getHighestPriorityLanes(lanes) { + var pendingSyncLanes = lanes & 42; + if (0 !== pendingSyncLanes) return pendingSyncLanes; + switch (lanes & -lanes) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + return 64; + case 128: + return 128; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return lanes & 4194048; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return lanes & 62914560; + case 67108864: + return 67108864; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 0; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), lanes; + } + } + function getNextLanes(root2, wipLanes, rootHasPendingCommit) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) return 0; + var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + root2 = root2.warmLanes; + var nonIdlePendingLanes = pendingLanes & 134217727; + 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))); + return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || 32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)) ? wipLanes : nextLanes; + } + function checkIfRootIsPrerendering(root2, renderLanes2) { + return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2); + } + function computeExpirationTime(lane, currentTime) { + switch (lane) { + case 1: + case 2: + case 4: + case 8: + case 64: + return currentTime + 250; + case 16: + case 32: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return currentTime + 5e3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return -1; + case 67108864: + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), -1; + } + } + function claimNextTransitionLane() { + var lane = nextTransitionLane; + nextTransitionLane <<= 1; + 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256); + return lane; + } + function claimNextRetryLane() { + var lane = nextRetryLane; + nextRetryLane <<= 1; + 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); + return lane; + } + function createLaneMap(initial) { + for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); + return laneMap; + } + function markRootUpdated$1(root2, updateLane) { + root2.pendingLanes |= updateLane; + 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0); + } + function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) { + var previouslyPendingLanes = root2.pendingLanes; + root2.pendingLanes = remainingLanes; + root2.suspendedLanes = 0; + root2.pingedLanes = 0; + root2.warmLanes = 0; + root2.expiredLanes &= remainingLanes; + root2.entangledLanes &= remainingLanes; + root2.errorRecoveryDisabledLanes &= remainingLanes; + root2.shellSuspendCounter = 0; + var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates; + for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) { + var index = 31 - clz32(remainingLanes), lane = 1 << index; + entanglements[index] = 0; + expirationTimes[index] = -1; + var hiddenUpdatesForLane = hiddenUpdates[index]; + if (null !== hiddenUpdatesForLane) + for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) { + var update = hiddenUpdatesForLane[index]; + null !== update && (update.lane &= -536870913); + } + remainingLanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0); + 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); + } + function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) { + root2.pendingLanes |= spawnedLane; + root2.suspendedLanes &= ~spawnedLane; + var spawnedLaneIndex = 31 - clz32(spawnedLane); + root2.entangledLanes |= spawnedLane; + root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194090; + } + function markRootEntangled(root2, entangledLanes) { + var rootEntangledLanes = root2.entangledLanes |= entangledLanes; + for (root2 = root2.entanglements; rootEntangledLanes; ) { + var index = 31 - clz32(rootEntangledLanes), lane = 1 << index; + lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes); + rootEntangledLanes &= ~lane; + } + } + function getBumpedLaneForHydrationByLane(lane) { + switch (lane) { + case 2: + lane = 1; + break; + case 8: + lane = 4; + break; + case 32: + lane = 16; + break; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + lane = 128; + break; + case 268435456: + lane = 134217728; + break; + default: + lane = 0; + } + return lane; + } + function addFiberToLanesMap(root2, fiber, lanes) { + if (isDevToolsPresent) + for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + root2[index].add(fiber); + lanes &= ~lane; + } + } + function movePendingFibersToMemoized(root2, lanes) { + if (isDevToolsPresent) + for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) { + var index = 31 - clz32(lanes); + root2 = 1 << index; + index = pendingUpdatersLaneMap[index]; + 0 < index.size && (index.forEach(function(fiber) { + var alternate = fiber.alternate; + null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber); + }), index.clear()); + lanes &= ~root2; + } + } + function lanesToEventPriority(lanes) { + lanes &= -lanes; + return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority; + } + function resolveUpdatePriority() { + var updatePriority = ReactDOMSharedInternals.p; + if (0 !== updatePriority) return updatePriority; + updatePriority = window.event; + return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type); + } + function runWithPriority(priority, fn) { + var previousPriority = ReactDOMSharedInternals.p; + try { + return ReactDOMSharedInternals.p = priority, fn(); + } finally { + ReactDOMSharedInternals.p = previousPriority; + } + } + function detachDeletedInstance(node) { + delete node[internalInstanceKey]; + delete node[internalPropsKey]; + delete node[internalEventHandlersKey]; + delete node[internalEventHandlerListenersKey]; + delete node[internalEventHandlesSetKey]; + } + function getClosestInstanceFromNode(targetNode) { + var targetInst = targetNode[internalInstanceKey]; + if (targetInst) return targetInst; + for (var parentNode = targetNode.parentNode; parentNode; ) { + if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) { + parentNode = targetInst.alternate; + if (null !== targetInst.child || null !== parentNode && null !== parentNode.child) + for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode; ) { + if (parentNode = targetNode[internalInstanceKey]) + return parentNode; + targetNode = getParentSuspenseInstance(targetNode); + } + return targetInst; + } + targetNode = parentNode; + parentNode = targetNode.parentNode; + } + return null; + } + function getInstanceFromNode(node) { + if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) { + var tag = node.tag; + if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag) + return node; + } + return null; + } + function getNodeFromInstance(inst) { + var tag = inst.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) + return inst.stateNode; + throw Error("getNodeFromInstance: Invalid argument."); + } + function getResourcesFromRoot(root2) { + var resources = root2[internalRootNodeResourcesKey]; + resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() }); + return resources; + } + function markNodeAsHoistable(node) { + node[internalHoistableMarker] = true; + } + function registerTwoPhaseEvent(registrationName, dependencies) { + registerDirectEvent(registrationName, dependencies); + registerDirectEvent(registrationName + "Capture", dependencies); + } + function registerDirectEvent(registrationName, dependencies) { + registrationNameDependencies[registrationName] && console.error( + "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", + registrationName + ); + registrationNameDependencies[registrationName] = dependencies; + var lowerCasedName = registrationName.toLowerCase(); + possibleRegistrationNames[lowerCasedName] = registrationName; + "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName); + for (registrationName = 0; registrationName < dependencies.length; registrationName++) + allNativeEvents.add(dependencies[registrationName]); + } + function checkControlledValueProps(tagName, props) { + hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`." + ) : console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`." + )); + props.onChange || props.readOnly || props.disabled || null == props.checked || console.error( + "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`." + ); + } + function isAttributeNameSafe(attributeName) { + if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) + return true; + if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) + return false; + if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) + return validatedAttributeNameCache[attributeName] = true; + illegalAttributeNameCache[attributeName] = true; + console.error("Invalid attribute name: `%s`", attributeName); + return false; + } + function getValueForAttributeOnCustomComponent(node, name, expected) { + if (isAttributeNameSafe(name)) { + if (!node.hasAttribute(name)) { + switch (typeof expected) { + case "symbol": + case "object": + return expected; + case "function": + return expected; + case "boolean": + if (false === expected) return expected; + } + return void 0 === expected ? void 0 : null; + } + node = node.getAttribute(name); + if ("" === node && true === expected) return true; + checkAttributeStringCoercion(expected, name); + return node === "" + expected ? expected : node; + } + } + function setValueForAttribute(node, name, value) { + if (isAttributeNameSafe(name)) + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + node.removeAttribute(name); + return; + case "boolean": + var prefix2 = name.toLowerCase().slice(0, 5); + if ("data-" !== prefix2 && "aria-" !== prefix2) { + node.removeAttribute(name); + return; + } + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForKnownAttribute(node, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForNamespacedAttribute(node, namespace, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttributeNS(namespace, name, "" + value); + } + } + function disabledLog() { + } + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: true, enumerable: true, writable: true }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = true; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher2 = null; + previousDispatcher2 = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function() { + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() { + }); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); + for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); ) + namePropDescriptor++; + for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); ) + _RunInRootFrame$Deter++; + if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) + for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; ) + _RunInRootFrame$Deter--; + for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) + if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + var _frame = "\n" + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame; + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function formatOwnerStack(error) { + var prevPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + error = error.stack; + Error.prepareStackTrace = prevPrepareStackTrace; + error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29)); + prevPrepareStackTrace = error.indexOf("\n"); + -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1)); + prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame"); + -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf( + "\n", + prevPrepareStackTrace + )); + if (-1 !== prevPrepareStackTrace) + error = error.slice(0, prevPrepareStackTrace); + else return ""; + return error; + } + function describeFiber(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return describeBuiltInComponentFrame(fiber.type); + case 16: + return describeBuiltInComponentFrame("Lazy"); + case 13: + return describeBuiltInComponentFrame("Suspense"); + case 19: + return describeBuiltInComponentFrame("SuspenseList"); + case 0: + case 15: + return describeNativeComponentFrame(fiber.type, false); + case 11: + return describeNativeComponentFrame(fiber.type.render, false); + case 1: + return describeNativeComponentFrame(fiber.type, true); + case 31: + return describeBuiltInComponentFrame("Activity"); + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workInProgress2) { + try { + var info = ""; + do { + info += describeFiber(workInProgress2); + var debugInfo = workInProgress2._debugInfo; + if (debugInfo) + for (var i = debugInfo.length - 1; 0 <= i; i--) { + var entry = debugInfo[i]; + if ("string" === typeof entry.name) { + var JSCompiler_temp_const = info, env = entry.env; + var JSCompiler_inline_result = describeBuiltInComponentFrame( + entry.name + (env ? " [" + env + "]" : "") + ); + info = JSCompiler_temp_const + JSCompiler_inline_result; + } + } + workInProgress2 = workInProgress2.return; + } while (workInProgress2); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function describeFunctionComponentFrameWithoutLineNumber(fn) { + return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : ""; + } + function getCurrentFiberOwnerNameInDevOrNull() { + if (null === current) return null; + var owner = current._debugOwner; + return null != owner ? getComponentNameFromOwner(owner) : null; + } + function getCurrentFiberStackInDev() { + if (null === current) return ""; + var workInProgress2 = current; + try { + var info = ""; + 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return); + switch (workInProgress2.tag) { + case 26: + case 27: + case 5: + info += describeBuiltInComponentFrame(workInProgress2.type); + break; + case 13: + info += describeBuiltInComponentFrame("Suspense"); + break; + case 19: + info += describeBuiltInComponentFrame("SuspenseList"); + break; + case 31: + info += describeBuiltInComponentFrame("Activity"); + break; + case 30: + case 0: + case 15: + case 1: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type + )); + break; + case 11: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type.render + )); + } + for (; workInProgress2; ) + if ("number" === typeof workInProgress2.tag) { + var fiber = workInProgress2; + workInProgress2 = fiber._debugOwner; + var debugStack = fiber._debugStack; + workInProgress2 && debugStack && ("string" !== typeof debugStack && (fiber._debugStack = debugStack = formatOwnerStack(debugStack)), "" !== debugStack && (info += "\n" + debugStack)); + } else if (null != workInProgress2.debugStack) { + var ownerStack = workInProgress2.debugStack; + (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack)); + } else break; + var JSCompiler_inline_result = info; + } catch (x) { + JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack; + } + return JSCompiler_inline_result; + } + function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) { + var previousFiber = current; + setCurrentFiber(fiber); + try { + return null !== fiber && fiber._debugTask ? fiber._debugTask.run( + callback.bind(null, arg0, arg1, arg2, arg3, arg4) + ) : callback(arg0, arg1, arg2, arg3, arg4); + } finally { + setCurrentFiber(previousFiber); + } + throw Error( + "runWithFiberInDEV should never be called in production. This is a bug in React." + ); + } + function setCurrentFiber(fiber) { + ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev; + isRendering = false; + current = fiber; + } + function getToStringValue(value) { + switch (typeof value) { + case "bigint": + case "boolean": + case "number": + case "string": + case "undefined": + return value; + case "object": + return checkFormFieldValueStringCoercion(value), value; + default: + return ""; + } + } + function isCheckable(elem) { + var type = elem.type; + return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type); + } + function trackValueOnNode(node) { + var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor( + node.constructor.prototype, + valueField + ); + checkFormFieldValueStringCoercion(node[valueField]); + var currentValue = "" + node[valueField]; + if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) { + var get = descriptor.get, set = descriptor.set; + Object.defineProperty(node, valueField, { + configurable: true, + get: function() { + return get.call(this); + }, + set: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + set.call(this, value); + } + }); + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable + }); + return { + getValue: function() { + return currentValue; + }, + setValue: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + }, + stopTracking: function() { + node._valueTracker = null; + delete node[valueField]; + } + }; + } + } + function track(node) { + node._valueTracker || (node._valueTracker = trackValueOnNode(node)); + } + function updateValueIfChanged(node) { + if (!node) return false; + var tracker = node._valueTracker; + if (!tracker) return true; + var lastValue = tracker.getValue(); + var value = ""; + node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value); + node = value; + return node !== lastValue ? (tracker.setValue(node), true) : false; + } + function getActiveElement(doc) { + doc = doc || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof doc) return null; + try { + return doc.activeElement || doc.body; + } catch (e) { + return doc.body; + } + } + function escapeSelectorAttributeValueInsideDoubleQuotes(value) { + return value.replace( + escapeSelectorAttributeValueInsideDoubleQuotesRegex, + function(ch) { + return "\\" + ch.charCodeAt(0).toString(16) + " "; + } + ); + } + function validateInputProps(element, props) { + void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error( + "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnCheckedDefaultChecked = true); + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error( + "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnValueDefaultValue$1 = true); + } + function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) { + element.name = ""; + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type"); + if (null != value) + if ("number" === type) { + if (0 === value && "" === element.value || element.value != value) + element.value = "" + getToStringValue(value); + } else + element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value)); + else + "submit" !== type && "reset" !== type || element.removeAttribute("value"); + null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value"); + null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked); + null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked); + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name"); + } + function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) { + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type); + if (null != value || null != defaultValue) { + if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) + return; + defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + value = null != value ? "" + getToStringValue(value) : defaultValue; + isHydrating2 || value === element.value || (element.value = value); + element.defaultValue = value; + } + checked = null != checked ? checked : defaultChecked; + checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked; + element.checked = isHydrating2 ? element.checked : !!checked; + element.defaultChecked = !!checked; + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name); + } + function setDefaultValue(node, type, value) { + "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value); + } + function validateOptionProps(element, props) { + null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function(child) { + null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error( + "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>." + )); + }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error( + "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected." + ))); + null == props.selected || didWarnSelectedSetOnOption || (console.error( + "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>." + ), didWarnSelectedSetOnOption = true); + } + function getDeclarationErrorAddendum() { + var ownerName = getCurrentFiberOwnerNameInDevOrNull(); + return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : ""; + } + function updateOptions(node, multiple, propValue, setDefaultSelected) { + node = node.options; + if (multiple) { + multiple = {}; + for (var i = 0; i < propValue.length; i++) + multiple["$" + propValue[i]] = true; + for (propValue = 0; propValue < node.length; propValue++) + i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true); + } else { + propValue = "" + getToStringValue(propValue); + multiple = null; + for (i = 0; i < node.length; i++) { + if (node[i].value === propValue) { + node[i].selected = true; + setDefaultSelected && (node[i].defaultSelected = true); + return; + } + null !== multiple || node[i].disabled || (multiple = node[i]); + } + null !== multiple && (multiple.selected = true); + } + } + function validateSelectProps(element, props) { + for (element = 0; element < valuePropNames.length; element++) { + var propName = valuePropNames[element]; + if (null != props[propName]) { + var propNameIsArray = isArrayImpl(props[propName]); + props.multiple && !propNameIsArray ? console.error( + "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", + propName, + getDeclarationErrorAddendum() + ) : !props.multiple && propNameIsArray && console.error( + "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", + propName, + getDeclarationErrorAddendum() + ); + } + } + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error( + "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components" + ), didWarnValueDefaultValue = true); + } + function validateTextareaProps(element, props) { + void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error( + "%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component" + ), didWarnValDefaultVal = true); + null != props.children && null == props.value && console.error( + "Use the `defaultValue` or `value` props instead of setting children on <textarea>." + ); + } + function updateTextarea(element, value, defaultValue) { + if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + } + function initTextarea(element, value, defaultValue, children) { + if (null == value) { + if (null != children) { + if (null != defaultValue) + throw Error( + "If you supply `defaultValue` on a <textarea>, do not pass children." + ); + if (isArrayImpl(children)) { + if (1 < children.length) + throw Error("<textarea> can only have at most one child."); + children = children[0]; + } + defaultValue = children; + } + null == defaultValue && (defaultValue = ""); + value = defaultValue; + } + defaultValue = getToStringValue(value); + element.defaultValue = defaultValue; + children = element.textContent; + children === defaultValue && "" !== children && null !== children && (element.value = children); + } + function findNotableNode(node, indent) { + return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node; + } + function indentation(indent) { + return " " + " ".repeat(indent); + } + function added(indent) { + return "+ " + " ".repeat(indent); + } + function removed(indent) { + return "- " + " ".repeat(indent); + } + function describeFiberType(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return fiber.type; + case 16: + return "Lazy"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 0: + case 15: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + case 11: + return fiber = fiber.type.render, fiber.displayName || fiber.name || null; + case 1: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + default: + return null; + } + } + function describeTextNode(content, maxLength) { + return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content; + } + function describeTextDiff(clientText, serverProps, indent) { + var maxLength = 120 - 2 * indent; + if (null === serverProps) + return added(indent) + describeTextNode(clientText, maxLength) + "\n"; + if ("string" === typeof serverProps) { + for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ; + firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8)); + return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n"; + } + return indentation(indent) + describeTextNode(clientText, maxLength) + "\n"; + } + function objectName(object) { + return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) { + return p0; + }); + } + function describeValue(value, maxLength) { + switch (typeof value) { + case "string": + return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value; + case "object": + if (null === value) return "null"; + if (isArrayImpl(value)) return "[...]"; + if (value.$$typeof === REACT_ELEMENT_TYPE) + return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>"; + var name = objectName(value); + if ("Object" === name) { + name = ""; + maxLength -= 2; + for (var propName in value) + if (value.hasOwnProperty(propName)) { + var jsonPropName = JSON.stringify(propName); + jsonPropName !== '"' + propName + '"' && (propName = jsonPropName); + maxLength -= propName.length - 2; + jsonPropName = describeValue( + value[propName], + 15 > maxLength ? maxLength : 15 + ); + maxLength -= jsonPropName.length; + if (0 > maxLength) { + name += "" === name ? "..." : ", ..."; + break; + } + name += ("" === name ? "" : ",") + propName + ":" + jsonPropName; + } + return "{" + name + "}"; + } + return name; + case "function": + return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function"; + default: + return String(value); + } + } + function describePropValue(value, maxLength) { + return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"'; + } + function describeExpandedElement(type, props, rowPrefix) { + var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName; + for (propName in props) + if (props.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue( + props[propName], + 120 - rowPrefix.length - propName.length - 1 + ); + remainingRowLength -= propName.length + propValue.length + 2; + properties.push(propName + "=" + propValue); + } + return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n"; + } + function describePropertiesDiff(clientObject, serverObject, indent) { + var properties = "", remainingServerProperties = assign({}, serverObject), propName; + for (propName in clientObject) + if (clientObject.hasOwnProperty(propName)) { + delete remainingServerProperties[propName]; + var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength); + serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n"; + } + for (var _propName in remainingServerProperties) + remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue( + remainingServerProperties[_propName], + 120 - 2 * indent - _propName.length - 2 + ), properties += removed(indent) + _propName + ": " + clientObject + "\n"); + return properties; + } + function describeElementDiff(type, clientProps, serverProps, indent) { + var content = "", serverPropNames = /* @__PURE__ */ new Map(); + for (propName$jscomp$0 in serverProps) + serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set( + propName$jscomp$0.toLowerCase(), + propName$jscomp$0 + ); + if (1 === serverPropNames.size && serverPropNames.has("children")) + content += describeExpandedElement( + type, + clientProps, + indentation(indent) + ); + else { + for (var _propName2 in clientProps) + if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) { + var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase()); + if (void 0 !== serverPropName) { + serverPropNames.delete(_propName2.toLowerCase()); + var propName$jscomp$0 = clientProps[_propName2]; + serverPropName = serverProps[serverPropName]; + var clientPropValue = describePropValue( + propName$jscomp$0, + maxLength$jscomp$0 + ); + maxLength$jscomp$0 = describePropValue( + serverPropName, + maxLength$jscomp$0 + ); + "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff( + propName$jscomp$0, + serverPropName, + indent + 2 + ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n"); + } else + content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n"; + } + serverPropNames.forEach(function(propName) { + if ("children" !== propName) { + var maxLength = 120 - 2 * (indent + 1) - propName.length - 1; + content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n"; + } + }); + content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n"; + } + type = serverProps.children; + clientProps = clientProps.children; + if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) { + serverPropNames = ""; + if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + serverPropNames = "" + clientProps; + content += describeTextDiff(serverPropNames, "" + type, indent + 1); + } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1); + return content; + } + function describeSiblingFiber(fiber, indent) { + var type = describeFiberType(fiber); + if (null === type) { + type = ""; + for (fiber = fiber.child; fiber; ) + type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling; + return type; + } + return indentation(indent) + "<" + type + ">\n"; + } + function describeNode(node, indent) { + var skipToNode = findNotableNode(node, indent); + if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode)) + return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1); + skipToNode = ""; + var debugInfo = node.fiber._debugInfo; + if (debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var serverComponentName = debugInfo[i].name; + "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++); + } + debugInfo = ""; + i = node.fiber.pendingProps; + if (6 === node.fiber.tag) + debugInfo = describeTextDiff(i, node.serverProps, indent), indent++; + else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName) + if (void 0 === node.serverProps) { + debugInfo = indent; + var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = ""; + for (propName in i) + if (i.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue(i[propName], 15); + maxLength -= propName.length + propValue.length + 2; + if (0 > maxLength) { + content += " ..."; + break; + } + content += " " + propName + "=" + propValue; + } + debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n"; + indent++; + } else + null === node.serverProps ? (debugInfo = describeExpandedElement( + serverComponentName, + i, + added(indent) + ), indent++) : "string" === typeof node.serverProps ? console.error( + "Should not have matched a non HostText fiber to a Text node. This is a bug in React." + ) : (debugInfo = describeElementDiff( + serverComponentName, + i, + node.serverProps, + indent + ), indent++); + var propName = ""; + i = node.fiber.child; + for (serverComponentName = 0; i && serverComponentName < node.children.length; ) + maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling; + i && 0 < node.children.length && (propName += indentation(indent) + "...\n"); + i = node.serverTail; + null === node.serverProps && indent--; + for (node = 0; node < i.length; node++) + serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement( + serverComponentName.type, + serverComponentName.props, + removed(indent) + ); + return skipToNode + debugInfo + propName; + } + function describeDiff(rootNode) { + try { + return "\n\n" + describeNode(rootNode, 0); + } catch (x) { + return ""; + } + } + function describeAncestors(ancestor, child, props) { + for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; ) + fiber === ancestor && (distanceFromLeaf = 0), node = { + fiber, + children: null !== node ? [node] : [], + serverProps: fiber === child ? props : fiber === ancestor ? null : void 0, + serverTail: [], + distanceFromLeaf + }, distanceFromLeaf++, fiber = fiber.return; + return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : ""; + } + function updatedAncestorInfoDev(oldInfo, tag) { + var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag }; + -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null); + -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null); + -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null); + ancestorInfo.current = info; + "form" === tag && (ancestorInfo.formTag = info); + "a" === tag && (ancestorInfo.aTagInScope = info); + "button" === tag && (ancestorInfo.buttonTagInScope = info); + "nobr" === tag && (ancestorInfo.nobrTagInScope = info); + "p" === tag && (ancestorInfo.pTagInButtonScope = info); + "li" === tag && (ancestorInfo.listItemTagAutoclosing = info); + if ("dd" === tag || "dt" === tag) + ancestorInfo.dlItemTagAutoclosing = info; + "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info); + null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true; + return ancestorInfo; + } + function isTagValidWithParent(tag, parentTag, implicitRootScope) { + switch (parentTag) { + case "select": + return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag; + case "optgroup": + return "option" === tag || "#text" === tag; + case "option": + return "#text" === tag; + case "tr": + return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag; + case "tbody": + case "thead": + case "tfoot": + return "tr" === tag || "style" === tag || "script" === tag || "template" === tag; + case "colgroup": + return "col" === tag || "template" === tag; + case "table": + return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag; + case "head": + return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag; + case "html": + if (implicitRootScope) break; + return "head" === tag || "body" === tag || "frameset" === tag; + case "frameset": + return "frame" === tag; + case "#document": + if (!implicitRootScope) return "html" === tag; + } + switch (tag) { + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag; + case "rp": + case "rt": + return -1 === impliedEndTags.indexOf(parentTag); + case "caption": + case "col": + case "colgroup": + case "frameset": + case "frame": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return null == parentTag; + case "head": + return implicitRootScope || null === parentTag; + case "html": + return implicitRootScope && "#document" === parentTag || null === parentTag; + case "body": + return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag; + } + return true; + } + function findInvalidAncestorForTag(tag, ancestorInfo) { + switch (tag) { + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dialog": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "main": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + case "pre": + case "listing": + case "table": + case "hr": + case "xmp": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return ancestorInfo.pTagInButtonScope; + case "form": + return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; + case "li": + return ancestorInfo.listItemTagAutoclosing; + case "dd": + case "dt": + return ancestorInfo.dlItemTagAutoclosing; + case "button": + return ancestorInfo.buttonTagInScope; + case "a": + return ancestorInfo.aTagInScope; + case "nobr": + return ancestorInfo.nobrTagInScope; + } + return null; + } + function findAncestor(parent, tagName) { + for (; parent; ) { + switch (parent.tag) { + case 5: + case 26: + case 27: + if (parent.type === tagName) return parent; + } + parent = parent.return; + } + return null; + } + function validateDOMNesting(childTag, ancestorInfo) { + ancestorInfo = ancestorInfo || emptyAncestorInfoDev; + var parentInfo = ancestorInfo.current; + ancestorInfo = (parentInfo = isTagValidWithParent( + childTag, + parentInfo && parentInfo.tag, + ancestorInfo.implicitRootScope + ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo); + ancestorInfo = parentInfo || ancestorInfo; + if (!ancestorInfo) return true; + var ancestorTag = ancestorInfo.tag; + ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag; + if (didWarn[ancestorInfo]) return false; + didWarn[ancestorInfo] = true; + var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">"; + parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error( + "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + parentInfo, + ancestorDescription + )) : console.error( + "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + ancestorDescription + ); + ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() { + console.error( + "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.", + ancestorTag, + tagDisplayName + ); + })); + return false; + } + function validateTextNesting(childText, parentTag, implicitRootScope) { + if (implicitRootScope || isTagValidWithParent("#text", parentTag, false)) + return true; + implicitRootScope = "#text|" + parentTag; + if (didWarn[implicitRootScope]) return false; + didWarn[implicitRootScope] = true; + var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null; + implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors( + ancestor, + implicitRootScope, + 6 !== implicitRootScope.tag ? { children: null } : null + ) : ""; + /\S/.test(childText) ? console.error( + "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ) : console.error( + "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ); + return false; + } + function setTextContent(node, text) { + if (text) { + var firstChild = node.firstChild; + if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) { + firstChild.nodeValue = text; + return; + } + } + node.textContent = text; + } + function camelize(string) { + return string.replace(hyphenPattern, function(_, character) { + return character.toUpperCase(); + }); + } + function setValueForStyle(style2, styleName, value) { + var isCustomProperty = 0 === styleName.indexOf("--"); + isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported style property %s. Did you mean %s?", + styleName, + camelize(styleName.replace(msPattern, "ms-")) + )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported vendor-prefixed style property %s. Did you mean %s?", + styleName, + styleName.charAt(0).toUpperCase() + styleName.slice(1) + )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error( + `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, + styleName, + value.replace(badStyleValueWithSemicolonPattern, "") + )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error( + "`NaN` is an invalid value for the `%s` css style property.", + styleName + )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error( + "`Infinity` is an invalid value for the `%s` css style property.", + styleName + )))); + null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px"; + } + function setValueForStyles(node, styles, prevStyles) { + if (null != styles && "object" !== typeof styles) + throw Error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + styles && Object.freeze(styles); + node = node.style; + if (null != prevStyles) { + if (styles) { + var expandedUpdates = {}; + if (prevStyles) { + for (var key in prevStyles) + if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key)) + for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++) + expandedUpdates[longhands[i]] = key; + } + for (var _key in styles) + if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key])) + for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++) + expandedUpdates[key[longhands]] = _key; + _key = {}; + for (var key$jscomp$0 in styles) + for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++) + _key[key[longhands]] = key$jscomp$0; + key$jscomp$0 = {}; + for (var _key2 in expandedUpdates) + if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) { + key$jscomp$0[i] = true; + i = console; + var value = styles[key]; + i.error.call( + i, + "%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.", + null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating", + key, + longhands + ); + } + } + for (var styleName in prevStyles) + !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = ""); + for (var _styleName in styles) + _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node, _styleName, _key2); + } else + for (expandedUpdates in styles) + styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]); + } + function isCustomElement(tagName) { + if (-1 === tagName.indexOf("-")) return false; + switch (tagName) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return false; + default: + return true; + } + } + function getAttributeAlias(name) { + return aliases.get(name) || name; + } + function validateProperty$1(tagName, name) { + if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) + return true; + if (rARIACamel$1.test(name)) { + tagName = "aria-" + name.slice(4).toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) + return console.error( + "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", + name + ), warnedProperties$1[name] = true; + if (name !== tagName) + return console.error( + "Invalid ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true; + } + if (rARIA$1.test(name)) { + tagName = name.toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) return warnedProperties$1[name] = true, false; + name !== tagName && (console.error( + "Unknown ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true); + } + return true; + } + function validateProperties$2(type, props) { + var invalidProps = [], key; + for (key in props) + validateProperty$1(type, key) || invalidProps.push(key); + props = invalidProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === invalidProps.length ? console.error( + "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ) : 1 < invalidProps.length && console.error( + "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ); + } + function validateProperty(tagName, name, value, eventRegistry) { + if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) + return true; + var lowerCasedName = name.toLowerCase(); + if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName) + return console.error( + "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React." + ), warnedProperties[name] = true; + if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name)) + return true; + if (null != eventRegistry) { + tagName = eventRegistry.possibleRegistrationNames; + if (eventRegistry.registrationNameDependencies.hasOwnProperty(name)) + return true; + eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null; + if (null != eventRegistry) + return console.error( + "Invalid event handler property `%s`. Did you mean `%s`?", + name, + eventRegistry + ), warnedProperties[name] = true; + if (EVENT_NAME_REGEX.test(name)) + return console.error( + "Unknown event handler property `%s`. It will be ignored.", + name + ), warnedProperties[name] = true; + } else if (EVENT_NAME_REGEX.test(name)) + return INVALID_EVENT_NAME_REGEX.test(name) && console.error( + "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", + name + ), warnedProperties[name] = true; + if (rARIA.test(name) || rARIACamel.test(name)) return true; + if ("innerhtml" === lowerCasedName) + return console.error( + "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`." + ), warnedProperties[name] = true; + if ("aria" === lowerCasedName) + return console.error( + "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead." + ), warnedProperties[name] = true; + if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value) + return console.error( + "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", + typeof value + ), warnedProperties[name] = true; + if ("number" === typeof value && isNaN(value)) + return console.error( + "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", + name + ), warnedProperties[name] = true; + if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { + if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name) + return console.error( + "Invalid DOM property `%s`. Did you mean `%s`?", + name, + lowerCasedName + ), warnedProperties[name] = true; + } else if (name !== lowerCasedName) + return console.error( + "React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", + name, + lowerCasedName + ), warnedProperties[name] = true; + switch (name) { + case "dangerouslySetInnerHTML": + case "children": + case "style": + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + return true; + case "innerText": + case "textContent": + return true; + } + switch (typeof value) { + case "boolean": + switch (name) { + case "autoFocus": + case "checked": + case "multiple": + case "muted": + case "selected": + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "capture": + case "download": + case "inert": + return true; + default: + lowerCasedName = name.toLowerCase().slice(0, 5); + if ("data-" === lowerCasedName || "aria-" === lowerCasedName) + return true; + value ? console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', + value, + name, + name, + value, + name + ) : console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', + value, + name, + name, + value, + name, + name, + name + ); + return warnedProperties[name] = true; + } + case "function": + case "symbol": + return warnedProperties[name] = true, false; + case "string": + if ("false" === value || "true" === value) { + switch (name) { + case "checked": + case "selected": + case "multiple": + case "muted": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "inert": + break; + default: + return true; + } + console.error( + "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", + value, + name, + "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', + name, + value + ); + warnedProperties[name] = true; + } + } + return true; + } + function warnUnknownProperties(type, props, eventRegistry) { + var unknownProps = [], key; + for (key in props) + validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key); + props = unknownProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === unknownProps.length ? console.error( + "Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ) : 1 < unknownProps.length && console.error( + "Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ); + } + function sanitizeURL(url) { + return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url; + } + function getEventTarget(nativeEvent) { + nativeEvent = nativeEvent.target || nativeEvent.srcElement || window; + nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement); + return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent; + } + function restoreStateOfTarget(target) { + var internalInstance = getInstanceFromNode(target); + if (internalInstance && (target = internalInstance.stateNode)) { + var props = target[internalPropsKey] || null; + a: switch (target = internalInstance.stateNode, internalInstance.type) { + case "input": + updateInput( + target, + props.value, + props.defaultValue, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name + ); + internalInstance = props.name; + if ("radio" === props.type && null != internalInstance) { + for (props = target; props.parentNode; ) props = props.parentNode; + checkAttributeStringCoercion(internalInstance, "name"); + props = props.querySelectorAll( + 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes( + "" + internalInstance + ) + '"][type="radio"]' + ); + for (internalInstance = 0; internalInstance < props.length; internalInstance++) { + var otherNode = props[internalInstance]; + if (otherNode !== target && otherNode.form === target.form) { + var otherProps = otherNode[internalPropsKey] || null; + if (!otherProps) + throw Error( + "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." + ); + updateInput( + otherNode, + otherProps.value, + otherProps.defaultValue, + otherProps.defaultValue, + otherProps.checked, + otherProps.defaultChecked, + otherProps.type, + otherProps.name + ); + } + } + for (internalInstance = 0; internalInstance < props.length; internalInstance++) + otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode); + } + break a; + case "textarea": + updateTextarea(target, props.value, props.defaultValue); + break a; + case "select": + internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false); + } + } + } + function batchedUpdates$1(fn, a, b) { + if (isInsideEventHandler) return fn(a, b); + isInsideEventHandler = true; + try { + var JSCompiler_inline_result = fn(a); + return JSCompiler_inline_result; + } finally { + if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) { + if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn)) + for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]); + } + } + } + function getListener(inst, registrationName) { + var stateNode = inst.stateNode; + if (null === stateNode) return null; + var props = stateNode[internalPropsKey] || null; + if (null === props) return null; + stateNode = props[registrationName]; + a: switch (registrationName) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst)); + inst = !props; + break a; + default: + inst = false; + } + if (inst) return null; + if (stateNode && "function" !== typeof stateNode) + throw Error( + "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type." + ); + return stateNode; + } + function getData() { + if (fallbackText) return fallbackText; + var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length; + for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ; + var minEnd = startLength - start; + for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ; + return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0); + } + function getEventCharCode(nativeEvent) { + var keyCode = nativeEvent.keyCode; + "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode; + 10 === nativeEvent && (nativeEvent = 13); + return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0; + } + function functionThatReturnsTrue() { + return true; + } + function functionThatReturnsFalse() { + return false; + } + function createSyntheticEvent(Interface) { + function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) { + this._reactName = reactName; + this._targetInst = targetInst; + this.type = reactEventType; + this.nativeEvent = nativeEvent; + this.target = nativeEventTarget; + this.currentTarget = null; + for (var propName in Interface) + Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]); + this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse; + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + assign(SyntheticBaseEvent.prototype, { + preventDefault: function() { + this.defaultPrevented = true; + var event = this.nativeEvent; + event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue); + }, + stopPropagation: function() { + var event = this.nativeEvent; + event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue); + }, + persist: function() { + }, + isPersistent: functionThatReturnsTrue + }); + return SyntheticBaseEvent; + } + function modifierStateGetter(keyArg) { + var nativeEvent = this.nativeEvent; + return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false; + } + function getEventModifierState() { + return modifierStateGetter; + } + function isFallbackCompositionEnd(domEventName, nativeEvent) { + switch (domEventName) { + case "keyup": + return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode); + case "keydown": + return nativeEvent.keyCode !== START_KEYCODE; + case "keypress": + case "mousedown": + case "focusout": + return true; + default: + return false; + } + } + function getDataFromCustomEvent(nativeEvent) { + nativeEvent = nativeEvent.detail; + return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null; + } + function getNativeBeforeInputChars(domEventName, nativeEvent) { + switch (domEventName) { + case "compositionend": + return getDataFromCustomEvent(nativeEvent); + case "keypress": + if (nativeEvent.which !== SPACEBAR_CODE) return null; + hasSpaceKeypress = true; + return SPACEBAR_CHAR; + case "textInput": + return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName; + default: + return null; + } + } + function getFallbackBeforeInputChars(domEventName, nativeEvent) { + if (isComposing) + return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null; + switch (domEventName) { + case "paste": + return null; + case "keypress": + if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) { + if (nativeEvent.char && 1 < nativeEvent.char.length) + return nativeEvent.char; + if (nativeEvent.which) + return String.fromCharCode(nativeEvent.which); + } + return null; + case "compositionend": + return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data; + default: + return null; + } + } + function isTextInputElement(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false; + } + function isEventSupported(eventNameSuffix) { + if (!canUseDOM) return false; + eventNameSuffix = "on" + eventNameSuffix; + var isSupported = eventNameSuffix in document; + isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]); + return isSupported; + } + function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) { + restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target; + inst = accumulateTwoPhaseListeners(inst, "onChange"); + 0 < inst.length && (nativeEvent = new SyntheticEvent( + "onChange", + "change", + null, + nativeEvent, + target + ), dispatchQueue.push({ event: nativeEvent, listeners: inst })); + } + function runEventInBatch(dispatchQueue) { + processDispatchQueue(dispatchQueue, 0); + } + function getInstIfValueChanged(targetInst) { + var targetNode = getNodeFromInstance(targetInst); + if (updateValueIfChanged(targetNode)) return targetInst; + } + function getTargetInstForChangeEvent(domEventName, targetInst) { + if ("change" === domEventName) return targetInst; + } + function stopWatchingForValueChange() { + activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null); + } + function handlePropertyChange(nativeEvent) { + if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) { + var dispatchQueue = []; + createAndAccumulateChangeEvent( + dispatchQueue, + activeElementInst$1, + nativeEvent, + getEventTarget(nativeEvent) + ); + batchedUpdates$1(runEventInBatch, dispatchQueue); + } + } + function handleEventsForInputEventPolyfill(domEventName, target, targetInst) { + "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange(); + } + function getTargetInstForInputEventPolyfill(domEventName) { + if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName) + return getInstIfValueChanged(activeElementInst$1); + } + function getTargetInstForClickEvent(domEventName, targetInst) { + if ("click" === domEventName) return getInstIfValueChanged(targetInst); + } + function getTargetInstForInputOrChangeEvent(domEventName, targetInst) { + if ("input" === domEventName || "change" === domEventName) + return getInstIfValueChanged(targetInst); + } + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + function shallowEqual(objA, objB) { + if (objectIs(objA, objB)) return true; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) + return false; + var keysA = Object.keys(objA), keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return false; + for (keysB = 0; keysB < keysA.length; keysB++) { + var currentKey = keysA[keysB]; + if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) + return false; + } + return true; + } + function getLeafNode(node) { + for (; node && node.firstChild; ) node = node.firstChild; + return node; + } + function getNodeForCharacterOffset(root2, offset) { + var node = getLeafNode(root2); + root2 = 0; + for (var nodeEnd; node; ) { + if (3 === node.nodeType) { + nodeEnd = root2 + node.textContent.length; + if (root2 <= offset && nodeEnd >= offset) + return { node, offset: offset - root2 }; + root2 = nodeEnd; + } + a: { + for (; node; ) { + if (node.nextSibling) { + node = node.nextSibling; + break a; + } + node = node.parentNode; + } + node = void 0; + } + node = getLeafNode(node); + } + } + function containsNode(outerNode, innerNode) { + return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false; + } + function getActiveElementDeep(containerInfo) { + containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window; + for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) { + try { + var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href; + } catch (err) { + JSCompiler_inline_result = false; + } + if (JSCompiler_inline_result) containerInfo = element.contentWindow; + else break; + element = getActiveElement(containerInfo.document); + } + return element; + } + function hasSelectionCapabilities(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable); + } + function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) { + var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument; + mouseDown || null == activeElement || activeElement !== getActiveElement(doc) || (doc = activeElement, "selectionStart" in doc && hasSelectionCapabilities(doc) ? doc = { start: doc.selectionStart, end: doc.selectionEnd } : (doc = (doc.ownerDocument && doc.ownerDocument.defaultView || window).getSelection(), doc = { + anchorNode: doc.anchorNode, + anchorOffset: doc.anchorOffset, + focusNode: doc.focusNode, + focusOffset: doc.focusOffset + }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent( + "onSelect", + "select", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement))); + } + function makePrefixMap(styleProp, eventName) { + var prefixes = {}; + prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); + prefixes["Webkit" + styleProp] = "webkit" + eventName; + prefixes["Moz" + styleProp] = "moz" + eventName; + return prefixes; + } + function getVendorPrefixedEventName(eventName) { + if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; + if (!vendorPrefixes[eventName]) return eventName; + var prefixMap = vendorPrefixes[eventName], styleProp; + for (styleProp in prefixMap) + if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) + return prefixedEventNames[eventName] = prefixMap[styleProp]; + return eventName; + } + function registerSimpleEvent(domEventName, reactName) { + topLevelEventsToReactNames.set(domEventName, reactName); + registerTwoPhaseEvent(reactName, [domEventName]); + } + function createCapturedValueAtFiber(value, source) { + if ("object" === typeof value && null !== value) { + var existing = CapturedStacks.get(value); + if (void 0 !== existing) return existing; + source = { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + CapturedStacks.set(value, source); + return source; + } + return { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + } + function finishQueueingConcurrentUpdates() { + for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) { + var fiber = concurrentQueues[i]; + concurrentQueues[i++] = null; + var queue = concurrentQueues[i]; + concurrentQueues[i++] = null; + var update = concurrentQueues[i]; + concurrentQueues[i++] = null; + var lane = concurrentQueues[i]; + concurrentQueues[i++] = null; + if (null !== queue && null !== update) { + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); + } + } + function enqueueUpdate$1(fiber, queue, update, lane) { + concurrentQueues[concurrentQueuesIndex++] = fiber; + concurrentQueues[concurrentQueuesIndex++] = queue; + concurrentQueues[concurrentQueuesIndex++] = update; + concurrentQueues[concurrentQueuesIndex++] = lane; + concurrentlyUpdatedLanes |= lane; + fiber.lanes |= lane; + fiber = fiber.alternate; + null !== fiber && (fiber.lanes |= lane); + } + function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { + enqueueUpdate$1(fiber, queue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function enqueueConcurrentRenderForLane(fiber, lane) { + enqueueUpdate$1(fiber, null, null, lane); + return getRootForUpdatedFiber(fiber); + } + function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { + sourceFiber.lanes |= lane; + var alternate = sourceFiber.alternate; + null !== alternate && (alternate.lanes |= lane); + for (var isHidden = false, parent = sourceFiber.return; null !== parent; ) + parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return; + return 3 === sourceFiber.tag ? (parent = sourceFiber.stateNode, isHidden && null !== update && (isHidden = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden], null === alternate ? sourceFiber[isHidden] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null; + } + function getRootForUpdatedFiber(sourceFiber) { + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) + throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error( + "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." + ); + nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error( + "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render." + )); + null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); + for (var node = sourceFiber, parent = node.return; null !== parent; ) + null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return; + return 3 === node.tag ? node.stateNode : null; + } + function resolveFunctionForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? type : family.current; + } + function resolveForwardRefForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current; + } + function isCompatibleFamilyForHotReloading(fiber, element) { + if (null === resolveFamily) return false; + var prevType = fiber.elementType; + element = element.type; + var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null; + switch (fiber.tag) { + case 1: + "function" === typeof element && (needsCompareFamilies = true); + break; + case 0: + "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 11: + $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 14: + case 15: + $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + default: + return false; + } + return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false; + } + function markFailedErrorBoundaryForHotReloading(fiber) { + null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber)); + } + function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { + var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null; + switch (tag) { + case 0: + case 15: + case 1: + candidateType = type; + break; + case 11: + candidateType = type.render; + } + if (null === resolveFamily) + throw Error("Expected resolveFamily to be set during hot reload."); + var needsRender = false; + type = false; + null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true))); + null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true); + type && (fiber._debugNeedsRemount = true); + if (type || needsRender) + alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2); + null === child || type || scheduleFibersWithFamiliesRecursively( + child, + updatedFamilies, + staleFamilies + ); + null !== sibling && scheduleFibersWithFamiliesRecursively( + sibling, + updatedFamilies, + staleFamilies + ); + } + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null; + this.index = 0; + this.refCleanup = this.ref = null; + this.pendingProps = pendingProps; + this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.subtreeFlags = this.flags = 0; + this.deletions = null; + this.childLanes = this.lanes = 0; + this.alternate = null; + this.actualDuration = -0; + this.actualStartTime = -1.1; + this.treeBaseDuration = this.selfBaseDuration = -0; + this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null; + this._debugNeedsRemount = false; + this._debugHookTypes = null; + hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this); + } + function shouldConstruct(Component) { + Component = Component.prototype; + return !(!Component || !Component.isReactComponent); + } + function createWorkInProgress(current2, pendingProps) { + var workInProgress2 = current2.alternate; + null === workInProgress2 ? (workInProgress2 = createFiber( + current2.tag, + pendingProps, + current2.key, + current2.mode + ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1); + workInProgress2.flags = current2.flags & 65011712; + workInProgress2.childLanes = current2.childLanes; + workInProgress2.lanes = current2.lanes; + workInProgress2.child = current2.child; + workInProgress2.memoizedProps = current2.memoizedProps; + workInProgress2.memoizedState = current2.memoizedState; + workInProgress2.updateQueue = current2.updateQueue; + pendingProps = current2.dependencies; + workInProgress2.dependencies = null === pendingProps ? null : { + lanes: pendingProps.lanes, + firstContext: pendingProps.firstContext, + _debugThenableState: pendingProps._debugThenableState + }; + workInProgress2.sibling = current2.sibling; + workInProgress2.index = current2.index; + workInProgress2.ref = current2.ref; + workInProgress2.refCleanup = current2.refCleanup; + workInProgress2.selfBaseDuration = current2.selfBaseDuration; + workInProgress2.treeBaseDuration = current2.treeBaseDuration; + workInProgress2._debugInfo = current2._debugInfo; + workInProgress2._debugNeedsRemount = current2._debugNeedsRemount; + switch (workInProgress2.tag) { + case 0: + case 15: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 1: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 11: + workInProgress2.type = resolveForwardRefForHotReloading(current2.type); + } + return workInProgress2; + } + function resetWorkInProgress(workInProgress2, renderLanes2) { + workInProgress2.flags &= 65011714; + var current2 = workInProgress2.alternate; + null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : { + lanes: renderLanes2.lanes, + firstContext: renderLanes2.firstContext, + _debugThenableState: renderLanes2._debugThenableState + }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration); + return workInProgress2; + } + function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) { + var fiberTag = 0, resolvedType = type; + if ("function" === typeof type) + shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType); + else if ("string" === typeof type) + fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5; + else + a: switch (type) { + case REACT_ACTIVITY_TYPE: + return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key; + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment( + pendingProps.children, + mode, + lanes, + key + ); + case REACT_STRICT_MODE_TYPE: + fiberTag = 8; + mode |= StrictLegacyMode; + mode |= StrictEffectsMode; + break; + case REACT_PROFILER_TYPE: + return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error( + 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', + typeof type.id + ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key; + case REACT_SUSPENSE_TYPE: + return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key; + case REACT_SUSPENSE_LIST_TYPE: + return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key; + default: + if ("object" === typeof type && null !== type) + switch (type.$$typeof) { + case REACT_PROVIDER_TYPE: + case REACT_CONTEXT_TYPE: + fiberTag = 10; + break a; + case REACT_CONSUMER_TYPE: + fiberTag = 9; + break a; + case REACT_FORWARD_REF_TYPE: + fiberTag = 11; + resolvedType = resolveForwardRefForHotReloading(resolvedType); + break a; + case REACT_MEMO_TYPE: + fiberTag = 14; + break a; + case REACT_LAZY_TYPE: + fiberTag = 16; + resolvedType = null; + break a; + } + resolvedType = ""; + if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length) + resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type; + (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`."); + fiberTag = 29; + pendingProps = Error( + "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType) + ); + resolvedType = null; + } + key = createFiber(fiberTag, pendingProps, key, mode); + key.elementType = type; + key.type = resolvedType; + key.lanes = lanes; + key._debugOwner = owner; + return key; + } + function createFiberFromElement(element, mode, lanes) { + mode = createFiberFromTypeAndProps( + element.type, + element.key, + element.props, + element._owner, + mode, + lanes + ); + mode._debugOwner = element._owner; + mode._debugStack = element._debugStack; + mode._debugTask = element._debugTask; + return mode; + } + function createFiberFromFragment(elements, mode, lanes, key) { + elements = createFiber(7, elements, key, mode); + elements.lanes = lanes; + return elements; + } + function createFiberFromText(content, mode, lanes) { + content = createFiber(6, content, null, mode); + content.lanes = lanes; + return content; + } + function createFiberFromPortal(portal, mode, lanes) { + mode = createFiber( + 4, + null !== portal.children ? portal.children : [], + portal.key, + mode + ); + mode.lanes = lanes; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + function pushTreeFork(workInProgress2, totalChildren) { + warnIfNotHydrating(); + forkStack[forkStackIndex++] = treeForkCount; + forkStack[forkStackIndex++] = treeForkProvider; + treeForkProvider = workInProgress2; + treeForkCount = totalChildren; + } + function pushTreeId(workInProgress2, totalChildren, index) { + warnIfNotHydrating(); + idStack[idStackIndex++] = treeContextId; + idStack[idStackIndex++] = treeContextOverflow; + idStack[idStackIndex++] = treeContextProvider; + treeContextProvider = workInProgress2; + var baseIdWithLeadingBit = treeContextId; + workInProgress2 = treeContextOverflow; + var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; + baseIdWithLeadingBit &= ~(1 << baseLength); + index += 1; + var length = 32 - clz32(totalChildren) + baseLength; + if (30 < length) { + var numberOfOverflowBits = baseLength - baseLength % 5; + length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32); + baseIdWithLeadingBit >>= numberOfOverflowBits; + baseLength -= numberOfOverflowBits; + treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit; + treeContextOverflow = length + workInProgress2; + } else + treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2; + } + function pushMaterializedTreeId(workInProgress2) { + warnIfNotHydrating(); + null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0)); + } + function popTreeContext(workInProgress2) { + for (; workInProgress2 === treeForkProvider; ) + treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null; + for (; workInProgress2 === treeContextProvider; ) + treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null; + } + function warnIfNotHydrating() { + isHydrating || console.error( + "Expected to be hydrating. This is a bug in React. Please file an issue." + ); + } + function buildHydrationDiffNode(fiber, distanceFromLeaf) { + if (null === fiber.return) { + if (null === hydrationDiffRootDEV) + hydrationDiffRootDEV = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + else { + if (hydrationDiffRootDEV.fiber !== fiber) + throw Error( + "Saw multiple hydration diff roots in a pass. This is a bug in React." + ); + hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf); + } + return hydrationDiffRootDEV; + } + var siblings = buildHydrationDiffNode( + fiber.return, + distanceFromLeaf + 1 + ).children; + if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber) + return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings; + distanceFromLeaf = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + siblings.push(distanceFromLeaf); + return distanceFromLeaf; + } + function warnNonHydratedInstance(fiber, rejectedCandidate) { + didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate))); + } + function throwOnHydrationMismatch(fiber) { + var diff = "", diffRoot = hydrationDiffRootDEV; + null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot)); + queueHydrationError( + createCapturedValueAtFiber( + Error( + "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff + ), + fiber + ) + ); + throw HydrationMismatchException; + } + function prepareToHydrateHostInstance(fiber) { + var didHydrate = fiber.stateNode; + var type = fiber.type, props = fiber.memoizedProps; + didHydrate[internalInstanceKey] = fiber; + didHydrate[internalPropsKey] = props; + validatePropertiesInDevelopment(type, props); + switch (type) { + case "dialog": + listenToNonDelegatedEvent("cancel", didHydrate); + listenToNonDelegatedEvent("close", didHydrate); + break; + case "iframe": + case "object": + case "embed": + listenToNonDelegatedEvent("load", didHydrate); + break; + case "video": + case "audio": + for (type = 0; type < mediaEventTypes.length; type++) + listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate); + break; + case "source": + listenToNonDelegatedEvent("error", didHydrate); + break; + case "img": + case "image": + case "link": + listenToNonDelegatedEvent("error", didHydrate); + listenToNonDelegatedEvent("load", didHydrate); + break; + case "details": + listenToNonDelegatedEvent("toggle", didHydrate); + break; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateInputProps(didHydrate, props); + initInput( + didHydrate, + props.value, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name, + true + ); + track(didHydrate); + break; + case "option": + validateOptionProps(didHydrate, props); + break; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateSelectProps(didHydrate, props); + break; + case "textarea": + checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea( + didHydrate, + props.value, + props.defaultValue, + props.children + ), track(didHydrate); + } + type = props.children; + "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false; + didHydrate || throwOnHydrationMismatch(fiber); + } + function popToNextHostParent(fiber) { + for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) + switch (hydrationParentFiber.tag) { + case 5: + case 13: + rootOrSingletonContext = false; + return; + case 27: + case 3: + rootOrSingletonContext = true; + return; + default: + hydrationParentFiber = hydrationParentFiber.return; + } + } + function popHydrationState(fiber) { + if (fiber !== hydrationParentFiber) return false; + if (!isHydrating) + return popToNextHostParent(fiber), isHydrating = true, false; + var tag = fiber.tag, JSCompiler_temp; + if (JSCompiler_temp = 3 !== tag && 27 !== tag) { + if (JSCompiler_temp = 5 === tag) + JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps); + JSCompiler_temp = !JSCompiler_temp; + } + if (JSCompiler_temp && nextHydratableInstance) { + for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) { + var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp); + diffNode.serverTail.push(description); + JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling); + } + throwOnHydrationMismatch(fiber); + } + popToNextHostParent(fiber); + if (13 === tag) { + fiber = fiber.memoizedState; + fiber = null !== fiber ? fiber.dehydrated : null; + if (!fiber) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber); + } else + 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null; + return true; + } + function resetHydrationState() { + nextHydratableInstance = hydrationParentFiber = null; + didSuspendOrErrorDEV = isHydrating = false; + } + function upgradeHydrationErrorsToRecoverable() { + var queuedErrors = hydrationErrors; + null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + queuedErrors + ), hydrationErrors = null); + return queuedErrors; + } + function queueHydrationError(error) { + null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error); + } + function emitPendingHydrationWarnings() { + var diffRoot = hydrationDiffRootDEV; + if (null !== diffRoot) { + hydrationDiffRootDEV = null; + for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; ) + diffRoot = diffRoot.children[0]; + runWithFiberInDEV(diffRoot.fiber, function() { + console.error( + "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s", + "https://react.dev/link/hydration-mismatch", + diff + ); + }); + } + } + function resetContextDependencies() { + lastContextDependency = currentlyRenderingFiber$1 = null; + isDisallowedContextReadInDEV = false; + } + function pushProvider(providerFiber, context, nextValue) { + push(valueCursor, context._currentValue, providerFiber); + context._currentValue = nextValue; + push(rendererCursorDEV, context._currentRenderer, providerFiber); + void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error( + "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported." + ); + context._currentRenderer = rendererSigil; + } + function popProvider(context, providerFiber) { + context._currentValue = valueCursor.current; + var currentRenderer = rendererCursorDEV.current; + pop(rendererCursorDEV, providerFiber); + context._currentRenderer = currentRenderer; + pop(valueCursor, providerFiber); + } + function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) { + for (; null !== parent; ) { + var alternate = parent.alternate; + (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2); + if (parent === propagationRoot) break; + parent = parent.return; + } + parent !== propagationRoot && console.error( + "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue." + ); + } + function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) { + var fiber = workInProgress2.child; + null !== fiber && (fiber.return = workInProgress2); + for (; null !== fiber; ) { + var list = fiber.dependencies; + if (null !== list) { + var nextFiber = fiber.child; + list = list.firstContext; + a: for (; null !== list; ) { + var dependency = list; + list = fiber; + for (var i = 0; i < contexts.length; i++) + if (dependency.context === contexts[i]) { + list.lanes |= renderLanes2; + dependency = list.alternate; + null !== dependency && (dependency.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + list.return, + renderLanes2, + workInProgress2 + ); + forcePropagateEntireTree || (nextFiber = null); + break a; + } + list = dependency.next; + } + } else if (18 === fiber.tag) { + nextFiber = fiber.return; + if (null === nextFiber) + throw Error( + "We just came from a parent so we must have had a parent. This is a bug in React." + ); + nextFiber.lanes |= renderLanes2; + list = nextFiber.alternate; + null !== list && (list.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + nextFiber, + renderLanes2, + workInProgress2 + ); + nextFiber = null; + } else nextFiber = fiber.child; + if (null !== nextFiber) nextFiber.return = fiber; + else + for (nextFiber = fiber; null !== nextFiber; ) { + if (nextFiber === workInProgress2) { + nextFiber = null; + break; + } + fiber = nextFiber.sibling; + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) { + current2 = null; + for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) { + if (!isInsidePropagationBailout) { + if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true; + else if (0 !== (parent.flags & 262144)) break; + } + if (10 === parent.tag) { + var currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent = currentParent.memoizedProps; + if (null !== currentParent) { + var context = parent.type; + objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]); + } + } else if (parent === hostTransitionProviderCursor.current) { + currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]); + } + parent = parent.return; + } + null !== current2 && propagateContextChanges( + workInProgress2, + current2, + renderLanes2, + forcePropagateEntireTree + ); + workInProgress2.flags |= 262144; + } + function checkIfContextChanged(currentDependencies) { + for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) { + if (!objectIs( + currentDependencies.context._currentValue, + currentDependencies.memoizedValue + )) + return true; + currentDependencies = currentDependencies.next; + } + return false; + } + function prepareToReadContext(workInProgress2) { + currentlyRenderingFiber$1 = workInProgress2; + lastContextDependency = null; + workInProgress2 = workInProgress2.dependencies; + null !== workInProgress2 && (workInProgress2.firstContext = null); + } + function readContext(context) { + isDisallowedContextReadInDEV && console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + return readContextForConsumer(currentlyRenderingFiber$1, context); + } + function readContextDuringReconciliation(consumer, context) { + null === currentlyRenderingFiber$1 && prepareToReadContext(consumer); + return readContextForConsumer(consumer, context); + } + function readContextForConsumer(consumer, context) { + var value = context._currentValue; + context = { context, memoizedValue: value, next: null }; + if (null === lastContextDependency) { + if (null === consumer) + throw Error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + lastContextDependency = context; + consumer.dependencies = { + lanes: 0, + firstContext: context, + _debugThenableState: null + }; + consumer.flags |= 524288; + } else lastContextDependency = lastContextDependency.next = context; + return value; + } + function createCache() { + return { + controller: new AbortControllerLocal(), + data: /* @__PURE__ */ new Map(), + refCount: 0 + }; + } + function retainCache(cache) { + cache.controller.signal.aborted && console.warn( + "A cache instance was retained after it was already freed. This likely indicates a bug in React." + ); + cache.refCount++; + } + function releaseCache(cache) { + cache.refCount--; + 0 > cache.refCount && console.warn( + "A cache instance was released after it was already freed. This likely indicates a bug in React." + ); + 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() { + cache.controller.abort(); + }); + } + function pushNestedEffectDurations() { + var prevEffectDuration = profilerEffectDuration; + profilerEffectDuration = 0; + return prevEffectDuration; + } + function popNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration = prevEffectDuration; + return elapsedTime; + } + function bubbleNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration += prevEffectDuration; + return elapsedTime; + } + function startProfilerTimer(fiber) { + profilerStartTime = now(); + 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime); + } + function stopProfilerTimerIfRunningAndRecordDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + fiber.selfBaseDuration = elapsedTime; + profilerStartTime = -1; + } + } + function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + profilerStartTime = -1; + } + } + function recordEffectDuration() { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + profilerStartTime = -1; + profilerEffectDuration += elapsedTime; + } + } + function startEffectTimer() { + profilerStartTime = now(); + } + function transferActualDuration(fiber) { + for (var child = fiber.child; child; ) + fiber.actualDuration += child.actualDuration, child = child.sibling; + } + function entangleAsyncAction(transition, thenable) { + if (null === currentEntangledListeners) { + var entangledListeners = currentEntangledListeners = []; + currentEntangledPendingCount = 0; + currentEntangledLane = requestTransitionLane(); + currentEntangledActionThenable = { + status: "pending", + value: void 0, + then: function(resolve) { + entangledListeners.push(resolve); + } + }; + } + currentEntangledPendingCount++; + thenable.then(pingEngtangledActionScope, pingEngtangledActionScope); + return thenable; + } + function pingEngtangledActionScope() { + if (0 === --currentEntangledPendingCount && null !== currentEntangledListeners) { + null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled"); + var listeners = currentEntangledListeners; + currentEntangledListeners = null; + currentEntangledLane = 0; + currentEntangledActionThenable = null; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(); + } + } + function chainThenableValue(thenable, result) { + var listeners = [], thenableWithOverride = { + status: "pending", + value: null, + reason: null, + then: function(resolve) { + listeners.push(resolve); + } + }; + thenable.then( + function() { + thenableWithOverride.status = "fulfilled"; + thenableWithOverride.value = result; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result); + }, + function(error) { + thenableWithOverride.status = "rejected"; + thenableWithOverride.reason = error; + for (error = 0; error < listeners.length; error++) + (0, listeners[error])(void 0); + } + ); + return thenableWithOverride; + } + function peekCacheFromPool() { + var cacheResumedFromPreviousRender = resumedCache.current; + return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache; + } + function pushTransition(offscreenWorkInProgress, prevCachePool) { + null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress); + } + function getSuspendedCache() { + var cacheFromPool = peekCacheFromPool(); + return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool }; + } + function createThenableState() { + return { didWarnAboutUncachedPromise: false, thenables: [] }; + } + function isThenableResolved(thenable) { + thenable = thenable.status; + return "fulfilled" === thenable || "rejected" === thenable; + } + function noop$3() { + } + function trackUsedThenable(thenableState2, thenable, index) { + null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true); + var trackedThenables = thenableState2.thenables; + index = trackedThenables[index]; + void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error( + "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework." + )), thenable.then(noop$3, noop$3), thenable = index); + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + default: + if ("string" === typeof thenable.status) + thenable.then(noop$3, noop$3); + else { + thenableState2 = workInProgressRoot; + if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter) + throw Error( + "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + thenableState2 = thenable; + thenableState2.status = "pending"; + thenableState2.then( + function(fulfilledValue) { + if ("pending" === thenable.status) { + var fulfilledThenable = thenable; + fulfilledThenable.status = "fulfilled"; + fulfilledThenable.value = fulfilledValue; + } + }, + function(error) { + if ("pending" === thenable.status) { + var rejectedThenable = thenable; + rejectedThenable.status = "rejected"; + rejectedThenable.reason = error; + } + } + ); + } + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + } + suspendedThenable = thenable; + needsToResetSuspendedThenableDEV = true; + throw SuspenseException; + } + } + function getSuspendedThenable() { + if (null === suspendedThenable) + throw Error( + "Expected a suspended thenable. This is a bug in React. Please file an issue." + ); + var thenable = suspendedThenable; + suspendedThenable = null; + needsToResetSuspendedThenableDEV = false; + return thenable; + } + function checkIfUseWrappedInAsyncCatch(rejectedReason) { + if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException) + throw Error( + "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + } + function initializeUpdateQueue(fiber) { + fiber.updateQueue = { + baseState: fiber.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, lanes: 0, hiddenCallbacks: null }, + callbacks: null + }; + } + function cloneUpdateQueue(current2, workInProgress2) { + current2 = current2.updateQueue; + workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = { + baseState: current2.baseState, + firstBaseUpdate: current2.firstBaseUpdate, + lastBaseUpdate: current2.lastBaseUpdate, + shared: current2.shared, + callbacks: null + }); + } + function createUpdate(lane) { + return { + lane, + tag: UpdateState, + payload: null, + callback: null, + next: null + }; + } + function enqueueUpdate(fiber, update, lane) { + var updateQueue = fiber.updateQueue; + if (null === updateQueue) return null; + updateQueue = updateQueue.shared; + if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) { + var componentName2 = getComponentNameFromFiber(fiber); + console.error( + "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s", + componentName2 + ); + didWarnUpdateInsideUpdate = true; + } + if ((executionContext & RenderContext) !== NoContext) + return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update; + enqueueUpdate$1(fiber, updateQueue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function entangleTransitions(root2, fiber, lane) { + fiber = fiber.updateQueue; + if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) { + var queueLanes = fiber.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + fiber.lanes = lane; + markRootEntangled(root2, lane); + } + } + function enqueueCapturedUpdate(workInProgress2, capturedUpdate) { + var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate; + if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) { + var newFirst = null, newLast = null; + queue = queue.firstBaseUpdate; + if (null !== queue) { + do { + var clone = { + lane: queue.lane, + tag: queue.tag, + payload: queue.payload, + callback: null, + next: null + }; + null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone; + queue = queue.next; + } while (null !== queue); + null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate; + } else newFirst = newLast = capturedUpdate; + queue = { + baseState: current2.baseState, + firstBaseUpdate: newFirst, + lastBaseUpdate: newLast, + shared: current2.shared, + callbacks: current2.callbacks + }; + workInProgress2.updateQueue = queue; + return; + } + workInProgress2 = queue.lastBaseUpdate; + null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate; + queue.lastBaseUpdate = capturedUpdate; + } + function suspendIfUpdateReadFromEntangledAsyncAction() { + if (didReadFromEntangledAsyncAction) { + var entangledActionThenable = currentEntangledActionThenable; + if (null !== entangledActionThenable) throw entangledActionThenable; + } + } + function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) { + didReadFromEntangledAsyncAction = false; + var queue = workInProgress2.updateQueue; + hasForceUpdate = false; + currentlyProcessingQueue = queue.shared; + var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending; + if (null !== pendingQueue) { + queue.shared.pending = null; + var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next; + lastPendingUpdate.next = null; + null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate; + lastBaseUpdate = lastPendingUpdate; + var current2 = workInProgress2.alternate; + null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate)); + } + if (null !== firstBaseUpdate) { + var newState = queue.baseState; + lastBaseUpdate = 0; + current2 = firstPendingUpdate = lastPendingUpdate = null; + pendingQueue = firstBaseUpdate; + do { + var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane; + if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) { + 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true); + null !== current2 && (current2 = current2.next = { + lane: 0, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: null, + next: null + }); + a: { + updateLane = workInProgress2; + var partialState = pendingQueue; + var nextProps = props, instance = instance$jscomp$0; + switch (partialState.tag) { + case ReplaceState: + partialState = partialState.payload; + if ("function" === typeof partialState) { + isDisallowedContextReadInDEV = true; + var nextState = partialState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + newState = nextState; + break a; + } + newState = partialState; + break a; + case CaptureUpdate: + updateLane.flags = updateLane.flags & -65537 | 128; + case UpdateState: + nextState = partialState.payload; + if ("function" === typeof nextState) { + isDisallowedContextReadInDEV = true; + partialState = nextState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + nextState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + } else partialState = nextState; + if (null === partialState || void 0 === partialState) break a; + newState = assign({}, newState, partialState); + break a; + case ForceUpdate: + hasForceUpdate = true; + } + } + updateLane = pendingQueue.callback; + null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane)); + } else + isHiddenUpdate = { + lane: updateLane, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: pendingQueue.callback, + next: null + }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane; + pendingQueue = pendingQueue.next; + if (null === pendingQueue) + if (pendingQueue = queue.shared.pending, null === pendingQueue) + break; + else + isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null; + } while (1); + null === current2 && (lastPendingUpdate = newState); + queue.baseState = lastPendingUpdate; + queue.firstBaseUpdate = firstPendingUpdate; + queue.lastBaseUpdate = current2; + null === firstBaseUpdate && (queue.shared.lanes = 0); + workInProgressRootSkippedLanes |= lastBaseUpdate; + workInProgress2.lanes = lastBaseUpdate; + workInProgress2.memoizedState = newState; + } + currentlyProcessingQueue = null; + } + function callCallback(callback, context) { + if ("function" !== typeof callback) + throw Error( + "Invalid argument passed as callback. Expected a function. Instead received: " + callback + ); + callback.call(context); + } + function commitHiddenCallbacks(updateQueue, context) { + var hiddenCallbacks = updateQueue.shared.hiddenCallbacks; + if (null !== hiddenCallbacks) + for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++) + callCallback(hiddenCallbacks[updateQueue], context); + } + function commitCallbacks(updateQueue, context) { + var callbacks = updateQueue.callbacks; + if (null !== callbacks) + for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++) + callCallback(callbacks[updateQueue], context); + } + function pushHiddenContext(fiber, context) { + var prevEntangledRenderLanes = entangledRenderLanes; + push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber); + push(currentTreeHiddenStackCursor, context, fiber); + entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes; + } + function reuseHiddenContextOnStack(fiber) { + push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber); + push( + currentTreeHiddenStackCursor, + currentTreeHiddenStackCursor.current, + fiber + ); + } + function popHiddenContext(fiber) { + entangledRenderLanes = prevEntangledRenderLanesCursor.current; + pop(currentTreeHiddenStackCursor, fiber); + pop(prevEntangledRenderLanesCursor, fiber); + } + function mountHookTypesDev() { + var hookName = currentHookNameInDev; + null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName); + } + function updateHookTypesDev() { + var hookName = currentHookNameInDev; + if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) { + for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) { + var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName; + for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; ) + oldHookName += " "; + oldHookName += newHookName + "\n"; + table += oldHookName; + } + console.error( + "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + componentName2, + table + ); + } + } + } + function checkDepsAreArrayDev(deps) { + void 0 === deps || null === deps || isArrayImpl(deps) || console.error( + "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", + currentHookNameInDev, + typeof deps + ); + } + function warnOnUseFormStateInDev() { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error( + "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.", + componentName2 + )); + } + function throwInvalidHookError() { + throw Error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + } + function areHookInputsEqual(nextDeps, prevDeps) { + if (ignorePreviousDependencies) return false; + if (null === prevDeps) + return console.error( + "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", + currentHookNameInDev + ), false; + nextDeps.length !== prevDeps.length && console.error( + "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", + currentHookNameInDev, + "[" + prevDeps.join(", ") + "]", + "[" + nextDeps.join(", ") + "]" + ); + for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) + if (!objectIs(nextDeps[i], prevDeps[i])) return false; + return true; + } + function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) { + renderLanes = nextRenderLanes; + currentlyRenderingFiber = workInProgress2; + hookTypesDev = null !== current2 ? current2._debugHookTypes : null; + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component)) + nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error( + "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.", + null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">" + )); + workInProgress2.memoizedState = null; + workInProgress2.updateQueue = null; + workInProgress2.lanes = 0; + ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV; + shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode; + var children = callComponentInDEV(Component, props, secondArg); + shouldDoubleInvokeUserFnsInHooksDEV = false; + didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + )); + if (nextRenderLanes) { + setIsStrictModeForDevtools(true); + try { + children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + finishRenderingHooks(current2, workInProgress2); + return children; + } + function finishRenderingHooks(current2, workInProgress2) { + workInProgress2._debugHookTypes = hookTypesDev; + null === workInProgress2.dependencies ? null !== thenableState$1 && (workInProgress2.dependencies = { + lanes: 0, + firstContext: null, + _debugThenableState: thenableState$1 + }) : workInProgress2.dependencies._debugThenableState = thenableState$1; + ReactSharedInternals.H = ContextOnlyDispatcher; + var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next; + renderLanes = 0; + hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error( + "Internal React error: Expected static flag was missing. Please notify the React team." + ); + didScheduleRenderPhaseUpdate = false; + thenableIndexCounter$1 = 0; + thenableState$1 = null; + if (didRenderTooFewHooks) + throw Error( + "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." + ); + null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true)); + needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false; + current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error( + "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary." + ))); + } + function renderWithHooksAgain(workInProgress2, Component, props, secondArg) { + currentlyRenderingFiber = workInProgress2; + var numberOfReRenders = 0; + do { + didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null); + thenableIndexCounter$1 = 0; + didScheduleRenderPhaseUpdateDuringThisPass = false; + if (numberOfReRenders >= RE_RENDER_LIMIT) + throw Error( + "Too many re-renders. React limits the number of renders to prevent an infinite loop." + ); + numberOfReRenders += 1; + ignorePreviousDependencies = false; + workInProgressHook = currentHook = null; + if (null != workInProgress2.updateQueue) { + var children = workInProgress2.updateQueue; + children.lastEffect = null; + children.events = null; + children.stores = null; + null != children.memoCache && (children.memoCache.index = 0); + } + hookTypesUpdateIndexDev = -1; + ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV; + children = callComponentInDEV(Component, props, secondArg); + } while (didScheduleRenderPhaseUpdateDuringThisPass); + return children; + } + function TransitionAwareHostComponent() { + var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0]; + maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable; + dispatcher = dispatcher.useState()[0]; + (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024); + return maybeThenable; + } + function checkDidRenderIdHook() { + var didRenderIdHook = 0 !== localIdCounter; + localIdCounter = 0; + return didRenderIdHook; + } + function bailoutHooks(current2, workInProgress2, lanes) { + workInProgress2.updateQueue = current2.updateQueue; + workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053; + current2.lanes &= ~lanes; + } + function resetHooksOnUnwind(workInProgress2) { + if (didScheduleRenderPhaseUpdate) { + for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) { + var queue = workInProgress2.queue; + null !== queue && (queue.pending = null); + workInProgress2 = workInProgress2.next; + } + didScheduleRenderPhaseUpdate = false; + } + renderLanes = 0; + hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + currentHookNameInDev = null; + didScheduleRenderPhaseUpdateDuringThisPass = false; + thenableIndexCounter$1 = localIdCounter = 0; + thenableState$1 = null; + } + function mountWorkInProgressHook() { + var hook = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook; + return workInProgressHook; + } + function updateWorkInProgressHook() { + if (null === currentHook) { + var nextCurrentHook = currentlyRenderingFiber.alternate; + nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null; + } else nextCurrentHook = currentHook.next; + var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next; + if (null !== nextWorkInProgressHook) + workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook; + else { + if (null === nextCurrentHook) { + if (null === currentlyRenderingFiber.alternate) + throw Error( + "Update hook called on initial render. This is likely a bug in React. Please file an issue." + ); + throw Error("Rendered more hooks than during the previous render."); + } + currentHook = nextCurrentHook; + nextCurrentHook = { + memoizedState: currentHook.memoizedState, + baseState: currentHook.baseState, + baseQueue: currentHook.baseQueue, + queue: currentHook.queue, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook; + } + return workInProgressHook; + } + function createFunctionComponentUpdateQueue() { + return { lastEffect: null, events: null, stores: null, memoCache: null }; + } + function useThenable(thenable) { + var index = thenableIndexCounter$1; + thenableIndexCounter$1 += 1; + null === thenableState$1 && (thenableState$1 = createThenableState()); + thenable = trackUsedThenable(thenableState$1, thenable, index); + index = currentlyRenderingFiber; + null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV); + return thenable; + } + function use(usable) { + if (null !== usable && "object" === typeof usable) { + if ("function" === typeof usable.then) return useThenable(usable); + if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable); + } + throw Error("An unsupported type was passed to use(): " + String(usable)); + } + function useMemoCache(size) { + var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue; + null !== updateQueue && (memoCache = updateQueue.memoCache); + if (null == memoCache) { + var current2 = currentlyRenderingFiber.alternate; + null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = { + data: current2.data.map(function(array) { + return array.slice(); + }), + index: 0 + }))); + } + null == memoCache && (memoCache = { data: [], index: 0 }); + null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue); + updateQueue.memoCache = memoCache; + updateQueue = memoCache.data[memoCache.index]; + if (void 0 === updateQueue || ignorePreviousDependencies) + for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++) + updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL; + else + updateQueue.length !== size && console.error( + "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.", + updateQueue.length, + size + ); + memoCache.index++; + return updateQueue; + } + function basicStateReducer(state, action) { + return "function" === typeof action ? action(state) : action; + } + function mountReducer(reducer, initialArg, init) { + var hook = mountWorkInProgressHook(); + if (void 0 !== init) { + var initialState = init(initialArg); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + init(initialArg); + } finally { + setIsStrictModeForDevtools(false); + } + } + } else initialState = initialArg; + hook.memoizedState = hook.baseState = initialState; + reducer = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: reducer, + lastRenderedState: initialState + }; + hook.queue = reducer; + reducer = reducer.dispatch = dispatchReducerAction.bind( + null, + currentlyRenderingFiber, + reducer + ); + return [hook.memoizedState, reducer]; + } + function updateReducer(reducer) { + var hook = updateWorkInProgressHook(); + return updateReducerImpl(hook, currentHook, reducer); + } + function updateReducerImpl(hook, current2, reducer) { + var queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var baseQueue = hook.baseQueue, pendingQueue = queue.pending; + if (null !== pendingQueue) { + if (null !== baseQueue) { + var baseFirst = baseQueue.next; + baseQueue.next = pendingQueue.next; + pendingQueue.next = baseFirst; + } + current2.baseQueue !== baseQueue && console.error( + "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React." + ); + current2.baseQueue = baseQueue = pendingQueue; + queue.pending = null; + } + pendingQueue = hook.baseState; + if (null === baseQueue) hook.memoizedState = pendingQueue; + else { + current2 = baseQueue.next; + var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false; + do { + var updateLane = update.lane & -536870913; + if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) { + var revertLane = update.revertLane; + if (0 === revertLane) + null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = { + lane: 0, + revertLane: 0, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + else if ((renderLanes & revertLane) === revertLane) { + update = update.next; + revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + continue; + } else + updateLane = { + lane: 0, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane; + updateLane = update.action; + shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane); + pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane); + } else + revertLane = { + lane: updateLane, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane; + update = update.next; + } while (null !== update && update !== current2); + null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst; + if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer))) + throw reducer; + hook.memoizedState = pendingQueue; + hook.baseState = baseFirst; + hook.baseQueue = newBaseQueueLast; + queue.lastRenderedState = pendingQueue; + } + null === baseQueue && (queue.lanes = 0); + return [hook.memoizedState, queue.dispatch]; + } + function rerenderReducer(reducer) { + var hook = updateWorkInProgressHook(), queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState; + if (null !== lastRenderPhaseUpdate) { + queue.pending = null; + var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next; + do + newState = reducer(newState, update.action), update = update.next; + while (update !== lastRenderPhaseUpdate); + objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true); + hook.memoizedState = newState; + null === hook.baseQueue && (hook.baseState = newState); + queue.lastRenderedState = newState; + } + return [newState, dispatch]; + } + function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook(); + if (isHydrating) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + var nextSnapshot = getServerSnapshot(); + didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error( + "The result of getServerSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } else { + nextSnapshot = getSnapshot(); + didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true)); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + 0 !== (workInProgressRootRenderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); + } + hook.memoizedState = nextSnapshot; + getServerSnapshot = { value: nextSnapshot, getSnapshot }; + hook.queue = getServerSnapshot; + mountEffect( + subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe), + [subscribe] + ); + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + getServerSnapshot, + nextSnapshot, + getSnapshot + ), + null + ); + return nextSnapshot; + } + function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating; + if (isHydrating$jscomp$0) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + getServerSnapshot = getServerSnapshot(); + } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) { + var cachedSnapshot = getSnapshot(); + objectIs(getServerSnapshot, cachedSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } + if (cachedSnapshot = !objectIs( + (currentHook || hook).memoizedState, + getServerSnapshot + )) + hook.memoizedState = getServerSnapshot, didReceiveUpdate = true; + hook = hook.queue; + var create = subscribeToStore.bind(null, fiber, hook, subscribe); + updateEffectImpl(2048, Passive, create, [subscribe]); + if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) { + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + hook, + getServerSnapshot, + getSnapshot + ), + null + ); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + isHydrating$jscomp$0 || 0 !== (renderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); + } + return getServerSnapshot; + } + function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { + fiber.flags |= 16384; + fiber = { getSnapshot, value: renderedSnapshot }; + getSnapshot = currentlyRenderingFiber.updateQueue; + null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber)); + } + function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { + inst.value = nextSnapshot; + inst.getSnapshot = getSnapshot; + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + } + function subscribeToStore(fiber, inst, subscribe) { + return subscribe(function() { + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + }); + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + inst = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(inst, nextValue); + } catch (error) { + return true; + } + } + function forceStoreRerender(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + } + function mountStateImpl(initialState) { + var hook = mountWorkInProgressHook(); + if ("function" === typeof initialState) { + var initialStateInitializer = initialState; + initialState = initialStateInitializer(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + initialStateInitializer(); + } finally { + setIsStrictModeForDevtools(false); + } + } + } + hook.memoizedState = hook.baseState = initialState; + hook.queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialState + }; + return hook; + } + function mountState(initialState) { + initialState = mountStateImpl(initialState); + var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue); + queue.dispatch = dispatch; + return [initialState.memoizedState, dispatch]; + } + function mountOptimistic(passthrough) { + var hook = mountWorkInProgressHook(); + hook.memoizedState = hook.baseState = passthrough; + var queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: null, + lastRenderedState: null + }; + hook.queue = queue; + hook = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + true, + queue + ); + queue.dispatch = hook; + return [passthrough, hook]; + } + function updateOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + } + function updateOptimisticImpl(hook, current2, passthrough, reducer) { + hook.baseState = passthrough; + return updateReducerImpl( + hook, + currentHook, + "function" === typeof reducer ? reducer : basicStateReducer + ); + } + function rerenderOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + if (null !== currentHook) + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + hook.baseState = passthrough; + return [passthrough, hook.queue.dispatch]; + } + function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) { + if (isRenderPhaseUpdate(fiber)) + throw Error("Cannot update form state while rendering."); + fiber = actionQueue.action; + if (null !== fiber) { + var actionNode = { + payload, + action: fiber, + next: null, + isTransition: true, + status: "pending", + value: null, + reason: null, + listeners: [], + then: function(listener) { + actionNode.listeners.push(listener); + } + }; + null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false; + setState(actionNode); + setPendingState = actionQueue.pending; + null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode); + } + } + function runActionStateAction(actionQueue, node) { + var action = node.action, payload = node.payload, prevState = actionQueue.state; + if (node.isTransition) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + ReactSharedInternals.T._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + handleActionReturnValue(actionQueue, node, returnValue); + } catch (error) { + onActionError(actionQueue, node, error); + } finally { + ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } else + try { + currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition); + } catch (error$4) { + onActionError(actionQueue, node, error$4); + } + } + function handleActionReturnValue(actionQueue, node, returnValue) { + null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (returnValue.then( + function(nextState) { + onActionSuccess(actionQueue, node, nextState); + }, + function(error) { + return onActionError(actionQueue, node, error); + } + ), node.isTransition || console.error( + "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop." + )) : onActionSuccess(actionQueue, node, returnValue); + } + function onActionSuccess(actionQueue, actionNode, nextState) { + actionNode.status = "fulfilled"; + actionNode.value = nextState; + notifyActionListeners(actionNode); + actionQueue.state = nextState; + actionNode = actionQueue.pending; + null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState))); + } + function onActionError(actionQueue, actionNode, error) { + var last = actionQueue.pending; + actionQueue.pending = null; + if (null !== last) { + last = last.next; + do + actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next; + while (actionNode !== last); + } + actionQueue.action = null; + } + function notifyActionListeners(actionNode) { + actionNode = actionNode.listeners; + for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])(); + } + function actionStateReducer(oldState, newState) { + return newState; + } + function mountActionState(action, initialStateProp) { + if (isHydrating) { + var ssrFormState = workInProgressRoot.formState; + if (null !== ssrFormState) { + a: { + var isMatching = currentlyRenderingFiber; + if (isHydrating) { + if (nextHydratableInstance) { + b: { + var markerInstance = nextHydratableInstance; + for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) { + if (!inRootOrSingleton) { + markerInstance = null; + break b; + } + markerInstance = getNextHydratable( + markerInstance.nextSibling + ); + if (null === markerInstance) { + markerInstance = null; + break b; + } + } + inRootOrSingleton = markerInstance.data; + markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null; + } + if (markerInstance) { + nextHydratableInstance = getNextHydratable( + markerInstance.nextSibling + ); + isMatching = markerInstance.data === FORM_STATE_IS_MATCHING; + break a; + } + } + throwOnHydrationMismatch(isMatching); + } + isMatching = false; + } + isMatching && (initialStateProp = ssrFormState[0]); + } + } + ssrFormState = mountWorkInProgressHook(); + ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp; + isMatching = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: actionStateReducer, + lastRenderedState: initialStateProp + }; + ssrFormState.queue = isMatching; + ssrFormState = dispatchSetState.bind( + null, + currentlyRenderingFiber, + isMatching + ); + isMatching.dispatch = ssrFormState; + isMatching = mountStateImpl(false); + inRootOrSingleton = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + false, + isMatching.queue + ); + isMatching = mountWorkInProgressHook(); + markerInstance = { + state: initialStateProp, + dispatch: null, + action, + pending: null + }; + isMatching.queue = markerInstance; + ssrFormState = dispatchActionState.bind( + null, + currentlyRenderingFiber, + markerInstance, + inRootOrSingleton, + ssrFormState + ); + markerInstance.dispatch = ssrFormState; + isMatching.memoizedState = action; + return [initialStateProp, ssrFormState, false]; + } + function updateActionState(action) { + var stateHook = updateWorkInProgressHook(); + return updateActionStateImpl(stateHook, currentHook, action); + } + function updateActionStateImpl(stateHook, currentStateHook, action) { + currentStateHook = updateReducerImpl( + stateHook, + currentStateHook, + actionStateReducer + )[0]; + stateHook = updateReducer(basicStateReducer)[0]; + if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then) + try { + var state = useThenable(currentStateHook); + } catch (x) { + if (x === SuspenseException) throw SuspenseActionException; + throw x; + } + else state = currentStateHook; + currentStateHook = updateWorkInProgressHook(); + var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch; + action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + actionStateActionEffect.bind(null, actionQueue, action), + null + )); + return [state, dispatch, stateHook]; + } + function actionStateActionEffect(actionQueue, action) { + actionQueue.action = action; + } + function rerenderActionState(action) { + var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook; + if (null !== currentStateHook) + return updateActionStateImpl(stateHook, currentStateHook, action); + updateWorkInProgressHook(); + stateHook = stateHook.memoizedState; + currentStateHook = updateWorkInProgressHook(); + var dispatch = currentStateHook.queue.dispatch; + currentStateHook.memoizedState = action; + return [stateHook, dispatch, false]; + } + function pushSimpleEffect(tag, inst, create, createDeps) { + tag = { + tag, + create, + deps: createDeps, + inst, + next: null + }; + inst = currentlyRenderingFiber.updateQueue; + null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst); + create = inst.lastEffect; + null === create ? inst.lastEffect = tag.next = tag : (createDeps = create.next, create.next = tag, tag.next = createDeps, inst.lastEffect = tag); + return tag; + } + function createEffectInstance() { + return { destroy: void 0, resource: void 0 }; + } + function mountRef(initialValue) { + var hook = mountWorkInProgressHook(); + initialValue = { current: initialValue }; + return hook.memoizedState = initialValue; + } + function mountEffectImpl(fiberFlags, hookFlags, create, createDeps) { + var hook = mountWorkInProgressHook(); + createDeps = void 0 === createDeps ? null : createDeps; + currentlyRenderingFiber.flags |= fiberFlags; + hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + createEffectInstance(), + create, + createDeps + ); + } + function updateEffectImpl(fiberFlags, hookFlags, create, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var inst = hook.memoizedState.inst; + null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + inst, + create, + deps + )); + } + function mountEffect(create, createDeps) { + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode ? mountEffectImpl(276826112, Passive, create, createDeps) : mountEffectImpl(8390656, Passive, create, createDeps); + } + function mountLayoutEffect(create, deps) { + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + return mountEffectImpl(fiberFlags, Layout, create, deps); + } + function imperativeHandleEffect(create, ref) { + if ("function" === typeof ref) { + create = create(); + var refCleanup = ref(create); + return function() { + "function" === typeof refCleanup ? refCleanup() : ref(null); + }; + } + if (null !== ref && void 0 !== ref) + return ref.hasOwnProperty("current") || console.error( + "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", + "an object with keys {" + Object.keys(ref).join(", ") + "}" + ), create = create(), ref.current = create, function() { + ref.current = null; + }; + } + function mountImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + mountEffectImpl( + fiberFlags, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function updateImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + updateEffectImpl( + 4, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function mountCallback(callback, deps) { + mountWorkInProgressHook().memoizedState = [ + callback, + void 0 === deps ? null : deps + ]; + return callback; + } + function updateCallback(callback, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + hook.memoizedState = [callback, deps]; + return callback; + } + function mountMemo(nextCreate, deps) { + var hook = mountWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var nextValue = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [nextValue, deps]; + return nextValue; + } + function updateMemo(nextCreate, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + prevState = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [prevState, deps]; + return prevState; + } + function mountDeferredValue(value, initialValue) { + var hook = mountWorkInProgressHook(); + return mountDeferredValueImpl(hook, value, initialValue); + } + function updateDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function rerenderDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function mountDeferredValueImpl(hook, value, initialValue) { + if (void 0 === initialValue || 0 !== (renderLanes & 1073741824)) + return hook.memoizedState = value; + hook.memoizedState = initialValue; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return initialValue; + } + function updateDeferredValueImpl(hook, prevValue, value, initialValue) { + if (objectIs(value, prevValue)) return value; + if (null !== currentTreeHiddenStackCursor.current) + return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook; + if (0 === (renderLanes & 42)) + return didReceiveUpdate = true, hook.memoizedState = value; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return prevValue; + } + function startTransition(fiber, queue, pendingState, finishedState, callback) { + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority; + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + dispatchOptimisticSetState(fiber, false, queue, pendingState); + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) { + var thenableForFinishedState = chainThenableValue( + returnValue, + finishedState + ); + dispatchSetStateInternal( + fiber, + queue, + thenableForFinishedState, + requestUpdateLane(fiber) + ); + } else + dispatchSetStateInternal( + fiber, + queue, + finishedState, + requestUpdateLane(fiber) + ); + } catch (error) { + dispatchSetStateInternal( + fiber, + queue, + { then: function() { + }, status: "rejected", reason: error }, + requestUpdateLane(fiber) + ); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } + function startHostTransition(formFiber, pendingState, action, formData) { + if (5 !== formFiber.tag) + throw Error( + "Expected the form instance to be a HostComponent. This is a bug in React." + ); + var queue = ensureFormComponentIsStateful(formFiber).queue; + startTransition( + formFiber, + queue, + pendingState, + NotPendingTransition, + null === action ? noop$2 : function() { + requestFormReset$1(formFiber); + return action(formData); + } + ); + } + function ensureFormComponentIsStateful(formFiber) { + var existingStateHook = formFiber.memoizedState; + if (null !== existingStateHook) return existingStateHook; + existingStateHook = { + memoizedState: NotPendingTransition, + baseState: NotPendingTransition, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: NotPendingTransition + }, + next: null + }; + var initialResetState = {}; + existingStateHook.next = { + memoizedState: initialResetState, + baseState: initialResetState, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialResetState + }, + next: null + }; + formFiber.memoizedState = existingStateHook; + formFiber = formFiber.alternate; + null !== formFiber && (formFiber.memoizedState = existingStateHook); + return existingStateHook; + } + function requestFormReset$1(formFiber) { + null === ReactSharedInternals.T && console.error( + "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition." + ); + var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue; + dispatchSetStateInternal( + formFiber, + resetStateQueue, + {}, + requestUpdateLane(formFiber) + ); + } + function mountTransition() { + var stateHook = mountStateImpl(false); + stateHook = startTransition.bind( + null, + currentlyRenderingFiber, + stateHook.queue, + true, + false + ); + mountWorkInProgressHook().memoizedState = stateHook; + return [false, stateHook]; + } + function updateTransition() { + var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function rerenderTransition() { + var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function useHostTransitionStatus() { + return readContext(HostTransitionContext); + } + function mountId() { + var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix; + if (isHydrating) { + var treeId = treeContextOverflow; + var idWithLeadingBit = treeContextId; + treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId; + identifierPrefix = "\xAB" + identifierPrefix + "R" + treeId; + treeId = localIdCounter++; + 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); + identifierPrefix += "\xBB"; + } else + treeId = globalClientIdCounter++, identifierPrefix = "\xAB" + identifierPrefix + "r" + treeId.toString(32) + "\xBB"; + return hook.memoizedState = identifierPrefix; + } + function mountRefresh() { + return mountWorkInProgressHook().memoizedState = refreshCache.bind( + null, + currentlyRenderingFiber + ); + } + function refreshCache(fiber, seedKey) { + for (var provider = fiber.return; null !== provider; ) { + switch (provider.tag) { + case 24: + case 3: + var lane = requestUpdateLane(provider); + fiber = createUpdate(lane); + var root2 = enqueueUpdate(provider, fiber, lane); + null !== root2 && (scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane)); + provider = createCache(); + null !== seedKey && void 0 !== seedKey && null !== root2 && console.error( + "The seed argument is not enabled outside experimental channels." + ); + fiber.payload = { cache: provider }; + return; + } + provider = provider.return; + } + } + function dispatchReducerAction(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + var update = { + lane: args, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args))); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetState(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + dispatchSetStateInternal(fiber, queue, action, args); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetStateInternal(fiber, queue, action, lane) { + var update = { + lane, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); + else { + var alternate = fiber.alternate; + if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action); + update.hasEagerState = true; + update.eagerState = eagerState; + if (objectIs(eagerState, currentState)) + return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false; + } catch (error) { + } finally { + ReactSharedInternals.H = prevDispatcher; + } + } + action = enqueueConcurrentHookUpdate(fiber, queue, update, lane); + if (null !== action) + return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true; + } + return false; + } + function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) { + null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error( + "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition." + ); + action = { + lane: 2, + revertLane: requestTransitionLane(), + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) { + if (throwIfDuringRender) + throw Error("Cannot update optimistic state while rendering."); + console.error("Cannot call startTransition while rendering."); + } else + throwIfDuringRender = enqueueConcurrentHookUpdate( + fiber, + queue, + action, + 2 + ), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2); + markStateUpdateScheduled(fiber, 2); + } + function isRenderPhaseUpdate(fiber) { + var alternate = fiber.alternate; + return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber; + } + function enqueueRenderPhaseUpdate(queue, update) { + didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true; + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + function entangleTransitionUpdate(root2, queue, lane) { + if (0 !== (lane & 4194048)) { + var queueLanes = queue.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + queue.lanes = lane; + markRootEntangled(root2, lane); + } + } + function pushDebugInfo(debugInfo) { + var previousDebugInfo = currentDebugInfo; + null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo)); + return previousDebugInfo; + } + function validateFragmentProps(element, fiber, returnFiber) { + for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) { + var key = keys[i]; + if ("children" !== key && "key" !== key) { + null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber); + runWithFiberInDEV( + fiber, + function(erroredKey) { + console.error( + "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", + erroredKey + ); + }, + key + ); + break; + } + } + } + function unwrapThenable(thenable) { + var index = thenableIndexCounter; + thenableIndexCounter += 1; + null === thenableState && (thenableState = createThenableState()); + return trackUsedThenable(thenableState, thenable, index); + } + function coerceRef(workInProgress2, element) { + element = element.props.ref; + workInProgress2.ref = void 0 !== element ? element : null; + } + function throwOnInvalidObjectType(returnFiber, newChild) { + if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) + throw Error( + 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.' + ); + returnFiber = Object.prototype.toString.call(newChild); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead." + ); + } + function warnOnFunctionType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)", + invalidChild, + invalidChild, + invalidChild + ) : console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>", + invalidChild, + invalidChild, + parentName, + invalidChild, + parentName + )); + } + function warnOnSymbolType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error( + "Symbols are not valid as a React child.\n root.render(%s)", + invalidChild + ) : console.error( + "Symbols are not valid as a React child.\n <%s>%s</%s>", + parentName, + invalidChild, + parentName + )); + } + function createChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var deletions = returnFiber.deletions; + null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete); + } + } + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + for (; null !== currentFirstChild; ) + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return null; + } + function mapRemainingChildren(currentFirstChild) { + for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; ) + null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return existingChildren; + } + function useFiber(fiber, pendingProps) { + fiber = createWorkInProgress(fiber, pendingProps); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) + return newFiber.flags |= 1048576, lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) + return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex; + newFiber.flags |= 67108866; + return lastPlacedIndex; + } + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866); + return newFiber; + } + function updateTextNode(returnFiber, current2, textContent, lanes) { + if (null === current2 || 6 !== current2.tag) + return current2 = createFiberFromText( + textContent, + returnFiber.mode, + lanes + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, textContent); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateElement(returnFiber, current2, element, lanes) { + var elementType = element.type; + if (elementType === REACT_FRAGMENT_TYPE) + return current2 = updateFragment( + returnFiber, + current2, + element.props.children, + lanes, + element.key + ), validateFragmentProps(element, current2, returnFiber), current2; + if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type)) + return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2; + current2 = createFiberFromElement(element, returnFiber.mode, lanes); + coerceRef(current2, element); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updatePortal(returnFiber, current2, portal, lanes) { + if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation) + return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, portal.children || []); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateFragment(returnFiber, current2, fragment, lanes, key) { + if (null === current2 || 7 !== current2.tag) + return current2 = createFiberFromFragment( + fragment, + returnFiber.mode, + lanes, + key + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, fragment); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function createChild(returnFiber, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return newChild = createFiberFromText( + "" + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild; + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal( + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; + case REACT_LAZY_TYPE: + var _prevDebugInfo = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = createChild(returnFiber, newChild, lanes); + currentDebugInfo = _prevDebugInfo; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return lanes = createFiberFromFragment( + newChild, + returnFiber.mode, + lanes, + null + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + if ("function" === typeof newChild.then) + return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild( + returnFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return createChild( + returnFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateSlot(returnFiber, oldFiber, newChild, lanes) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber) : null; + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; + case REACT_LAZY_TYPE: + return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) { + if (null !== key) return null; + key = pushDebugInfo(newChild._debugInfo); + returnFiber = updateFragment( + returnFiber, + oldFiber, + newChild, + lanes, + null + ); + currentDebugInfo = key; + return returnFiber; + } + if ("function" === typeof newChild.then) + return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot( + returnFiber, + oldFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = key, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateSlot( + returnFiber, + oldFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newIdx = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + newIdx, + newChild, + lanes + ), currentDebugInfo = existingChildren, returnFiber; + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes); + case REACT_LAZY_TYPE: + var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + newChild, + lanes + ); + currentDebugInfo = _prevDebugInfo7; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment( + returnFiber, + newIdx, + newChild, + lanes, + null + ), currentDebugInfo = existingChildren, returnFiber; + if ("function" === typeof newChild.then) + return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo7, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateFromMap( + existingChildren, + returnFiber, + newIdx, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) { + if ("object" !== typeof child || null === child) return knownKeys; + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(returnFiber, workInProgress2, child); + var key = child.key; + if ("string" !== typeof key) break; + if (null === knownKeys) { + knownKeys = /* @__PURE__ */ new Set(); + knownKeys.add(key); + break; + } + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + runWithFiberInDEV(workInProgress2, function() { + console.error( + "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.", + key + ); + }); + break; + case REACT_LAZY_TYPE: + child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys); + } + return knownKeys; + } + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { + for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot( + returnFiber, + oldFiber, + newChildren[newIdx], + lanes + ); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + newChildren[newIdx], + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (newIdx === newChildren.length) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) + oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + newChildren[newIdx], + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + newChildren[newIdx], + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + newChildren[newIdx], + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) { + if (null == newChildren) + throw Error("An iterable object provided no iterator."); + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + step.value, + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (step.done) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildren.next()) + oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + step.value, + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next()) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + step.value, + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + step.value, + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) { + "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + var prevDebugInfo = pushDebugInfo(newChild._debugInfo); + a: { + for (var key = newChild.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === key) { + key = newChild.type; + if (key === REACT_FRAGMENT_TYPE) { + if (7 === currentFirstChild.tag) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + newChild.props.children + ); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + validateFragmentProps(newChild, lanes, returnFiber); + returnFiber = lanes; + break a; + } + } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading( + currentFirstChild, + newChild + ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber(currentFirstChild, newChild.props); + coerceRef(lanes, newChild); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + returnFiber = lanes; + break a; + } + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment( + newChild.props.children, + returnFiber.mode, + lanes, + newChild.key + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes); + } + returnFiber = placeSingleChild(returnFiber); + currentDebugInfo = prevDebugInfo; + return returnFiber; + case REACT_PORTAL_TYPE: + a: { + prevDebugInfo = newChild; + for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === newChild) + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + prevDebugInfo.children || [] + ); + lanes.return = returnFiber; + returnFiber = lanes; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + lanes = createFiberFromPortal( + prevDebugInfo, + returnFiber.mode, + lanes + ); + lanes.return = returnFiber; + returnFiber = lanes; + } + return placeSingleChild(returnFiber); + case REACT_LAZY_TYPE: + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + } + if (isArrayImpl(newChild)) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (getIteratorFn(newChild)) { + prevDebugInfo = pushDebugInfo(newChild._debugInfo); + key = getIteratorFn(newChild); + if ("function" !== typeof key) + throw Error( + "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." + ); + var newChildren = key.call(newChild); + if (newChildren === newChild) { + if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren)) + didWarnAboutGenerators || console.error( + "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items." + ), didWarnAboutGenerators = true; + } else + newChild.entries !== key || didWarnAboutMaps || (console.error( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true); + returnFiber = reconcileChildrenIterator( + returnFiber, + currentFirstChild, + newChildren, + lanes + ); + currentDebugInfo = prevDebugInfo; + return returnFiber; + } + if ("function" === typeof newChild.then) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText( + prevDebugInfo, + returnFiber.mode, + lanes + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber); + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + return function(returnFiber, currentFirstChild, newChild, lanes) { + var prevDebugInfo = currentDebugInfo; + currentDebugInfo = null; + try { + thenableIndexCounter = 0; + var firstChildFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ); + thenableState = null; + return firstChildFiber; + } catch (x) { + if (x === SuspenseException || x === SuspenseActionException) throw x; + var fiber = createFiber(29, x, null, returnFiber.mode); + fiber.lanes = lanes; + fiber.return = returnFiber; + var debugInfo = fiber._debugInfo = currentDebugInfo; + fiber._debugOwner = returnFiber._debugOwner; + fiber._debugTask = returnFiber._debugTask; + if (null != debugInfo) { + for (var i = debugInfo.length - 1; 0 <= i; i--) + if ("string" === typeof debugInfo[i].stack) { + fiber._debugOwner = debugInfo[i]; + fiber._debugTask = debugInfo[i].debugTask; + break; + } + } + return fiber; + } finally { + currentDebugInfo = prevDebugInfo; + } + }; + } + function pushPrimaryTreeSuspenseHandler(handler) { + var current2 = handler.alternate; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask, + handler + ); + push(suspenseHandlerStackCursor, handler, handler); + null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler)); + } + function pushOffscreenSuspenseHandler(fiber) { + if (22 === fiber.tag) { + if (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary) { + var current2 = fiber.alternate; + null !== current2 && null !== current2.memoizedState && (shellBoundary = fiber); + } + } else reuseSuspenseHandlerOnStack(fiber); + } + function reuseSuspenseHandlerOnStack(fiber) { + push(suspenseStackCursor, suspenseStackCursor.current, fiber); + push( + suspenseHandlerStackCursor, + suspenseHandlerStackCursor.current, + fiber + ); + } + function popSuspenseHandler(fiber) { + pop(suspenseHandlerStackCursor, fiber); + shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor, fiber); + } + function findFirstSuspended(row) { + for (var node = row; null !== node; ) { + if (13 === node.tag) { + var state = node.memoizedState; + if (null !== state && (state = state.dehydrated, null === state || state.data === SUSPENSE_PENDING_START_DATA || isSuspenseInstanceFallback(state))) + return node; + } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + if (0 !== (node.flags & 128)) return node; + } else if (null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === row) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === row) return null; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + return null; + } + function warnOnInvalidCallback(callback) { + if (null !== callback && "function" !== typeof callback) { + var key = String(callback); + didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + )); + } + } + function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState = getDerivedStateFromProps(nextProps, prevState); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error( + "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", + ctor + ))); + prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState); + workInProgress2.memoizedState = prevState; + 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState); + } + function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) { + var instance = workInProgress2.stateNode; + if ("function" === typeof instance.shouldComponentUpdate) { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === oldProps && console.error( + "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", + getComponentNameFromType(ctor) || "Component" + ); + return oldProps; + } + return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true; + } + function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) { + var oldState = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); + instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error( + "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + workInProgress2 + )), classComponentUpdater.enqueueReplaceState( + instance, + instance.state, + null + )); + } + function resolveClassComponentProps(Component, baseProps) { + var newProps = baseProps; + if ("ref" in baseProps) { + newProps = {}; + for (var propName in baseProps) + "ref" !== propName && (newProps[propName] = baseProps[propName]); + } + if (Component = Component.defaultProps) { + newProps === baseProps && (newProps = assign({}, newProps)); + for (var _propName in Component) + void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]); + } + return newProps; + } + function defaultOnUncaughtError(error) { + reportGlobalError(error); + console.warn( + "%s\n\n%s\n", + componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.", + "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries." + ); + } + function defaultOnCaughtError(error) { + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + "."); + if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) { + var JSCompiler_inline_result = error.environmentName; + error = [ + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ].slice(0); + "string" === typeof error[0] ? error.splice( + 0, + 1, + badgeFormat + error[0], + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ) : error.splice( + 0, + 0, + badgeFormat, + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ); + error.unshift(console); + JSCompiler_inline_result = bind.apply(console.error, error); + JSCompiler_inline_result(); + } else + console.error( + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ); + } + function defaultOnRecoverableError(error) { + reportGlobalError(error); + } + function logUncaughtError(root2, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = null; + var error = errorInfo.value; + if (null !== ReactSharedInternals.actQueue) + ReactSharedInternals.thrownErrors.push(error); + else { + var onUncaughtError = root2.onUncaughtError; + onUncaughtError(error, { componentStack: errorInfo.stack }); + } + } catch (e$5) { + setTimeout(function() { + throw e$5; + }); + } + } + function logCaughtError(root2, boundary, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = getComponentNameFromFiber(boundary); + var onCaughtError = root2.onCaughtError; + onCaughtError(errorInfo.value, { + componentStack: errorInfo.stack, + errorBoundary: 1 === boundary.tag ? boundary.stateNode : null + }); + } catch (e$6) { + setTimeout(function() { + throw e$6; + }); + } + } + function createRootErrorUpdate(root2, errorInfo, lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + lane.payload = { element: null }; + lane.callback = function() { + runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo); + }; + return lane; + } + function createClassErrorUpdate(lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + return lane; + } + function initializeClassErrorUpdate(update, root2, fiber, errorInfo) { + var getDerivedStateFromError = fiber.type.getDerivedStateFromError; + if ("function" === typeof getDerivedStateFromError) { + var error = errorInfo.value; + update.payload = function() { + return getDerivedStateFromError(error); + }; + update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + }; + } + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this)); + callComponentDidCatchInDEV(this, errorInfo); + "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error( + "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", + getComponentNameFromFiber(fiber) || "Unknown" + ); + }); + } + function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) { + sourceFiber.flags |= 32768; + isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes); + if (null !== value && "object" === typeof value && "function" === typeof value.then) { + returnFiber = sourceFiber.alternate; + null !== returnFiber && propagateParentContextChanges( + returnFiber, + sourceFiber, + rootRenderLanes, + true + ); + isHydrating && (didSuspendOrErrorDEV = true); + sourceFiber = suspenseHandlerStackCursor.current; + if (null !== sourceFiber) { + switch (sourceFiber.tag) { + case 13: + return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false; + case 22: + return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = { + transitions: null, + markerInstances: null, + retryQueue: /* @__PURE__ */ new Set([value]) + }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false; + } + throw Error( + "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React." + ); + } + attachPingListener(root2, value, rootRenderLanes); + renderDidSuspendDelayIfPossible(); + return false; + } + if (isHydrating) + return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.", + { cause: value } + ), + sourceFiber + ) + )) : (value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering the entire root.", + { cause: value } + ), + sourceFiber + ) + ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate( + root2.stateNode, + value, + rootRenderLanes + ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false; + var error = createCapturedValueAtFiber( + Error( + "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.", + { cause: value } + ), + sourceFiber + ); + null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error); + workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored); + if (null === returnFiber) return true; + value = createCapturedValueAtFiber(value, sourceFiber); + sourceFiber = returnFiber; + do { + switch (sourceFiber.tag) { + case 3: + return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate( + sourceFiber.stateNode, + value, + root2 + ), enqueueCapturedUpdate(sourceFiber, root2), false; + case 1: + if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error)))) + return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate( + rootRenderLanes, + root2, + sourceFiber, + value + ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false; + } + sourceFiber = sourceFiber.return; + } while (null !== sourceFiber); + return false; + } + function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) { + workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers( + workInProgress2, + current2.child, + nextChildren, + renderLanes2 + ); + } + function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) { + Component = Component.render; + var ref = workInProgress2.ref; + if ("ref" in nextProps) { + var propsWithoutRef = {}; + for (var key in nextProps) + "ref" !== key && (propsWithoutRef[key] = nextProps[key]); + } else propsWithoutRef = nextProps; + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + nextProps = renderWithHooks( + current2, + workInProgress2, + Component, + propsWithoutRef, + ref, + renderLanes2 + ); + key = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && key && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null === current2) { + var type = Component.type; + if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare) + return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + current2 = createFiberFromTypeAndProps( + Component.type, + null, + nextProps, + workInProgress2, + workInProgress2.mode, + renderLanes2 + ); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + type = current2.child; + if (!checkScheduledUpdateOrContext(current2, renderLanes2)) { + var prevProps = type.memoizedProps; + Component = Component.compare; + Component = null !== Component ? Component : shallowEqual; + if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref) + return bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + } + workInProgress2.flags |= 1; + current2 = createWorkInProgress(type, nextProps); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null !== current2) { + var prevProps = current2.memoizedProps; + if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type) + if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2)) + 0 !== (current2.flags & 131072) && (didReceiveUpdate = true); + else + return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + return updateFunctionComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + } + function updateOffscreenComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null; + if ("hidden" === nextProps.mode) { + if (0 !== (workInProgress2.flags & 128)) { + nextProps = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2; + if (null !== current2) { + nextChildren = workInProgress2.child = current2.child; + for (prevState = 0; null !== nextChildren; ) + prevState = prevState | nextChildren.lanes | nextChildren.childLanes, nextChildren = nextChildren.sibling; + workInProgress2.childLanes = prevState & ~nextProps; + } else workInProgress2.childLanes = 0, workInProgress2.child = null; + return deferHiddenOffscreenComponent( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + } + if (0 !== (renderLanes2 & 536870912)) + workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition( + workInProgress2, + null !== prevState ? prevState.cachePool : null + ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2); + else + return workInProgress2.lanes = workInProgress2.childLanes = 536870912, deferHiddenOffscreenComponent( + current2, + workInProgress2, + null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2, + renderLanes2 + ); + } else + null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2)); + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2) { + var JSCompiler_inline_result = peekCacheFromPool(); + JSCompiler_inline_result = null === JSCompiler_inline_result ? null : { + parent: CacheContext._currentValue, + pool: JSCompiler_inline_result + }; + workInProgress2.memoizedState = { + baseLanes: nextBaseLanes, + cachePool: JSCompiler_inline_result + }; + null !== current2 && pushTransition(workInProgress2, null); + reuseHiddenContextOnStack(workInProgress2); + pushOffscreenSuspenseHandler(workInProgress2); + null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true); + return null; + } + function markRef(current2, workInProgress2) { + var ref = workInProgress2.ref; + if (null === ref) + null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816); + else { + if ("function" !== typeof ref && "object" !== typeof ref) + throw Error( + "Expected ref to be a function, an object returned by React.createRef(), or undefined/null." + ); + if (null === current2 || current2.ref !== ref) + workInProgress2.flags |= 4194816; + } + } + function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (Component.prototype && "function" === typeof Component.prototype.render) { + var componentName2 = getComponentNameFromType(Component) || "Unknown"; + didWarnAboutBadClass[componentName2] || (console.error( + "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", + componentName2, + componentName2 + ), didWarnAboutBadClass[componentName2] = true); + } + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + null + ); + null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)", + componentName2 + )))); + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + Component = renderWithHooks( + current2, + workInProgress2, + Component, + nextProps, + void 0, + renderLanes2 + ); + nextProps = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && nextProps && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, Component, renderLanes2); + return workInProgress2.child; + } + function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) { + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + workInProgress2.updateQueue = null; + nextProps = renderWithHooksAgain( + workInProgress2, + Component, + nextProps, + secondArg + ); + finishRenderingHooks(current2, workInProgress2); + Component = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && Component && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + switch (shouldErrorImpl(workInProgress2)) { + case false: + var _instance = workInProgress2.stateNode, state = new workInProgress2.type( + workInProgress2.memoizedProps, + _instance.context + ).state; + _instance.updater.enqueueSetState(_instance, state, null); + break; + case true: + workInProgress2.flags |= 128; + workInProgress2.flags |= 65536; + _instance = Error("Simulated error coming from DevTools"); + var lane = renderLanes2 & -renderLanes2; + workInProgress2.lanes |= lane; + state = workInProgressRoot; + if (null === state) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + lane = createClassErrorUpdate(lane); + initializeClassErrorUpdate( + lane, + state, + workInProgress2, + createCapturedValueAtFiber(_instance, workInProgress2) + ); + enqueueCapturedUpdate(workInProgress2, lane); + } + prepareToReadContext(workInProgress2); + if (null === workInProgress2.stateNode) { + state = emptyContextObject; + _instance = Component.contextType; + "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error( + "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", + getComponentNameFromType(Component) || "Component", + lane + )); + "object" === typeof _instance && null !== _instance && (state = readContext(_instance)); + _instance = new Component(nextProps, state); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + _instance = new Component(nextProps, state); + } finally { + setIsStrictModeForDevtools(false); + } + } + state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null; + _instance.updater = classComponentUpdater; + workInProgress2.stateNode = _instance; + _instance._reactInternals = workInProgress2; + _instance._reactInternalInstance = fakeInternalInstance; + "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error( + "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", + state, + null === _instance.state ? "null" : "undefined", + state + ))); + if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) { + var foundWillUpdateName = lane = state = null; + "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount"); + "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps"); + "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate"); + if (null !== state || null !== lane || null !== foundWillUpdateName) { + _instance = getComponentNameFromType(Component) || "Component"; + var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error( + "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles", + _instance, + newApiName, + null !== state ? "\n " + state : "", + null !== lane ? "\n " + lane : "", + null !== foundWillUpdateName ? "\n " + foundWillUpdateName : "" + )); + } + } + _instance = workInProgress2.stateNode; + state = getComponentNameFromType(Component) || "Component"; + _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error( + "No `render` method found on the %s instance: did you accidentally return an object from the constructor?", + state + ) : console.error( + "No `render` method found on the %s instance: you may have forgotten to define `render`.", + state + )); + !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error( + "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", + state + ); + _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error( + "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", + state + ); + _instance.contextType && console.error( + "contextType was defined as an instance property on %s. Use a static property to define contextType instead.", + state + ); + Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error( + "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)", + state + )); + Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)", + state + )); + "function" === typeof _instance.componentShouldUpdate && console.error( + "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", + state + ); + Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error( + "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", + getComponentNameFromType(Component) || "A pure component" + ); + "function" === typeof _instance.componentDidUnmount && console.error( + "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", + state + ); + "function" === typeof _instance.componentDidReceiveProps && console.error( + "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", + state + ); + "function" === typeof _instance.componentWillRecieveProps && console.error( + "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", + state + ); + "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error( + "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", + state + ); + lane = _instance.props !== nextProps; + void 0 !== _instance.props && lane && console.error( + "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", + state + ); + _instance.defaultProps && console.error( + "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", + state, + state + ); + "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error( + "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", + getComponentNameFromType(Component) + )); + "function" === typeof _instance.getDerivedStateFromProps && console.error( + "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof _instance.getDerivedStateFromError && console.error( + "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof Component.getSnapshotBeforeUpdate && console.error( + "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", + state + ); + (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state); + "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error( + "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", + state + ); + _instance = workInProgress2.stateNode; + _instance.props = nextProps; + _instance.state = workInProgress2.memoizedState; + _instance.refs = {}; + initializeUpdateQueue(workInProgress2); + state = Component.contextType; + _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject; + _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error( + "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", + state + ))); + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + _instance + ); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings( + workInProgress2, + _instance + ); + _instance.state = workInProgress2.memoizedState; + state = Component.getDerivedStateFromProps; + "function" === typeof state && (applyDerivedStateFromProps( + workInProgress2, + Component, + state, + nextProps + ), _instance.state = workInProgress2.memoizedState); + "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error( + "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + getComponentNameFromFiber(workInProgress2) || "Component" + ), classComponentUpdater.enqueueReplaceState( + _instance, + _instance.state, + null + )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState); + "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308); + (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728); + _instance = true; + } else if (null === current2) { + _instance = workInProgress2.stateNode; + var unresolvedOldProps = workInProgress2.memoizedProps; + lane = resolveClassComponentProps(Component, unresolvedOldProps); + _instance.props = lane; + var oldContext = _instance.context; + foundWillUpdateName = Component.contextType; + state = emptyContextObject; + "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName)); + newApiName = Component.getDerivedStateFromProps; + foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate; + unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps; + foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + state + ); + hasForceUpdate = false; + var oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + oldContext = workInProgress2.memoizedState; + unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps( + workInProgress2, + Component, + newApiName, + nextProps + ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + lane, + nextProps, + oldState, + oldContext, + state + )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false); + } else { + _instance = workInProgress2.stateNode; + cloneUpdateQueue(current2, workInProgress2); + state = workInProgress2.memoizedProps; + foundWillUpdateName = resolveClassComponentProps(Component, state); + _instance.props = foundWillUpdateName; + newApiName = workInProgress2.pendingProps; + oldState = _instance.context; + oldContext = Component.contextType; + lane = emptyContextObject; + "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext)); + unresolvedOldProps = Component.getDerivedStateFromProps; + (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + lane + ); + hasForceUpdate = false; + oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + var newState = workInProgress2.memoizedState; + state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps( + workInProgress2, + Component, + unresolvedOldProps, + nextProps + ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + foundWillUpdateName, + nextProps, + oldState, + newState, + lane + ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate( + nextProps, + newState, + lane + )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false); + } + lane = _instance; + markRef(current2, workInProgress2); + state = 0 !== (workInProgress2.flags & 128); + if (lane || state) { + lane = workInProgress2.stateNode; + setCurrentFiber(workInProgress2); + if (state && "function" !== typeof Component.getDerivedStateFromError) + Component = null, profilerStartTime = -1; + else { + markComponentRenderStarted(workInProgress2); + Component = callRenderInDEV(lane); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + callRenderInDEV(lane); + } finally { + setIsStrictModeForDevtools(false); + } + } + markComponentRenderStopped(); + } + workInProgress2.flags |= 1; + null !== current2 && state ? (workInProgress2.child = reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + Component, + renderLanes2 + )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2); + workInProgress2.memoizedState = lane.state; + current2 = workInProgress2.child; + } else + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + renderLanes2 = workInProgress2.stateNode; + _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error( + "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", + getComponentNameFromFiber(workInProgress2) || "a component" + ), didWarnAboutReassigningProps = true); + return current2; + } + function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) { + resetHydrationState(); + workInProgress2.flags |= 256; + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function validateFunctionComponentInDev(workInProgress2, Component) { + Component && Component.childContextTypes && console.error( + "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...", + Component.displayName || Component.name || "Component" + ); + "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error( + "%s: Function components do not support getDerivedStateFromProps.", + workInProgress2 + ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true)); + "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error( + "%s: Function components do not support contextType.", + Component + ), didWarnAboutContextTypeOnFunctionComponent[Component] = true)); + } + function mountSuspenseOffscreenState(renderLanes2) { + return { baseLanes: renderLanes2, cachePool: getSuspendedCache() }; + } + function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) { + current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0; + primaryTreeDidDefer && (current2 |= workInProgressDeferredLane); + return current2; + } + function updateSuspenseComponent(current2, workInProgress2, renderLanes2) { + var JSCompiler_object_inline_digest_2451; + var JSCompiler_object_inline_stack_2452 = workInProgress2.pendingProps; + shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128); + var JSCompiler_object_inline_componentStack_2453 = false; + var didSuspend = 0 !== (workInProgress2.flags & 128); + (JSCompiler_object_inline_digest_2451 = didSuspend) || (JSCompiler_object_inline_digest_2451 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); + JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_componentStack_2453 = true, workInProgress2.flags &= -129); + JSCompiler_object_inline_digest_2451 = 0 !== (workInProgress2.flags & 32); + workInProgress2.flags &= -33; + if (null === current2) { + if (isHydrating) { + JSCompiler_object_inline_componentStack_2453 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2); + if (isHydrating) { + var JSCompiler_object_inline_message_2450 = nextHydratableInstance; + var JSCompiler_temp; + if (!(JSCompiler_temp = !JSCompiler_object_inline_message_2450)) { + c: { + var instance = JSCompiler_object_inline_message_2450; + for (JSCompiler_temp = rootOrSingletonContext; 8 !== instance.nodeType; ) { + if (!JSCompiler_temp) { + JSCompiler_temp = null; + break c; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) { + JSCompiler_temp = null; + break c; + } + } + JSCompiler_temp = instance; + } + null !== JSCompiler_temp ? (warnIfNotHydrating(), workInProgress2.memoizedState = { + dehydrated: JSCompiler_temp, + treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, + retryLane: 536870912, + hydrationErrors: null + }, instance = createFiber(18, null, null, NoMode), instance.stateNode = JSCompiler_temp, instance.return = workInProgress2, workInProgress2.child = instance, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, JSCompiler_temp = true) : JSCompiler_temp = false; + JSCompiler_temp = !JSCompiler_temp; + } + JSCompiler_temp && (warnNonHydratedInstance( + workInProgress2, + JSCompiler_object_inline_message_2450 + ), throwOnHydrationMismatch(workInProgress2)); + } + JSCompiler_object_inline_message_2450 = workInProgress2.memoizedState; + if (null !== JSCompiler_object_inline_message_2450 && (JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_message_2450.dehydrated, null !== JSCompiler_object_inline_message_2450)) + return isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912, null; + popSuspenseHandler(workInProgress2); + } + JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_stack_2452.children; + JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_stack_2452.fallback; + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = workInProgress2.mode, JSCompiler_object_inline_message_2450 = mountWorkInProgressOffscreenFiber( + { + mode: "hidden", + children: JSCompiler_object_inline_message_2450 + }, + JSCompiler_object_inline_componentStack_2453 + ), JSCompiler_object_inline_stack_2452 = createFiberFromFragment( + JSCompiler_object_inline_stack_2452, + JSCompiler_object_inline_componentStack_2453, + renderLanes2, + null + ), JSCompiler_object_inline_message_2450.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_message_2450.sibling = JSCompiler_object_inline_stack_2452, workInProgress2.child = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_componentStack_2453.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + return mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_message_2450 + ); + } + var prevState = current2.memoizedState; + if (null !== prevState && (JSCompiler_object_inline_message_2450 = prevState.dehydrated, null !== JSCompiler_object_inline_message_2450)) { + if (didSuspend) + workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_object_inline_stack_2452 = mountWorkInProgressOffscreenFiber( + { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }, + JSCompiler_object_inline_message_2450 + ), JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), JSCompiler_object_inline_stack_2452 = workInProgress2.child, JSCompiler_object_inline_stack_2452.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2452.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = JSCompiler_object_inline_componentStack_2453); + else if (pushPrimaryTreeSuspenseHandler(workInProgress2), isHydrating && console.error( + "We should not be hydrating here. This is a bug in React. Please file a bug." + ), isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450)) { + JSCompiler_object_inline_digest_2451 = JSCompiler_object_inline_message_2450.nextSibling && JSCompiler_object_inline_message_2450.nextSibling.dataset; + if (JSCompiler_object_inline_digest_2451) { + JSCompiler_temp = JSCompiler_object_inline_digest_2451.dgst; + var message = JSCompiler_object_inline_digest_2451.msg; + instance = JSCompiler_object_inline_digest_2451.stck; + var componentStack = JSCompiler_object_inline_digest_2451.cstck; + } + JSCompiler_object_inline_message_2450 = message; + JSCompiler_object_inline_digest_2451 = JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = instance; + JSCompiler_temp = JSCompiler_object_inline_componentStack_2453 = componentStack; + JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_message_2450 ? Error(JSCompiler_object_inline_message_2450) : Error( + "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." + ); + JSCompiler_object_inline_componentStack_2453.stack = JSCompiler_object_inline_stack_2452 || ""; + JSCompiler_object_inline_componentStack_2453.digest = JSCompiler_object_inline_digest_2451; + JSCompiler_object_inline_digest_2451 = void 0 === JSCompiler_temp ? null : JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = { + value: JSCompiler_object_inline_componentStack_2453, + source: null, + stack: JSCompiler_object_inline_digest_2451 + }; + "string" === typeof JSCompiler_object_inline_digest_2451 && CapturedStacks.set( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_stack_2452 + ); + queueHydrationError(JSCompiler_object_inline_stack_2452); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else if (didReceiveUpdate || propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), JSCompiler_object_inline_digest_2451 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2451) { + JSCompiler_object_inline_digest_2451 = workInProgressRoot; + if (null !== JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_stack_2452 = renderLanes2 & -renderLanes2, JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & 42) ? 1 : getBumpedLaneForHydrationByLane( + JSCompiler_object_inline_stack_2452 + ), JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & (JSCompiler_object_inline_digest_2451.suspendedLanes | renderLanes2)) ? 0 : JSCompiler_object_inline_stack_2452, 0 !== JSCompiler_object_inline_stack_2452 && JSCompiler_object_inline_stack_2452 !== prevState.retryLane)) + throw prevState.retryLane = JSCompiler_object_inline_stack_2452, enqueueConcurrentRenderForLane( + current2, + JSCompiler_object_inline_stack_2452 + ), scheduleUpdateOnFiber( + JSCompiler_object_inline_digest_2451, + current2, + JSCompiler_object_inline_stack_2452 + ), SelectiveHydrationException; + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA || renderDidSuspendDelayIfPossible(); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable( + JSCompiler_object_inline_message_2450.nextSibling + ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && (warnIfNotHydrating(), idStack[idStackIndex++] = treeContextId, idStack[idStackIndex++] = treeContextOverflow, idStack[idStackIndex++] = treeContextProvider, treeContextId = current2.id, treeContextOverflow = current2.overflow, treeContextProvider = workInProgress2), workInProgress2 = mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_stack_2452.children + ), workInProgress2.flags |= 4096); + return workInProgress2; + } + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_temp = current2.child, instance = JSCompiler_temp.sibling, JSCompiler_object_inline_stack_2452 = createWorkInProgress( + JSCompiler_temp, + { + mode: "hidden", + children: JSCompiler_object_inline_stack_2452.children + } + ), JSCompiler_object_inline_stack_2452.subtreeFlags = JSCompiler_temp.subtreeFlags & 65011712, null !== instance ? JSCompiler_object_inline_componentStack_2453 = createWorkInProgress( + instance, + JSCompiler_object_inline_componentStack_2453 + ) : (JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2), JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_componentStack_2453, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_message_2450 = current2.child.memoizedState, null === JSCompiler_object_inline_message_2450 ? JSCompiler_object_inline_message_2450 = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp = JSCompiler_object_inline_message_2450.cachePool, null !== JSCompiler_temp ? (instance = CacheContext._currentValue, JSCompiler_temp = JSCompiler_temp.parent !== instance ? { parent: instance, pool: instance } : JSCompiler_temp) : JSCompiler_temp = getSuspendedCache(), JSCompiler_object_inline_message_2450 = { + baseLanes: JSCompiler_object_inline_message_2450.baseLanes | renderLanes2, + cachePool: JSCompiler_temp + }), JSCompiler_object_inline_componentStack_2453.memoizedState = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + renderLanes2 = current2.child; + current2 = renderLanes2.sibling; + renderLanes2 = createWorkInProgress(renderLanes2, { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }); + renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + null !== current2 && (JSCompiler_object_inline_digest_2451 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2451 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2451.push(current2)); + workInProgress2.child = renderLanes2; + workInProgress2.memoizedState = null; + return renderLanes2; + } + function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) { + primaryChildren = mountWorkInProgressOffscreenFiber( + { mode: "visible", children: primaryChildren }, + workInProgress2.mode + ); + primaryChildren.return = workInProgress2; + return workInProgress2.child = primaryChildren; + } + function mountWorkInProgressOffscreenFiber(offscreenProps, mode) { + offscreenProps = createFiber(22, offscreenProps, null, mode); + offscreenProps.lanes = 0; + offscreenProps.stateNode = { + _visibility: OffscreenVisible, + _pendingMarkers: null, + _retryCache: null, + _transitions: null + }; + return offscreenProps; + } + function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) { + reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2); + current2 = mountSuspensePrimaryChildren( + workInProgress2, + workInProgress2.pendingProps.children + ); + current2.flags |= 2; + workInProgress2.memoizedState = null; + return current2; + } + function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) { + fiber.lanes |= renderLanes2; + var alternate = fiber.alternate; + null !== alternate && (alternate.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + fiber.return, + renderLanes2, + propagationRoot + ); + } + function validateSuspenseListNestedChild(childSlot, index) { + var isAnArray = isArrayImpl(childSlot); + childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot); + return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error( + "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", + isAnArray, + index, + isAnArray + ), false) : true; + } + function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) { + var renderState = workInProgress2.memoizedState; + null === renderState ? workInProgress2.memoizedState = { + isBackwards, + rendering: null, + renderingStartTime: 0, + last: lastContentRow, + tail, + tailMode + } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode); + } + function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail; + nextProps = nextProps.children; + if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder]) + if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder) + switch (revealOrder.toLowerCase()) { + case "together": + case "forwards": + case "backwards": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + case "forward": + case "backward": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + default: + console.error( + '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + } + else + console.error( + '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error( + '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?', + tailMode + )) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error( + '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + ))); + a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps) + if (isArrayImpl(nextProps)) + for (var i = 0; i < nextProps.length; i++) { + if (!validateSuspenseListNestedChild(nextProps[i], i)) break a; + } + else if (i = getIteratorFn(nextProps), "function" === typeof i) { + if (i = i.call(nextProps)) + for (var step = i.next(), _i = 0; !step.done; step = i.next()) { + if (!validateSuspenseListNestedChild(step.value, _i)) break a; + _i++; + } + } else + console.error( + 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', + revealOrder + ); + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + nextProps = suspenseStackCursor.current; + if (0 !== (nextProps & ForceSuspenseFallback)) + nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128; + else { + if (null !== current2 && 0 !== (current2.flags & 128)) + a: for (current2 = workInProgress2.child; null !== current2; ) { + if (13 === current2.tag) + null !== current2.memoizedState && scheduleSuspenseWorkOnFiber( + current2, + renderLanes2, + workInProgress2 + ); + else if (19 === current2.tag) + scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2); + else if (null !== current2.child) { + current2.child.return = current2; + current2 = current2.child; + continue; + } + if (current2 === workInProgress2) break a; + for (; null === current2.sibling; ) { + if (null === current2.return || current2.return === workInProgress2) + break a; + current2 = current2.return; + } + current2.sibling.return = current2.return; + current2 = current2.sibling; + } + nextProps &= SubtreeSuspenseContextMask; + } + push(suspenseStackCursor, nextProps, workInProgress2); + switch (revealOrder) { + case "forwards": + renderLanes2 = workInProgress2.child; + for (revealOrder = null; null !== renderLanes2; ) + current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling; + renderLanes2 = revealOrder; + null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null); + initSuspenseListRenderState( + workInProgress2, + false, + revealOrder, + renderLanes2, + tailMode + ); + break; + case "backwards": + renderLanes2 = null; + revealOrder = workInProgress2.child; + for (workInProgress2.child = null; null !== revealOrder; ) { + current2 = revealOrder.alternate; + if (null !== current2 && null === findFirstSuspended(current2)) { + workInProgress2.child = revealOrder; + break; + } + current2 = revealOrder.sibling; + revealOrder.sibling = renderLanes2; + renderLanes2 = revealOrder; + revealOrder = current2; + } + initSuspenseListRenderState( + workInProgress2, + true, + renderLanes2, + null, + tailMode + ); + break; + case "together": + initSuspenseListRenderState(workInProgress2, false, null, null, void 0); + break; + default: + workInProgress2.memoizedState = null; + } + return workInProgress2.child; + } + function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) { + null !== current2 && (workInProgress2.dependencies = current2.dependencies); + profilerStartTime = -1; + workInProgressRootSkippedLanes |= workInProgress2.lanes; + if (0 === (renderLanes2 & workInProgress2.childLanes)) + if (null !== current2) { + if (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), 0 === (renderLanes2 & workInProgress2.childLanes)) + return null; + } else return null; + if (null !== current2 && workInProgress2.child !== current2.child) + throw Error("Resuming work not yet implemented."); + if (null !== workInProgress2.child) { + current2 = workInProgress2.child; + renderLanes2 = createWorkInProgress(current2, current2.pendingProps); + workInProgress2.child = renderLanes2; + for (renderLanes2.return = workInProgress2; null !== current2.sibling; ) + current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + } + return workInProgress2.child; + } + function checkScheduledUpdateOrContext(current2, renderLanes2) { + if (0 !== (current2.lanes & renderLanes2)) return true; + current2 = current2.dependencies; + return null !== current2 && checkIfContextChanged(current2) ? true : false; + } + function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) { + switch (workInProgress2.tag) { + case 3: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + resetHydrationState(); + break; + case 27: + case 5: + pushHostContext(workInProgress2); + break; + case 4: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + break; + case 10: + pushProvider( + workInProgress2, + workInProgress2.type, + workInProgress2.memoizedProps.value + ); + break; + case 12: + 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4); + workInProgress2.flags |= 2048; + var stateNode = workInProgress2.stateNode; + stateNode.effectDuration = -0; + stateNode.passiveEffectDuration = -0; + break; + case 13: + stateNode = workInProgress2.memoizedState; + if (null !== stateNode) { + if (null !== stateNode.dehydrated) + return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null; + if (0 !== (renderLanes2 & workInProgress2.child.childLanes)) + return updateSuspenseComponent( + current2, + workInProgress2, + renderLanes2 + ); + pushPrimaryTreeSuspenseHandler(workInProgress2); + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + return null !== current2 ? current2.sibling : null; + } + pushPrimaryTreeSuspenseHandler(workInProgress2); + break; + case 19: + var didSuspendBefore = 0 !== (current2.flags & 128); + stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes); + stateNode || (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes)); + if (didSuspendBefore) { + if (stateNode) + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + workInProgress2.flags |= 128; + } + didSuspendBefore = workInProgress2.memoizedState; + null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null); + push( + suspenseStackCursor, + suspenseStackCursor.current, + workInProgress2 + ); + if (stateNode) break; + else return null; + case 22: + case 23: + return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + } + return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + function beginWork(current2, workInProgress2, renderLanes2) { + if (workInProgress2._debugNeedsRemount && null !== current2) { + renderLanes2 = createFiberFromTypeAndProps( + workInProgress2.type, + workInProgress2.key, + workInProgress2.pendingProps, + workInProgress2._debugOwner || null, + workInProgress2.mode, + workInProgress2.lanes + ); + renderLanes2._debugStack = workInProgress2._debugStack; + renderLanes2._debugTask = workInProgress2._debugTask; + var returnFiber = workInProgress2.return; + if (null === returnFiber) throw Error("Cannot swap the root fiber."); + current2.alternate = null; + workInProgress2.alternate = null; + renderLanes2.index = workInProgress2.index; + renderLanes2.sibling = workInProgress2.sibling; + renderLanes2.return = workInProgress2.return; + renderLanes2.ref = workInProgress2.ref; + renderLanes2._debugInfo = workInProgress2._debugInfo; + if (workInProgress2 === returnFiber.child) + returnFiber.child = renderLanes2; + else { + var prevSibling = returnFiber.child; + if (null === prevSibling) + throw Error("Expected parent to have a child."); + for (; prevSibling.sibling !== workInProgress2; ) + if (prevSibling = prevSibling.sibling, null === prevSibling) + throw Error("Expected to find the previous sibling."); + prevSibling.sibling = renderLanes2; + } + workInProgress2 = returnFiber.deletions; + null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2); + renderLanes2.flags |= 2; + return renderLanes2; + } + if (null !== current2) + if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type) + didReceiveUpdate = true; + else { + if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128)) + return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate( + current2, + workInProgress2, + renderLanes2 + ); + didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false; + } + else { + didReceiveUpdate = false; + if (returnFiber = isHydrating) + warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576); + returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber)); + } + workInProgress2.lanes = 0; + switch (workInProgress2.tag) { + case 16: + a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2) + shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps( + current2, + returnFiber + ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )); + else { + if (void 0 !== current2 && null !== current2) { + if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) { + workInProgress2.tag = 11; + workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2); + workInProgress2 = updateForwardRef( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } else if (prevSibling === REACT_MEMO_TYPE) { + workInProgress2.tag = 14; + workInProgress2 = updateMemoComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } + } + workInProgress2 = ""; + null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?"); + current2 = getComponentNameFromType(current2) || current2; + throw Error( + "Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2 + ); + } + return workInProgress2; + case 0: + return updateFunctionComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 1: + return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps( + returnFiber, + workInProgress2.pendingProps + ), updateClassComponent( + current2, + workInProgress2, + returnFiber, + prevSibling, + renderLanes2 + ); + case 3: + a: { + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + if (null === current2) + throw Error( + "Should have a current fiber. This is a bug in React." + ); + returnFiber = workInProgress2.pendingProps; + var prevState = workInProgress2.memoizedState; + prevSibling = prevState.element; + cloneUpdateQueue(current2, workInProgress2); + processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2); + var nextState = workInProgress2.memoizedState; + returnFiber = nextState.cache; + pushProvider(workInProgress2, CacheContext, returnFiber); + returnFiber !== prevState.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ); + suspendIfUpdateReadFromEntangledAsyncAction(); + returnFiber = nextState.element; + if (prevState.isDehydrated) + if (prevState = { + element: returnFiber, + isDehydrated: false, + cache: nextState.cache + }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) { + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else if (returnFiber !== prevSibling) { + prevSibling = createCapturedValueAtFiber( + Error( + "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering." + ), + workInProgress2 + ); + queueHydrationError(prevSibling); + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else { + current2 = workInProgress2.stateNode.containerInfo; + switch (current2.nodeType) { + case 9: + current2 = current2.body; + break; + default: + current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2; + } + nextHydratableInstance = getNextHydratable(current2.firstChild); + hydrationParentFiber = workInProgress2; + isHydrating = true; + hydrationErrors = null; + didSuspendOrErrorDEV = false; + hydrationDiffRootDEV = null; + rootOrSingletonContext = true; + current2 = mountChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ); + for (workInProgress2.child = current2; current2; ) + current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling; + } + else { + resetHydrationState(); + if (returnFiber === prevSibling) { + workInProgress2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + break a; + } + reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + } + workInProgress2 = workInProgress2.child; + } + return workInProgress2; + case 26: + return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource( + workInProgress2.type, + null, + workInProgress2.pendingProps, + null + )) ? workInProgress2.memoizedState = current2 : isHydrating || (current2 = workInProgress2.type, renderLanes2 = workInProgress2.pendingProps, returnFiber = requiredContext( + rootInstanceStackCursor.current + ), returnFiber = getOwnerDocumentFromRootContainer( + returnFiber + ).createElement(current2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = renderLanes2, setInitialProperties(returnFiber, current2, renderLanes2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource( + workInProgress2.type, + current2.memoizedProps, + workInProgress2.pendingProps, + current2.memoizedState + ), null; + case 27: + return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance( + workInProgress2.type, + workInProgress2.pendingProps, + returnFiber, + prevSibling, + false + ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties( + returnFiber, + workInProgress2.type, + workInProgress2.pendingProps, + prevSibling + ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable( + returnFiber.firstChild + )) : nextHydratableInstance = prevSibling), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child; + case 5: + return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting( + workInProgress2.type, + prevState.ancestorInfo + ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance( + prevSibling, + workInProgress2.type, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties( + nextState, + workInProgress2.type, + workInProgress2.pendingProps, + prevState + ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable( + nextState.firstChild + ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks( + current2, + workInProgress2, + TransitionAwareHostComponent, + null, + null, + renderLanes2 + ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 6: + return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), returnFiber = renderLanes2.ancestorInfo.current, current2 = null != returnFiber ? validateTextNesting( + current2, + returnFiber.tag, + renderLanes2.ancestorInfo.implicitRootScope + ) : true, renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance( + renderLanes2, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null; + case 13: + return updateSuspenseComponent(current2, workInProgress2, renderLanes2); + case 4: + return pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ) : reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 11: + return updateForwardRef( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 7: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps, + renderLanes2 + ), workInProgress2.child; + case 8: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 12: + return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 10: + return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error( + "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?" + )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren( + current2, + workInProgress2, + prevSibling.children, + renderLanes2 + ), workInProgress2.child; + case 9: + return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error( + "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it." + ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV( + returnFiber, + prevSibling, + void 0 + ), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 14: + return updateMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 15: + return updateSimpleMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 19: + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + case 31: + return returnFiber = workInProgress2.pendingProps, renderLanes2 = workInProgress2.mode, returnFiber = { + mode: returnFiber.mode, + children: returnFiber.children + }, null === current2 ? (current2 = mountWorkInProgressOffscreenFiber( + returnFiber, + renderLanes2 + ), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2) : (current2 = createWorkInProgress(current2.child, returnFiber), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2), workInProgress2; + case 22: + return updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = { + parent: returnFiber, + cache: prevSibling + }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = { + parent: returnFiber, + cache: returnFiber + }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ))), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 29: + throw workInProgress2.pendingProps; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function markUpdate(workInProgress2) { + workInProgress2.flags |= 4; + } + function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) { + if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded) + workInProgress2.flags &= -16777217; + else if (workInProgress2.flags |= 16777216, !preloadResource(resource)) { + resource = suspenseHandlerStackCursor.current; + if (null !== resource && ((workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null !== shellBoundary : (workInProgressRootRenderLanes & 62914560) !== workInProgressRootRenderLanes && 0 === (workInProgressRootRenderLanes & 536870912) || resource !== shellBoundary)) + throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException; + workInProgress2.flags |= 8192; + } + } + function scheduleRetryEffect(workInProgress2, retryQueue) { + null !== retryQueue && (workInProgress2.flags |= 4); + workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue); + } + function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { + if (!isHydrating) + switch (renderState.tailMode) { + case "hidden": + hasRenderedATailFallback = renderState.tail; + for (var lastTailNode = null; null !== hasRenderedATailFallback; ) + null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling; + null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null; + break; + case "collapsed": + lastTailNode = renderState.tail; + for (var _lastTailNode = null; null !== lastTailNode; ) + null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling; + null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null; + } + } + function bubbleProperties(completedWork) { + var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0; + if (didBailout) + if ((completedWork.mode & ProfileMode) !== NoMode) { + for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; ) + newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling; + completedWork.treeBaseDuration = _treeBaseDuration; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + else if ((completedWork.mode & ProfileMode) !== NoMode) { + _treeBaseDuration = completedWork.actualDuration; + _child2 = completedWork.selfBaseDuration; + for (var child = completedWork.child; null !== child; ) + newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling; + completedWork.actualDuration = _treeBaseDuration; + completedWork.treeBaseDuration = _child2; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + completedWork.subtreeFlags |= subtreeFlags; + completedWork.childLanes = newChildLanes; + return didBailout; + } + function completeWork(current2, workInProgress2, renderLanes2) { + var newProps = workInProgress2.pendingProps; + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 31: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return bubbleProperties(workInProgress2), null; + case 1: + return bubbleProperties(workInProgress2), null; + case 3: + renderLanes2 = workInProgress2.stateNode; + newProps = null; + null !== current2 && (newProps = current2.memoizedState.cache); + workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048); + popProvider(CacheContext, workInProgress2); + popHostContainer(workInProgress2); + renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null); + if (null === current2 || null === current2.child) + popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable()); + bubbleProperties(workInProgress2); + return null; + case 26: + return renderLanes2 = workInProgress2.memoizedState, null === current2 ? (markUpdate(workInProgress2), null !== renderLanes2 ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217)) : renderLanes2 ? renderLanes2 !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2.memoizedProps !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217), null; + case 27: + popHostContext(workInProgress2); + renderLanes2 = requiredContext(rootInstanceStackCursor.current); + var _type = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + current2 = getHostContext(); + popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance( + _type, + newProps, + renderLanes2, + current2, + true + ), workInProgress2.stateNode = current2, markUpdate(workInProgress2)); + } + bubbleProperties(workInProgress2); + return null; + case 5: + popHostContext(workInProgress2); + renderLanes2 = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + _type = getHostContext(); + if (popHydrationState(workInProgress2)) + prepareToHydrateHostInstance(workInProgress2, _type); + else { + current2 = requiredContext(rootInstanceStackCursor.current); + validateDOMNesting(renderLanes2, _type.ancestorInfo); + _type = _type.context; + current2 = getOwnerDocumentFromRootContainer(current2); + switch (_type) { + case HostContextNamespaceSvg: + current2 = current2.createElementNS(SVG_NAMESPACE, renderLanes2); + break; + case HostContextNamespaceMath: + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + default: + switch (renderLanes2) { + case "svg": + current2 = current2.createElementNS( + SVG_NAMESPACE, + renderLanes2 + ); + break; + case "math": + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + case "script": + current2 = current2.createElement("div"); + current2.innerHTML = "<script><\/script>"; + current2 = current2.removeChild(current2.firstChild); + break; + case "select": + current2 = "string" === typeof newProps.is ? current2.createElement("select", { is: newProps.is }) : current2.createElement("select"); + newProps.multiple ? current2.multiple = true : newProps.size && (current2.size = newProps.size); + break; + default: + current2 = "string" === typeof newProps.is ? current2.createElement(renderLanes2, { + is: newProps.is + }) : current2.createElement(renderLanes2), -1 === renderLanes2.indexOf("-") && (renderLanes2 !== renderLanes2.toLowerCase() && console.error( + "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", + renderLanes2 + ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(current2) || hasOwnProperty.call( + warnedUnknownTags, + renderLanes2 + ) || (warnedUnknownTags[renderLanes2] = true, console.error( + "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.", + renderLanes2 + ))); + } + } + current2[internalInstanceKey] = workInProgress2; + current2[internalPropsKey] = newProps; + a: for (_type = workInProgress2.child; null !== _type; ) { + if (5 === _type.tag || 6 === _type.tag) + current2.appendChild(_type.stateNode); + else if (4 !== _type.tag && 27 !== _type.tag && null !== _type.child) { + _type.child.return = _type; + _type = _type.child; + continue; + } + if (_type === workInProgress2) break a; + for (; null === _type.sibling; ) { + if (null === _type.return || _type.return === workInProgress2) + break a; + _type = _type.return; + } + _type.sibling.return = _type.return; + _type = _type.sibling; + } + workInProgress2.stateNode = current2; + a: switch (setInitialProperties(current2, renderLanes2, newProps), renderLanes2) { + case "button": + case "input": + case "select": + case "textarea": + current2 = !!newProps.autoFocus; + break a; + case "img": + current2 = true; + break a; + default: + current2 = false; + } + current2 && markUpdate(workInProgress2); + } + } + bubbleProperties(workInProgress2); + workInProgress2.flags &= -16777217; + return null; + case 6: + if (current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if ("string" !== typeof newProps && null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + current2 = requiredContext(rootInstanceStackCursor.current); + renderLanes2 = getHostContext(); + if (popHydrationState(workInProgress2)) { + current2 = workInProgress2.stateNode; + renderLanes2 = workInProgress2.memoizedProps; + _type = !didSuspendOrErrorDEV; + newProps = null; + var returnFiber = hydrationParentFiber; + if (null !== returnFiber) + switch (returnFiber.tag) { + case 3: + _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = _type)); + break; + case 27: + case 5: + newProps = returnFiber.memoizedProps, _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode( + workInProgress2, + 0 + ).serverProps = _type)); + } + current2[internalInstanceKey] = workInProgress2; + current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false; + current2 || throwOnHydrationMismatch(workInProgress2); + } else + _type = renderLanes2.ancestorInfo.current, null != _type && validateTextNesting( + newProps, + _type.tag, + renderLanes2.ancestorInfo.implicitRootScope + ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode( + newProps + ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2; + } + bubbleProperties(workInProgress2); + return null; + case 13: + newProps = workInProgress2.memoizedState; + if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) { + _type = popHydrationState(workInProgress2); + if (null !== newProps && null !== newProps.dehydrated) { + if (null === current2) { + if (!_type) + throw Error( + "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React." + ); + _type = workInProgress2.memoizedState; + _type = null !== _type ? _type.dehydrated : null; + if (!_type) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + _type[internalInstanceKey] = workInProgress2; + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + } else + emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + _type = false; + } else + _type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = _type), _type = true; + if (!_type) { + if (workInProgress2.flags & 256) + return popSuspenseHandler(workInProgress2), workInProgress2; + popSuspenseHandler(workInProgress2); + return null; + } + } + popSuspenseHandler(workInProgress2); + if (0 !== (workInProgress2.flags & 128)) + return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2; + renderLanes2 = null !== newProps; + current2 = null !== current2 && null !== current2.memoizedState; + renderLanes2 && (newProps = workInProgress2.child, _type = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (_type = newProps.alternate.memoizedState.cachePool.pool), returnFiber = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (returnFiber = newProps.memoizedState.cachePool.pool), returnFiber !== _type && (newProps.flags |= 2048)); + renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192); + scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue); + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration)); + return null; + case 4: + return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents( + workInProgress2.stateNode.containerInfo + ), bubbleProperties(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null; + case 19: + pop(suspenseStackCursor, workInProgress2); + _type = workInProgress2.memoizedState; + if (null === _type) return bubbleProperties(workInProgress2), null; + newProps = 0 !== (workInProgress2.flags & 128); + returnFiber = _type.rendering; + if (null === returnFiber) + if (newProps) cutOffTailIfNeeded(_type, false); + else { + if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128)) + for (current2 = workInProgress2.child; null !== current2; ) { + returnFiber = findFirstSuspended(current2); + if (null !== returnFiber) { + workInProgress2.flags |= 128; + cutOffTailIfNeeded(_type, false); + current2 = returnFiber.updateQueue; + workInProgress2.updateQueue = current2; + scheduleRetryEffect(workInProgress2, current2); + workInProgress2.subtreeFlags = 0; + current2 = renderLanes2; + for (renderLanes2 = workInProgress2.child; null !== renderLanes2; ) + resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback, + workInProgress2 + ); + return workInProgress2.child; + } + current2 = current2.sibling; + } + null !== _type.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + } + else { + if (!newProps) + if (current2 = findFirstSuspended(returnFiber), null !== current2) { + if (workInProgress2.flags |= 128, newProps = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(_type, true), null === _type.tail && "hidden" === _type.tailMode && !returnFiber.alternate && !isHydrating) + return bubbleProperties(workInProgress2), null; + } else + 2 * now$1() - _type.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + _type.isBackwards ? (returnFiber.sibling = workInProgress2.child, workInProgress2.child = returnFiber) : (current2 = _type.last, null !== current2 ? current2.sibling = returnFiber : workInProgress2.child = returnFiber, _type.last = returnFiber); + } + if (null !== _type.tail) + return current2 = _type.tail, _type.rendering = current2, _type.tail = current2.sibling, _type.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = newProps ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), current2; + bubbleProperties(workInProgress2); + return null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null; + case 24: + return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null; + case 25: + return null; + case 30: + return null; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function unwindWork(current2, workInProgress2) { + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 1: + return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 3: + return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null; + case 26: + case 27: + case 5: + return popHostContext(workInProgress2), null; + case 13: + popSuspenseHandler(workInProgress2); + current2 = workInProgress2.memoizedState; + if (null !== current2 && null !== current2.dehydrated) { + if (null === workInProgress2.alternate) + throw Error( + "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue." + ); + resetHydrationState(); + } + current2 = workInProgress2.flags; + return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 19: + return pop(suspenseStackCursor, workInProgress2), null; + case 4: + return popHostContainer(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 24: + return popProvider(CacheContext, workInProgress2), null; + case 25: + return null; + default: + return null; + } + } + function unwindInterruptedWork(current2, interruptedWork) { + popTreeContext(interruptedWork); + switch (interruptedWork.tag) { + case 3: + popProvider(CacheContext, interruptedWork); + popHostContainer(interruptedWork); + break; + case 26: + case 27: + case 5: + popHostContext(interruptedWork); + break; + case 4: + popHostContainer(interruptedWork); + break; + case 13: + popSuspenseHandler(interruptedWork); + break; + case 19: + pop(suspenseStackCursor, interruptedWork); + break; + case 10: + popProvider(interruptedWork.type, interruptedWork); + break; + case 22: + case 23: + popSuspenseHandler(interruptedWork); + popHiddenContext(interruptedWork); + null !== current2 && pop(resumedCache, interruptedWork); + break; + case 24: + popProvider(CacheContext, interruptedWork); + } + } + function shouldProfile(current2) { + return (current2.mode & ProfileMode) !== NoMode; + } + function commitHookLayoutEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitHookEffectListMount(flags, finishedWork) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted( + finishedWork + ), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV( + finishedWork, + callCreateInDEV, + updateQueue + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) { + var hookName = void 0; + hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect"; + var addendum = void 0; + addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect; + runWithFiberInDEV( + finishedWork, + function(n, a) { + console.error( + "%s must not return anything besides a function, which is used for clean-up.%s", + n, + a + ); + }, + hookName, + addendum + ); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags) { + var inst = updateQueue.inst, destroy = inst.destroy; + void 0 !== destroy && (inst.destroy = void 0, (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted && injectedProfilingHooks.markComponentPassiveEffectUnmountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted && injectedProfilingHooks.markComponentLayoutEffectUnmountStarted( + finishedWork + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV( + lastEffect, + callDestroyInDEV, + lastEffect, + nearestMountedAncestor, + destroy + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped && injectedProfilingHooks.markComponentPassiveEffectUnmountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped && injectedProfilingHooks.markComponentLayoutEffectUnmountStopped()); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookPassiveMountEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitClassCallbacks(finishedWork) { + var updateQueue = finishedWork.updateQueue; + if (null !== updateQueue) { + var instance = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), instance.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + updateQueue, + instance + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + } + function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) { + return instance.getSnapshotBeforeUpdate(prevProps, prevState); + } + function commitClassSnapshot(finishedWork, current2) { + var prevProps = current2.memoizedProps, prevState = current2.memoizedState; + current2 = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), current2.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + var resolvedPrevProps = resolveClassComponentProps( + finishedWork.type, + prevProps, + finishedWork.elementType === finishedWork.type + ); + var snapshot = runWithFiberInDEV( + finishedWork, + callGetSnapshotBeforeUpdates, + current2, + resolvedPrevProps, + prevState + ); + prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate; + void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() { + console.error( + "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", + getComponentNameFromFiber(finishedWork) + ); + })); + current2.__reactInternalSnapshotBeforeUpdate = snapshot; + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) { + instance.props = resolveClassComponentProps( + current2.type, + current2.memoizedProps + ); + instance.state = current2.memoizedState; + shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ), recordEffectDuration()) : runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ); + } + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + if (null !== ref) { + switch (finishedWork.tag) { + case 26: + case 27: + case 5: + var instanceToUse = finishedWork.stateNode; + break; + case 30: + instanceToUse = finishedWork.stateNode; + break; + default: + instanceToUse = finishedWork.stateNode; + } + if ("function" === typeof ref) + if (shouldProfile(finishedWork)) + try { + startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse); + } finally { + recordEffectDuration(); + } + else finishedWork.refCleanup = ref(instanceToUse); + else + "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error( + "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", + getComponentNameFromFiber(finishedWork) + ), ref.current = instanceToUse; + } + } + function safelyAttachRef(current2, nearestMountedAncestor) { + try { + runWithFiberInDEV(current2, commitAttachRef, current2); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + function safelyDetachRef(current2, nearestMountedAncestor) { + var ref = current2.ref, refCleanup = current2.refCleanup; + if (null !== ref) + if ("function" === typeof refCleanup) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, refCleanup); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, refCleanup); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } finally { + current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null); + } + else if ("function" === typeof ref) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, ref, null); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, ref, null); + } catch (error$7) { + captureCommitPhaseError(current2, nearestMountedAncestor, error$7); + } + else ref.current = null; + } + function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) { + var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit; + _finishedWork$memoize = _finishedWork$memoize.onRender; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize && _finishedWork$memoize( + id, + current2, + finishedWork.actualDuration, + finishedWork.treeBaseDuration, + finishedWork.actualStartTime, + commitStartTime2 + ); + "function" === typeof onCommit && onCommit( + finishedWork.memoizedProps.id, + current2, + effectDuration, + commitStartTime2 + ); + } + function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) { + var _finishedWork$memoize2 = finishedWork.memoizedProps; + finishedWork = _finishedWork$memoize2.id; + _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2( + finishedWork, + current2, + passiveEffectDuration, + commitStartTime2 + ); + } + function commitHostMount(finishedWork) { + var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitMount, + instance, + type, + props, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHostUpdate(finishedWork, newProps, oldProps) { + try { + runWithFiberInDEV( + finishedWork, + commitUpdate, + finishedWork.stateNode, + finishedWork.type, + oldProps, + newProps, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function isHostParent(fiber) { + return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag; + } + function getHostSibling(fiber) { + a: for (; ; ) { + for (; null === fiber.sibling; ) { + if (null === fiber.return || isHostParent(fiber.return)) return null; + fiber = fiber.return; + } + fiber.sibling.return = fiber.return; + for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) { + if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a; + if (fiber.flags & 2) continue a; + if (null === fiber.child || 4 === fiber.tag) continue a; + else fiber.child.return = fiber, fiber = fiber.child; + } + if (!(fiber.flags & 2)) return fiber.stateNode; + } + } + function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1)); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node)) + for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; + } + function insertOrAppendPlacementNode(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node)) + for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNode(node, before, parent), node = node.sibling; + } + function commitPlacement(finishedWork) { + for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) { + if (isHostParent(parentFiber)) { + hostParentFiber = parentFiber; + break; + } + parentFiber = parentFiber.return; + } + if (null == hostParentFiber) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + switch (hostParentFiber.tag) { + case 27: + hostParentFiber = hostParentFiber.stateNode; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + case 5: + parentFiber = hostParentFiber.stateNode; + hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33); + hostParentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + hostParentFiber, + parentFiber + ); + break; + case 3: + case 4: + hostParentFiber = hostParentFiber.stateNode.containerInfo; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNodeIntoContainer( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + default: + throw Error( + "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." + ); + } + } + function commitHostSingletonAcquisition(finishedWork) { + var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps; + try { + runWithFiberInDEV( + finishedWork, + acquireSingletonInstance, + finishedWork.type, + props, + singleton, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitBeforeMutationEffects(root2, firstChild) { + root2 = root2.containerInfo; + eventsEnabled = _enabled; + root2 = getActiveElementDeep(root2); + if (hasSelectionCapabilities(root2)) { + if ("selectionStart" in root2) + var JSCompiler_temp = { + start: root2.selectionStart, + end: root2.selectionEnd + }; + else + a: { + JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window; + var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection(); + if (selection && 0 !== selection.rangeCount) { + JSCompiler_temp = selection.anchorNode; + var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode; + selection = selection.focusOffset; + try { + JSCompiler_temp.nodeType, focusNode.nodeType; + } catch (e$2) { + JSCompiler_temp = null; + break a; + } + var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null; + b: for (; ; ) { + for (var next; ; ) { + node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset); + node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection); + 3 === node.nodeType && (length += node.nodeValue.length); + if (null === (next = node.firstChild)) break; + parentNode = node; + node = next; + } + for (; ; ) { + if (node === root2) break b; + parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length); + parentNode === focusNode && ++indexWithinFocus === selection && (end = length); + if (null !== (next = node.nextSibling)) break; + node = parentNode; + parentNode = node.parentNode; + } + node = next; + } + JSCompiler_temp = -1 === start || -1 === end ? null : { start, end }; + } else JSCompiler_temp = null; + } + JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 }; + } else JSCompiler_temp = null; + selectionInformation = { + focusedElem: root2, + selectionRange: JSCompiler_temp + }; + _enabled = false; + for (nextEffect = firstChild; null !== nextEffect; ) + if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1024) && null !== root2) + root2.return = firstChild, nextEffect = root2; + else + for (; null !== nextEffect; ) { + root2 = firstChild = nextEffect; + JSCompiler_temp = root2.alternate; + anchorOffset = root2.flags; + switch (root2.tag) { + case 0: + break; + case 11: + case 15: + break; + case 1: + 0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root2, JSCompiler_temp); + break; + case 3: + if (0 !== (anchorOffset & 1024)) { + if (root2 = root2.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp) + clearContainerSparingly(root2); + else if (1 === JSCompiler_temp) + switch (root2.nodeName) { + case "HEAD": + case "HTML": + case "BODY": + clearContainerSparingly(root2); + break; + default: + root2.textContent = ""; + } + } + break; + case 5: + case 26: + case 27: + case 6: + case 4: + case 17: + break; + default: + if (0 !== (anchorOffset & 1024)) + throw Error( + "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." + ); + } + root2 = firstChild.sibling; + if (null !== root2) { + root2.return = firstChild.return; + nextEffect = root2; + break; + } + nextEffect = firstChild.return; + } + } + function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect); + break; + case 1: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 4) + if (finishedRoot = finishedWork.stateNode, null === current2) + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ); + else { + var prevProps = resolveClassComponentProps( + finishedWork.type, + current2.memoizedProps + ); + current2 = current2.memoizedState; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ); + } + flags & 64 && commitClassCallbacks(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 3: + current2 = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) { + prevProps = null; + if (null !== finishedWork.child) + switch (finishedWork.child.tag) { + case 27: + case 5: + prevProps = finishedWork.child.stateNode; + break; + case 1: + prevProps = finishedWork.child.stateNode; + } + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + flags, + prevProps + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + finishedRoot.effectDuration += popNestedEffectDurations(current2); + break; + case 27: + null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + null === current2 && flags & 4 && commitHostMount(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + finishedRoot = finishedWork.stateNode; + finishedRoot.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + finishedRoot.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + break; + case 13: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (finishedWork = retryDehydratedSuspenseBoundary.bind( + null, + finishedWork + ), registerSuspenseInstanceRetry(finishedRoot, finishedWork)))); + break; + case 22: + flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden; + if (!flags) { + current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden; + prevProps = offscreenSubtreeIsHidden; + var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = flags; + (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + 0 !== (finishedWork.subtreeFlags & 8772) + ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + offscreenSubtreeIsHidden = prevProps; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + } + break; + case 30: + break; + default: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + } + } + function detachFiberAfterEffects(fiber) { + var alternate = fiber.alternate; + null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate)); + fiber.child = null; + fiber.deletions = null; + fiber.sibling = null; + 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate)); + fiber.stateNode = null; + fiber._debugOwner = null; + fiber.return = null; + fiber.dependencies = null; + fiber.memoizedProps = null; + fiber.memoizedState = null; + fiber.pendingProps = null; + fiber.stateNode = null; + fiber.updateQueue = null; + } + function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) { + for (parent = parent.child; null !== parent; ) + commitDeletionEffectsOnFiber( + finishedRoot, + nearestMountedAncestor, + parent + ), parent = parent.sibling; + } + function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) { + if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) + try { + injectedHook.onCommitFiberUnmount(rendererID, deletedFiber); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + switch (deletedFiber.tag) { + case 26: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber)); + break; + case 27: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer; + isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + runWithFiberInDEV( + deletedFiber, + releaseSingletonInstance, + deletedFiber.stateNode + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 5: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + case 6: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = null; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + if (null !== hostParent) + if (hostParentIsContainer) + try { + runWithFiberInDEV( + deletedFiber, + removeChildFromContainer, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + else + try { + runWithFiberInDEV( + deletedFiber, + removeChild, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + break; + case 18: + null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearSuspenseBoundary( + 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot, + deletedFiber.stateNode + ), retryIfBlockedOn(finishedRoot)) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode)); + break; + case 4: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = deletedFiber.stateNode.containerInfo; + hostParentIsContainer = true; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 0: + case 11: + case 14: + case 15: + offscreenSubtreeWasHidden || commitHookEffectListUnmount( + Insertion, + deletedFiber, + nearestMountedAncestor + ); + offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects( + deletedFiber, + nearestMountedAncestor, + Layout + ); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 1: + offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount( + deletedFiber, + nearestMountedAncestor, + prevHostParent + )); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 21: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 22: + offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + offscreenSubtreeWasHidden = prevHostParent; + break; + default: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + } + } + function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { + if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot)))) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedSuspenseInstance, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function getRetryCache(finishedWork) { + switch (finishedWork.tag) { + case 13: + case 19: + var retryCache = finishedWork.stateNode; + null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet()); + return retryCache; + case 22: + return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache; + default: + throw Error( + "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React." + ); + } + } + function attachSuspenseRetryListeners(finishedWork, wakeables) { + var retryCache = getRetryCache(finishedWork); + wakeables.forEach(function(wakeable) { + var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable); + if (!retryCache.has(wakeable)) { + retryCache.add(wakeable); + if (isDevToolsPresent) + if (null !== inProgressLanes && null !== inProgressRoot) + restorePendingUpdaters(inProgressRoot, inProgressLanes); + else + throw Error( + "Expected finished root and lanes to be set. This is a bug in React." + ); + wakeable.then(retry, retry); + } + }); + } + function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) { + var deletions = parentFiber.deletions; + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], parent = returnFiber; + a: for (; null !== parent; ) { + switch (parent.tag) { + case 27: + if (isSingletonScope(parent.type)) { + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + } + break; + case 5: + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + case 3: + case 4: + hostParent = parent.stateNode.containerInfo; + hostParentIsContainer = true; + break a; + } + parent = parent.return; + } + if (null === hostParent) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber); + hostParent = null; + hostParentIsContainer = false; + root2 = deletedFiber; + returnFiber = root2.alternate; + null !== returnFiber && (returnFiber.return = null); + root2.return = null; + } + if (parentFiber.subtreeFlags & 13878) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling; + } + function commitMutationEffectsOnFiber(finishedWork, root2) { + var current2 = finishedWork.alternate, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (commitHookEffectListUnmount( + Insertion | HasEffect, + finishedWork, + finishedWork.return + ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout | HasEffect + )); + break; + case 1: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current2 = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current2 ? flags : current2.concat(flags)))); + break; + case 26: + var hoistableRoot = currentHoistableRoot; + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (flags & 4) + if (root2 = null !== current2 ? current2.memoizedState : null, flags = finishedWork.memoizedState, null === current2) + if (null === flags) + if (null === finishedWork.stateNode) { + a: { + flags = finishedWork.type; + current2 = finishedWork.memoizedProps; + root2 = hoistableRoot.ownerDocument || hoistableRoot; + b: switch (flags) { + case "title": + hoistableRoot = root2.getElementsByTagName("title")[0]; + if (!hoistableRoot || hoistableRoot[internalHoistableMarker] || hoistableRoot[internalInstanceKey] || hoistableRoot.namespaceURI === SVG_NAMESPACE || hoistableRoot.hasAttribute("itemprop")) + hoistableRoot = root2.createElement(flags), root2.head.insertBefore( + hoistableRoot, + root2.querySelector("head > title") + ); + setInitialProperties(hoistableRoot, flags, current2); + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + break a; + case "link": + var maybeNodes = getHydratableHoistableCache( + "link", + "href", + root2 + ).get(flags + (current2.href || "")); + if (maybeNodes) { + for (var i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], hoistableRoot.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && hoistableRoot.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && hoistableRoot.getAttribute("title") === (null == current2.title ? null : current2.title) && hoistableRoot.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + case "meta": + if (maybeNodes = getHydratableHoistableCache( + "meta", + "content", + root2 + ).get(flags + (current2.content || ""))) { + for (i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], checkAttributeStringCoercion( + current2.content, + "content" + ), hoistableRoot.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && hoistableRoot.getAttribute("name") === (null == current2.name ? null : current2.name) && hoistableRoot.getAttribute("property") === (null == current2.property ? null : current2.property) && hoistableRoot.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && hoistableRoot.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + default: + throw Error( + 'getNodesForType encountered a type it did not expect: "' + flags + '". This is a bug in React.' + ); + } + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + } + finishedWork.stateNode = flags; + } else + mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ); + else + finishedWork.stateNode = acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + ); + else + root2 !== flags ? (null === root2 ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : root2.count--, null === flags ? mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ) : acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 27: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + null !== current2 && flags & 4 && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 5: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (finishedWork.flags & 32) { + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV(finishedWork, resetTextContent, root2); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate( + finishedWork, + root2, + null !== current2 ? current2.memoizedProps : root2 + )); + flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error( + "Unexpected host component type. Expected a form. This is a bug in React." + )); + break; + case 6: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + if (flags & 4) { + if (null === finishedWork.stateNode) + throw Error( + "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." + ); + flags = finishedWork.memoizedProps; + current2 = null !== current2 ? current2.memoizedProps : flags; + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitTextUpdate, + root2, + current2, + flags + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + break; + case 3: + hoistableRoot = pushNestedEffectDurations(); + tagCaches = null; + maybeNodes = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot(root2.containerInfo); + recursivelyTraverseMutationEffects(root2, finishedWork); + currentHoistableRoot = maybeNodes; + commitReconciliationEffects(finishedWork); + if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedContainer, + root2.containerInfo + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork)); + root2.effectDuration += popNestedEffectDurations(hoistableRoot); + break; + case 4: + flags = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + finishedWork.stateNode.containerInfo + ); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + currentHoistableRoot = flags; + break; + case 12: + flags = pushNestedEffectDurations(); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags); + break; + case 13: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1()); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 22: + hoistableRoot = null !== finishedWork.memoizedState; + var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden; + recursivelyTraverseMutationEffects(root2, finishedWork); + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; + commitReconciliationEffects(finishedWork); + if (flags & 8192) + a: for (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, hoistableRoot && (null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || recursivelyTraverseDisappearLayoutEffects(finishedWork)), current2 = null, root2 = finishedWork; ; ) { + if (5 === root2.tag || 26 === root2.tag) { + if (null === current2) { + wasHidden = current2 = root2; + try { + maybeNodes = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, maybeNodes) : runWithFiberInDEV( + wasHidden, + unhideInstance, + wasHidden.stateNode, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if (6 === root2.tag) { + if (null === current2) { + wasHidden = root2; + try { + i = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideTextInstance, i) : runWithFiberInDEV( + wasHidden, + unhideTextInstance, + i, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) { + root2.child.return = root2; + root2 = root2.child; + continue; + } + if (root2 === finishedWork) break a; + for (; null === root2.sibling; ) { + if (null === root2.return || root2.return === finishedWork) + break a; + current2 === root2 && (current2 = null); + root2 = root2.return; + } + current2 === root2 && (current2 = null); + root2.sibling.return = root2.return; + root2 = root2.sibling; + } + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2)))); + break; + case 19: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 30: + break; + case 21: + break; + default: + recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork); + } + } + function commitReconciliationEffects(finishedWork) { + var flags = finishedWork.flags; + if (flags & 2) { + try { + runWithFiberInDEV(finishedWork, commitPlacement, finishedWork); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + finishedWork.flags &= -3; + } + flags & 4096 && (finishedWork.flags &= -4097); + } + function recursivelyResetForms(parentFiber) { + if (parentFiber.subtreeFlags & 1024) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var fiber = parentFiber; + recursivelyResetForms(fiber); + 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset(); + parentFiber = parentFiber.sibling; + } + } + function recursivelyTraverseLayoutEffects(root2, parentFiber) { + if (parentFiber.subtreeFlags & 8772) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling; + } + function disappearLayoutEffects(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 1: + safelyDetachRef(finishedWork, finishedWork.return); + var instance = finishedWork.stateNode; + "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount( + finishedWork, + finishedWork.return, + instance + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 27: + runWithFiberInDEV( + finishedWork, + releaseSingletonInstance, + finishedWork.stateNode + ); + case 26: + case 5: + safelyDetachRef(finishedWork, finishedWork.return); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 30: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + default: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + } + } + function recursivelyTraverseDisappearLayoutEffects(parentFiber) { + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling; + } + function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + commitHookLayoutEffects(finishedWork, Layout); + break; + case 1: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + current2 = finishedWork.stateNode; + "function" === typeof current2.componentDidMount && runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + current2 + ); + current2 = finishedWork.updateQueue; + if (null !== current2) { + finishedRoot = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitHiddenCallbacks, + current2, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 27: + commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (includeWorkInProgressEffects && flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects = finishedWork.stateNode; + includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + includeWorkInProgressEffects.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + break; + case 13: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 30: + break; + default: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reappearLayoutEffects( + finishedRoot, + parentFiber.alternate, + parentFiber, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function commitOffscreenPassiveMountEffects(current2, finishedWork) { + var previousCache = null; + null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool); + current2 = null; + null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool); + current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache)); + } + function commitCachePassiveMountEffect(current2, finishedWork) { + current2 = null; + null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache); + finishedWork = finishedWork.memoizedState.cache; + finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2)); + } + function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveMountOnFiber( + root2, + parentFiber, + committedLanes, + committedTransitions + ), parentFiber = parentFiber.sibling; + } + function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect); + break; + case 1: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== committedLanes && (retainCache(finishedWork), null != committedLanes && releaseCache(committedLanes))); + finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + if (flags & 2048) { + flags = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + finishedRoot = finishedWork.stateNode; + finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfilerPostCommitImpl, + finishedWork, + finishedWork.alternate, + commitStartTime, + finishedRoot.passiveEffectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 13: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 23: + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + var _current = finishedWork.alternate; + null !== finishedWork.memoizedState ? prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : (prevEffectDuration._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + 0 !== (finishedWork.subtreeFlags & 10256) + )); + flags & 2048 && commitOffscreenPassiveMountEffects(_current, finishedWork); + break; + case 24: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + } + } + function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reconnectPassiveEffects( + finishedRoot, + parentFiber, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + commitHookPassiveMountEffects(finishedWork, Passive); + break; + case 23: + break; + case 22: + var _instance2 = finishedWork.stateNode; + null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + )); + includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 22: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitCachePassiveMountEffect( + finishedWork.alternate, + finishedWork + ); + break; + default: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + } + parentFiber = parentFiber.sibling; + } + } + function recursivelyAccumulateSuspenseyCommit(parentFiber) { + if (parentFiber.subtreeFlags & suspenseyCommitFlag) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + accumulateSuspenseyCommitOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function accumulateSuspenseyCommitOnFiber(fiber) { + switch (fiber.tag) { + case 26: + recursivelyAccumulateSuspenseyCommit(fiber); + fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource( + currentHoistableRoot, + fiber.memoizedState, + fiber.memoizedProps + ); + break; + case 5: + recursivelyAccumulateSuspenseyCommit(fiber); + break; + case 3: + case 4: + var previousHoistableRoot = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + fiber.stateNode.containerInfo + ); + recursivelyAccumulateSuspenseyCommit(fiber); + currentHoistableRoot = previousHoistableRoot; + break; + case 22: + null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(fiber)); + break; + default: + recursivelyAccumulateSuspenseyCommit(fiber); + } + } + function detachAlternateSiblings(parentFiber) { + var previousFiber = parentFiber.alternate; + if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) { + previousFiber.child = null; + do + previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber; + while (null !== parentFiber); + } + } + function recursivelyTraversePassiveUnmountEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function commitPassiveUnmountOnFiber(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.flags & 2048 && commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive | HasEffect + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration); + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + null !== finishedWork.memoizedState && prevEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)) : recursivelyTraversePassiveUnmountEffects(finishedWork); + break; + default: + recursivelyTraversePassiveUnmountEffects(finishedWork); + } + } + function recursivelyTraverseDisconnectPassiveEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling; + } + function disconnectPassiveEffect(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive + ); + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + break; + case 22: + var instance = finishedWork.stateNode; + instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)); + break; + default: + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + } + } + function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) { + for (; null !== nextEffect; ) { + var fiber = nextEffect, current2 = fiber; + switch (current2.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + current2, + nearestMountedAncestor, + Passive + ); + break; + case 23: + case 22: + null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (current2 = current2.memoizedState.cachePool.pool, null != current2 && retainCache(current2)); + break; + case 24: + releaseCache(current2.memoizedState.cache); + } + current2 = fiber.child; + if (null !== current2) current2.return = fiber, nextEffect = current2; + else + a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) { + current2 = nextEffect; + var sibling = current2.sibling, returnFiber = current2.return; + detachFiberAfterEffects(current2); + if (current2 === fiber) { + nextEffect = null; + break a; + } + if (null !== sibling) { + sibling.return = returnFiber; + nextEffect = sibling; + break a; + } + nextEffect = returnFiber; + } + } + } + function onCommitRoot() { + commitHooks.forEach(function(commitHook) { + return commitHook(); + }); + } + function isConcurrentActEnvironment() { + var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0; + isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error( + "The current testing environment is not configured to support act(...)" + ); + return isReactActEnvironmentGlobal; + } + function requestUpdateLane(fiber) { + if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes) + return workInProgressRootRenderLanes & -workInProgressRootRenderLanes; + var transition = ReactSharedInternals.T; + return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), fiber = currentEntangledLane, 0 !== fiber ? fiber : requestTransitionLane()) : resolveUpdatePriority(); + } + function requestDeferredLane() { + 0 === workInProgressDeferredLane && (workInProgressDeferredLane = 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating ? claimNextTransitionLane() : 536870912); + var suspenseHandler = suspenseHandlerStackCursor.current; + null !== suspenseHandler && (suspenseHandler.flags |= 32); + return workInProgressDeferredLane; + } + function scheduleUpdateOnFiber(root2, fiber, lane) { + isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates."); + isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true); + if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + prepareFreshStack(root2, 0), markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + markRootUpdated$1(root2, lane); + if (0 !== (executionContext & RenderContext) && root2 === workInProgressRoot) { + if (isRendering) + switch (fiber.tag) { + case 0: + case 11: + case 15: + root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown"; + didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error( + "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render", + fiber, + root2, + root2 + )); + break; + case 1: + didWarnAboutUpdateInRender || (console.error( + "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state." + ), didWarnAboutUpdateInRender = true); + } + } else + isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + )), ensureRootIsScheduled(root2); + } + function performWorkOnRoot(root2, lanes, forceSync) { + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + var shouldTimeSlice = !forceSync && 0 === (lanes & 124) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes), exitStatus = shouldTimeSlice ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true), renderWasConcurrent = shouldTimeSlice; + do { + if (exitStatus === RootInProgress) { + workInProgressRootIsPrerendering && !shouldTimeSlice && markRootSuspended(root2, lanes, 0, false); + break; + } else { + forceSync = root2.current.alternate; + if (renderWasConcurrent && !isRenderConsistentWithExternalStores(forceSync)) { + exitStatus = renderRootSync(root2, lanes, false); + renderWasConcurrent = false; + continue; + } + if (exitStatus === RootErrored) { + renderWasConcurrent = lanes; + if (root2.errorRecoveryDisabledLanes & renderWasConcurrent) + var errorRetryLanes = 0; + else + errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0; + if (0 !== errorRetryLanes) { + lanes = errorRetryLanes; + a: { + exitStatus = root2; + var errorRetryLanes$jscomp$0 = errorRetryLanes; + errorRetryLanes = workInProgressRootConcurrentErrors; + var wasRootDehydrated = exitStatus.current.memoizedState.isDehydrated; + wasRootDehydrated && (prepareFreshStack( + exitStatus, + errorRetryLanes$jscomp$0 + ).flags |= 256); + errorRetryLanes$jscomp$0 = renderRootSync( + exitStatus, + errorRetryLanes$jscomp$0, + false + ); + if (errorRetryLanes$jscomp$0 !== RootErrored) { + if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) { + exitStatus.errorRecoveryDisabledLanes |= renderWasConcurrent; + workInProgressRootInterleavedUpdatedLanes |= renderWasConcurrent; + exitStatus = RootSuspendedWithDelay; + break a; + } + exitStatus = workInProgressRootRecoverableErrors; + workInProgressRootRecoverableErrors = errorRetryLanes; + null !== exitStatus && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = exitStatus : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + exitStatus + )); + } + exitStatus = errorRetryLanes$jscomp$0; + } + renderWasConcurrent = false; + if (exitStatus !== RootErrored) continue; + } + } + if (exitStatus === RootFatalErrored) { + prepareFreshStack(root2, 0); + markRootSuspended(root2, lanes, 0, true); + break; + } + a: { + shouldTimeSlice = root2; + switch (exitStatus) { + case RootInProgress: + case RootFatalErrored: + throw Error("Root did not complete. This is a bug in React."); + case RootSuspendedWithDelay: + if ((lanes & 4194048) !== lanes) break; + case RootSuspendedAtTheShell: + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + break a; + case RootErrored: + workInProgressRootRecoverableErrors = null; + break; + case RootSuspended: + case RootCompleted: + break; + default: + throw Error("Unknown root exit status."); + } + if (null !== ReactSharedInternals.actQueue) + commitRoot( + shouldTimeSlice, + forceSync, + lanes, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes + ); + else { + if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) { + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + if (0 !== getNextLanes(shouldTimeSlice, 0, true)) break a; + shouldTimeSlice.timeoutHandle = scheduleTimeout( + commitRootWhenReady.bind( + null, + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + THROTTLED_COMMIT, + renderStartTime, + 0 + ), + renderWasConcurrent + ); + break a; + } + commitRootWhenReady( + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + IMMEDIATE_COMMIT, + renderStartTime, + 0 + ); + } + } + } + break; + } while (1); + ensureRootIsScheduled(root2); + } + function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { + root2.timeoutHandle = noTimeout; + suspendedCommitReason = finishedWork.subtreeFlags; + if (suspendedCommitReason & 8192 || 16785408 === (suspendedCommitReason & 16785408)) { + if (suspendedState = { stylesheets: null, count: 0, unsuspend: noop }, accumulateSuspenseyCommitOnFiber(finishedWork), suspendedCommitReason = waitForCommitToBeReady(), null !== suspendedCommitReason) { + root2.cancelPendingCommit = suspendedCommitReason( + commitRoot.bind( + null, + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + exitStatus, + SUSPENDED_COMMIT, + completedRenderStartTime, + completedRenderEndTime + ) + ); + markRootSuspended( + root2, + lanes, + spawnedLane, + !didSkipSuspendedSiblings + ); + return; + } + } + commitRoot( + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + } + function isRenderConsistentWithExternalStores(finishedWork) { + for (var node = finishedWork; ; ) { + var tag = node.tag; + if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag))) + for (var i = 0; i < tag.length; i++) { + var check = tag[i], getSnapshot = check.getSnapshot; + check = check.value; + try { + if (!objectIs(getSnapshot(), check)) return false; + } catch (error) { + return false; + } + } + tag = node.child; + if (node.subtreeFlags & 16384 && null !== tag) + tag.return = node, node = tag; + else { + if (node === finishedWork) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === finishedWork) return true; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + return true; + } + function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) { + suspendedLanes &= ~workInProgressRootPingedLanes; + suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes; + root2.suspendedLanes |= suspendedLanes; + root2.pingedLanes &= ~suspendedLanes; + didAttemptEntireTree && (root2.warmLanes |= suspendedLanes); + didAttemptEntireTree = root2.expirationTimes; + for (var lanes = suspendedLanes; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + didAttemptEntireTree[index] = -1; + lanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes); + } + function flushSyncWork$1() { + return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true; + } + function resetWorkInProgressStack() { + if (null !== workInProgress) { + if (workInProgressSuspendedReason === NotSuspended) + var interruptedWork = workInProgress.return; + else + interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState = null, thenableIndexCounter = 0, interruptedWork = workInProgress; + for (; null !== interruptedWork; ) + unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return; + workInProgress = null; + } + } + function prepareFreshStack(root2, lanes) { + var timeoutHandle = root2.timeoutHandle; + timeoutHandle !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle)); + timeoutHandle = root2.cancelPendingCommit; + null !== timeoutHandle && (root2.cancelPendingCommit = null, timeoutHandle()); + resetWorkInProgressStack(); + workInProgressRoot = root2; + workInProgress = timeoutHandle = createWorkInProgress(root2.current, null); + workInProgressRootRenderLanes = lanes; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + workInProgressRootDidSkipSuspendedSiblings = false; + workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes); + workInProgressRootDidAttachPingListener = false; + workInProgressRootExitStatus = RootInProgress; + workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0; + workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null; + workInProgressRootDidIncludeRecursiveRenderUpdate = false; + 0 !== (lanes & 8) && (lanes |= lanes & 32); + var allEntangledLanes = root2.entangledLanes; + if (0 !== allEntangledLanes) + for (root2 = root2.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) { + var index = 31 - clz32(allEntangledLanes), lane = 1 << index; + lanes |= root2[index]; + allEntangledLanes &= ~lane; + } + entangledRenderLanes = lanes; + finishQueueingConcurrentUpdates(); + lanes = getCurrentTime(); + 1e3 < lanes - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = lanes); + ReactStrictModeWarnings.discardPendingWarnings(); + return timeoutHandle; + } + function handleThrow(root2, thrownValue) { + currentlyRenderingFiber = null; + ReactSharedInternals.H = ContextOnlyDispatcher; + ReactSharedInternals.getCurrentStack = null; + isRendering = false; + current = null; + thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError; + workInProgressThrownValue = thrownValue; + var erroredWork = workInProgress; + if (null === erroredWork) + workInProgressRootExitStatus = RootFatalErrored, logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + else + switch (erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) { + case SuspendedOnError: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnImmediate: + case SuspendedOnDeprecatedThrowPromise: + case SuspendedAndReadyToContinue: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + } + } + function pushDispatcher() { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = ContextOnlyDispatcher; + return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher; + } + function pushAsyncDispatcher() { + var prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; + return prevAsyncDispatcher; + } + function renderDidSuspendDelayIfPossible() { + workInProgressRootExitStatus = RootSuspendedWithDelay; + workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true); + 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended( + workInProgressRoot, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + } + function renderRootSync(root2, lanes, shouldYieldForPrerendering) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + prepareFreshStack(root2, lanes); + } + markRenderStarted(lanes); + lanes = false; + memoizedUpdaters = workInProgressRootExitStatus; + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) { + var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue; + switch (workInProgressSuspendedReason) { + case SuspendedOnHydration: + resetWorkInProgressStack(); + memoizedUpdaters = RootSuspendedAtTheShell; + break a; + case SuspendedOnImmediate: + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnDeprecatedThrowPromise: + null === suspenseHandlerStackCursor.current && (lanes = true); + var reason = workInProgressSuspendedReason; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) { + memoizedUpdaters = RootInProgress; + break a; + } + break; + default: + reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + } + } + workLoopSync(); + memoizedUpdaters = workInProgressRootExitStatus; + break; + } catch (thrownValue$8) { + handleThrow(root2, thrownValue$8); + } + while (1); + lanes && root2.shellSuspendCounter++; + resetContextDependencies(); + executionContext = prevExecutionContext; + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + markRenderStopped(); + null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates()); + return memoizedUpdaters; + } + function workLoopSync() { + for (; null !== workInProgress; ) performUnitOfWork(workInProgress); + } + function renderRootConcurrent(root2, lanes) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS; + prepareFreshStack(root2, lanes); + } else + workInProgressRootIsPrerendering = checkIfRootIsPrerendering( + root2, + lanes + ); + markRenderStarted(lanes); + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) + b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) { + case SuspendedOnError: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnError + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + if (isThenableResolved(memoizedUpdaters)) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + replaySuspendedUnitOfWork(lanes); + break; + } + lanes = function() { + workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue); + ensureRootIsScheduled(root2); + }; + memoizedUpdaters.then(lanes, lanes); + break a; + case SuspendedOnImmediate: + workInProgressSuspendedReason = SuspendedAndReadyToContinue; + break a; + case SuspendedOnInstance: + workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue; + break a; + case SuspendedAndReadyToContinue: + isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedAndReadyToContinue + )); + break; + case SuspendedOnInstanceAndReadyToContinue: + var resource = null; + switch (workInProgress.tag) { + case 26: + resource = workInProgress.memoizedState; + case 5: + case 27: + var hostFiber = workInProgress; + if (resource ? preloadResource(resource) : 1) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + var sibling = hostFiber.sibling; + if (null !== sibling) workInProgress = sibling; + else { + var returnFiber = hostFiber.return; + null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null; + } + break b; + } + break; + default: + console.error( + "Unexpected type of fiber triggered a suspensey commit. This is a bug in React." + ); + } + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnInstanceAndReadyToContinue + ); + break; + case SuspendedOnDeprecatedThrowPromise: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnDeprecatedThrowPromise + ); + break; + case SuspendedOnHydration: + resetWorkInProgressStack(); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + break a; + default: + throw Error( + "Unexpected SuspendedReason. This is a bug in React." + ); + } + null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler(); + break; + } catch (thrownValue$9) { + handleThrow(root2, thrownValue$9); + } + while (1); + resetContextDependencies(); + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + executionContext = prevExecutionContext; + if (null !== workInProgress) + return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress; + markRenderStopped(); + workInProgressRoot = null; + workInProgressRootRenderLanes = 0; + finishQueueingConcurrentUpdates(); + return workInProgressRootExitStatus; + } + function workLoopConcurrentByScheduler() { + for (; null !== workInProgress && !shouldYield(); ) + performUnitOfWork(workInProgress); + } + function performUnitOfWork(unitOfWork) { + var current2 = unitOfWork.alternate; + (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2; + } + function replaySuspendedUnitOfWork(unitOfWork) { + var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next; + } + function replayBeginWork(unitOfWork) { + var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode; + isProfilingMode && startProfilerTimer(unitOfWork); + switch (unitOfWork.tag) { + case 15: + case 0: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type, + void 0, + workInProgressRootRenderLanes + ); + break; + case 11: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type.render, + unitOfWork.ref, + workInProgressRootRenderLanes + ); + break; + case 5: + resetHooksOnUnwind(unitOfWork); + default: + unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes); + } + isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork); + return current2; + } + function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) { + resetContextDependencies(); + resetHooksOnUnwind(unitOfWork); + thenableState = null; + thenableIndexCounter = 0; + var returnFiber = unitOfWork.return; + try { + if (throwException( + root2, + returnFiber, + unitOfWork, + thrownValue, + workInProgressRootRenderLanes + )) { + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + } catch (error) { + if (null !== returnFiber) throw workInProgress = returnFiber, error; + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + if (unitOfWork.flags & 32768) { + if (isHydrating || suspendedReason === SuspendedOnError) root2 = true; + else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912)) + root2 = false; + else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise) + suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384); + unwindUnitOfWork(unitOfWork, root2); + } else completeUnitOfWork(unitOfWork); + } + function completeUnitOfWork(unitOfWork) { + var completedWork = unitOfWork; + do { + if (0 !== (completedWork.flags & 32768)) { + unwindUnitOfWork( + completedWork, + workInProgressRootDidSkipSuspendedSiblings + ); + return; + } + var current2 = completedWork.alternate; + unitOfWork = completedWork.return; + startProfilerTimer(completedWork); + current2 = runWithFiberInDEV( + completedWork, + completeWork, + current2, + completedWork, + entangledRenderLanes + ); + (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork); + if (null !== current2) { + workInProgress = current2; + return; + } + completedWork = completedWork.sibling; + if (null !== completedWork) { + workInProgress = completedWork; + return; + } + workInProgress = completedWork = unitOfWork; + } while (null !== completedWork); + workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted); + } + function unwindUnitOfWork(unitOfWork, skipSiblings) { + do { + var next = unwindWork(unitOfWork.alternate, unitOfWork); + if (null !== next) { + next.flags &= 32767; + workInProgress = next; + return; + } + if ((unitOfWork.mode & ProfileMode) !== NoMode) { + stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork); + next = unitOfWork.actualDuration; + for (var child = unitOfWork.child; null !== child; ) + next += child.actualDuration, child = child.sibling; + unitOfWork.actualDuration = next; + } + next = unitOfWork.return; + null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null); + if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) { + workInProgress = unitOfWork; + return; + } + workInProgress = unitOfWork = next; + } while (null !== unitOfWork); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + workInProgress = null; + } + function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes) { + root2.cancelPendingCommit = null; + do + flushPendingEffects(); + while (pendingEffectsStatus !== NO_PENDING_EFFECTS); + ReactStrictModeWarnings.flushLegacyContextWarning(); + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(lanes); + if (null === finishedWork) markCommitStopped(); + else { + 0 === lanes && console.error( + "finishedLanes should not be empty during a commit. This is a bug in React." + ); + if (finishedWork === root2.current) + throw Error( + "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." + ); + didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes; + didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes; + markRootFinished( + root2, + lanes, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0); + pendingFinishedWork = finishedWork; + pendingEffectsRoot = root2; + pendingEffectsLanes = lanes; + pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate; + pendingPassiveTransitions = transitions; + pendingRecoverableErrors = recoverableErrors; + 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() { + flushPassiveEffects(true); + return null; + })) : (root2.callbackNode = null, root2.callbackPriority = 0); + commitStartTime = now(); + recoverableErrors = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) { + recoverableErrors = ReactSharedInternals.T; + ReactSharedInternals.T = null; + transitions = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + spawnedLane = executionContext; + executionContext |= CommitContext; + try { + commitBeforeMutationEffects(root2, finishedWork, lanes); + } finally { + executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors; + } + } + pendingEffectsStatus = PENDING_MUTATION_PHASE; + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + } + } + function flushMutationEffects() { + if (pendingEffectsStatus === PENDING_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) { + rootMutationHasEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + inProgressLanes = lanes; + inProgressRoot = root2; + commitMutationEffectsOnFiber(finishedWork, root2); + inProgressRoot = inProgressLanes = null; + lanes = selectionInformation; + var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange; + if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode( + priorFocusedElem.ownerDocument.documentElement, + priorFocusedElem + )) { + if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) { + var start = priorSelectionRange.start, end = priorSelectionRange.end; + void 0 === end && (end = start); + if ("selectionStart" in priorFocusedElem) + priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min( + end, + priorFocusedElem.value.length + ); + else { + var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window; + if (win.getSelection) { + var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min( + priorSelectionRange.start, + length + ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length); + !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem); + var startMarker = getNodeForCharacterOffset( + priorFocusedElem, + start$jscomp$0 + ), endMarker = getNodeForCharacterOffset( + priorFocusedElem, + end$jscomp$0 + ); + if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) { + var range = doc.createRange(); + range.setStart(startMarker.node, startMarker.offset); + selection.removeAllRanges(); + start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range)); + } + } + } + } + doc = []; + for (selection = priorFocusedElem; selection = selection.parentNode; ) + 1 === selection.nodeType && doc.push({ + element: selection, + left: selection.scrollLeft, + top: selection.scrollTop + }); + "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus(); + for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) { + var info = doc[priorFocusedElem]; + info.element.scrollLeft = info.left; + info.element.scrollTop = info.top; + } + } + _enabled = !!eventsEnabled; + selectionInformation = eventsEnabled = null; + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect; + } + } + root2.current = finishedWork; + pendingEffectsStatus = PENDING_LAYOUT_PHASE; + } + } + function flushLayoutEffects() { + if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772); + if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) { + rootHasLayoutEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted(lanes), inProgressLanes = lanes, inProgressRoot = root2, commitLayoutEffectOnFiber( + root2, + finishedWork.alternate, + finishedWork + ), inProgressRoot = inProgressLanes = null, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped(); + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootHasLayoutEffect; + } + } + pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE; + } + } + function flushSpawnedWork() { + if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + requestPaint(); + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, recoverableErrors = pendingRecoverableErrors, rootDidHavePassiveEffects = 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256); + rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(root2, root2.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null); + var remainingLanes = root2.pendingLanes; + 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null); + rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(root2); + rootDidHavePassiveEffects = lanesToEventPriority(lanes); + finishedWork = finishedWork.stateNode; + if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) + try { + var didError = 128 === (finishedWork.current.flags & 128); + switch (rootDidHavePassiveEffects) { + case DiscreteEventPriority: + var schedulerPriority = ImmediatePriority; + break; + case ContinuousEventPriority: + schedulerPriority = UserBlockingPriority; + break; + case DefaultEventPriority: + schedulerPriority = NormalPriority$1; + break; + case IdleEventPriority: + schedulerPriority = IdlePriority; + break; + default: + schedulerPriority = NormalPriority$1; + } + injectedHook.onCommitFiberRoot( + rendererID, + finishedWork, + schedulerPriority, + didError + ); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + isDevToolsPresent && root2.memoizedUpdaters.clear(); + onCommitRoot(); + if (null !== recoverableErrors) { + didError = ReactSharedInternals.T; + schedulerPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + ReactSharedInternals.T = null; + try { + var onRecoverableError = root2.onRecoverableError; + for (finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) { + var recoverableError = recoverableErrors[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack); + runWithFiberInDEV( + recoverableError.source, + onRecoverableError, + recoverableError.value, + errorInfo + ); + } + } finally { + ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority; + } + } + 0 !== (pendingEffectsLanes & 3) && flushPendingEffects(); + ensureRootIsScheduled(root2); + remainingLanes = root2.pendingLanes; + 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root2 === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root2)) : nestedUpdateCount = 0; + flushSyncWorkAcrossRoots_impl(0, false); + markCommitStopped(); + } + } + function makeErrorInfo(componentStack) { + componentStack = { componentStack }; + Object.defineProperty(componentStack, "digest", { + get: function() { + console.error( + 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.' + ); + } + }); + return componentStack; + } + function releaseRootPooledCache(root2, remainingLanes) { + 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes))); + } + function flushPendingEffects(wasDelayedCommit) { + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + return flushPassiveEffects(wasDelayedCommit); + } + function flushPassiveEffects() { + if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false; + var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes; + pendingEffectsRemainingLanes = 0; + var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority; + renderPriority = ReactSharedInternals.T; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = priority; + ReactSharedInternals.T = null; + priority = pendingPassiveTransitions; + pendingPassiveTransitions = null; + var root$jscomp$0 = pendingEffectsRoot, lanes = pendingEffectsLanes; + pendingEffectsStatus = NO_PENDING_EFFECTS; + pendingFinishedWork = pendingEffectsRoot = null; + pendingEffectsLanes = 0; + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Cannot flush passive effects while already rendering."); + isFlushingPassiveEffects = true; + didScheduleUpdateDuringPassiveEffects = false; + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes); + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + commitPassiveUnmountOnFiber(root$jscomp$0.current); + commitPassiveMountOnFiber( + root$jscomp$0, + root$jscomp$0.current, + lanes, + priority + ); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped(); + commitDoubleInvokeEffectsInDEV(root$jscomp$0); + executionContext = prevExecutionContext; + flushSyncWorkAcrossRoots_impl(0, false); + didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0; + didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false; + if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) + try { + injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + var stateNode = root$jscomp$0.current.stateNode; + stateNode.effectDuration = 0; + stateNode.passiveEffectDuration = 0; + return true; + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes); + } + } + function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2); + rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2); + null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber)); + } + function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) { + isRunningInsertionEffect = false; + if (3 === sourceFiber.tag) + captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); + else { + for (; null !== nearestMountedAncestor; ) { + if (3 === nearestMountedAncestor.tag) { + captureCommitPhaseErrorOnRoot( + nearestMountedAncestor, + sourceFiber, + error + ); + return; + } + if (1 === nearestMountedAncestor.tag) { + var instance = nearestMountedAncestor.stateNode; + if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + error = createClassErrorUpdate(2); + instance = enqueueUpdate(nearestMountedAncestor, error, 2); + null !== instance && (initializeClassErrorUpdate( + error, + instance, + nearestMountedAncestor, + sourceFiber + ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance)); + return; + } + } + nearestMountedAncestor = nearestMountedAncestor.return; + } + console.error( + "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", + error + ); + } + } + function attachPingListener(root2, wakeable, lanes) { + var pingCache = root2.pingCache; + if (null === pingCache) { + pingCache = root2.pingCache = new PossiblyWeakMap(); + var threadIDs = /* @__PURE__ */ new Set(); + pingCache.set(wakeable, threadIDs); + } else + threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs)); + threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache)); + } + function pingSuspendedRoot(root2, wakeable, pingedLanes) { + var pingCache = root2.pingCache; + null !== pingCache && pingCache.delete(wakeable); + root2.pingedLanes |= root2.suspendedLanes & pingedLanes; + root2.warmLanes &= ~pingedLanes; + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error( + "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act" + ); + workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0)); + ensureRootIsScheduled(root2); + } + function retryTimedOutBoundary(boundaryFiber, retryLane) { + 0 === retryLane && (retryLane = claimNextRetryLane()); + boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); + null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber)); + } + function retryDehydratedSuspenseBoundary(boundaryFiber) { + var suspenseState = boundaryFiber.memoizedState, retryLane = 0; + null !== suspenseState && (retryLane = suspenseState.retryLane); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function resolveRetryWakeable(boundaryFiber, wakeable) { + var retryLane = 0; + switch (boundaryFiber.tag) { + case 13: + var retryCache = boundaryFiber.stateNode; + var suspenseState = boundaryFiber.memoizedState; + null !== suspenseState && (retryLane = suspenseState.retryLane); + break; + case 19: + retryCache = boundaryFiber.stateNode; + break; + case 22: + retryCache = boundaryFiber.stateNode._retryCache; + break; + default: + throw Error( + "Pinged unknown suspense boundary type. This is probably a bug in React." + ); + } + null !== retryCache && retryCache.delete(wakeable); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) { + if (0 !== (parentFiber.subtreeFlags & 67117056)) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + isStrictModeFiber = isInStrictMode || isStrictModeFiber; + 22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + fiber, + isStrictModeFiber + ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber + ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV( + fiber, + recursivelyTraverseAndDoubleInvokeEffectsInDEV, + root2, + fiber, + isStrictModeFiber + )); + parentFiber = parentFiber.sibling; + } + } + function doubleInvokeEffectsOnFiber(root2, fiber) { + var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true; + setIsStrictModeForDevtools(true); + try { + disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root2, fiber, 0, null, false, 0); + } finally { + setIsStrictModeForDevtools(false); + } + } + function commitDoubleInvokeEffectsInDEV(root2) { + var doubleInvokeEffects = true; + root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false); + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + root2.current, + doubleInvokeEffects + ); + } + function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { + if ((executionContext & RenderContext) === NoContext) { + var tag = fiber.tag; + if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) { + tag = getComponentNameFromFiber(fiber) || "ReactComponent"; + if (null !== didWarnStateUpdateForNotYetMountedComponent) { + if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return; + didWarnStateUpdateForNotYetMountedComponent.add(tag); + } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]); + runWithFiberInDEV(fiber, function() { + console.error( + "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead." + ); + }); + } + } + } + function restorePendingUpdaters(root2, lanes) { + isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) { + addFiberToLanesMap(root2, schedulingFiber, lanes); + }); + } + function scheduleCallback$1(priorityLevel, callback) { + var actQueue = ReactSharedInternals.actQueue; + return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback); + } + function warnIfUpdatesNotWrappedWithActDEV(fiber) { + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() { + console.error( + "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act", + getComponentNameFromFiber(fiber) + ); + }); + } + function ensureRootIsScheduled(root2) { + root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2); + mightHavePendingSyncWork = true; + null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask()); + } + function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) { + if (!isFlushingWork && mightHavePendingSyncWork) { + isFlushingWork = true; + do { + var didPerformSomeWork = false; + for (var root2 = firstScheduledRoot; null !== root2; ) { + if (!onlyLegacy) + if (0 !== syncTransitionLanes) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) var nextLanes = 0; + else { + var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1; + nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes); + nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0; + } + 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + } else + nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes( + root2, + root2 === workInProgressRoot ? nextLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + root2 = root2.next; + } + } while (didPerformSomeWork); + isFlushingWork = false; + } + } + function processRootScheduleInImmediateTask() { + processRootScheduleInMicrotask(); + } + function processRootScheduleInMicrotask() { + mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false; + var syncTransitionLanes = 0; + 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0); + for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) { + var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime); + if (0 === nextLanes) + root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev); + else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3)) + mightHavePendingSyncWork = true; + root2 = next; + } + flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false); + } + function scheduleTaskForRootDuringMicrotask(root2, currentTime) { + for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index]; + if (-1 === expirationTime) { + if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) + expirationTimes[index] = computeExpirationTime(lane, currentTime); + } else expirationTime <= currentTime && (root2.expiredLanes |= lane); + lanes &= ~lane; + } + currentTime = workInProgressRoot; + suspendedLanes = workInProgressRootRenderLanes; + suspendedLanes = getNextLanes( + root2, + root2 === currentTime ? suspendedLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + pingedLanes = root2.callbackNode; + if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0; + if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) { + currentTime = suspendedLanes & -suspendedLanes; + if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode) + cancelCallback(pingedLanes); + else return currentTime; + switch (lanesToEventPriority(suspendedLanes)) { + case DiscreteEventPriority: + case ContinuousEventPriority: + suspendedLanes = UserBlockingPriority; + break; + case DefaultEventPriority: + suspendedLanes = NormalPriority$1; + break; + case IdleEventPriority: + suspendedLanes = IdlePriority; + break; + default: + suspendedLanes = NormalPriority$1; + } + pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2); + null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes); + root2.callbackPriority = currentTime; + root2.callbackNode = suspendedLanes; + return currentTime; + } + null !== pingedLanes && cancelCallback(pingedLanes); + root2.callbackPriority = 2; + root2.callbackNode = null; + return 2; + } + function performWorkOnRootViaSchedulerTask(root2, didTimeout) { + nestedUpdateScheduled = currentUpdateIsNested = false; + if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE) + return root2.callbackNode = null, root2.callbackPriority = 0, null; + var originalCallbackNode = root2.callbackNode; + if (flushPendingEffects(true) && root2.callbackNode !== originalCallbackNode) + return null; + var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes; + workInProgressRootRenderLanes$jscomp$0 = getNextLanes( + root2, + root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + if (0 === workInProgressRootRenderLanes$jscomp$0) return null; + performWorkOnRoot( + root2, + workInProgressRootRenderLanes$jscomp$0, + didTimeout + ); + scheduleTaskForRootDuringMicrotask(root2, now$1()); + return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null; + } + function performSyncWorkOnRoot(root2, lanes) { + if (flushPendingEffects()) return null; + currentUpdateIsNested = nestedUpdateScheduled; + nestedUpdateScheduled = false; + performWorkOnRoot(root2, lanes, true); + } + function cancelCallback(callbackNode) { + callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode); + } + function scheduleImmediateRootScheduleTask() { + null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() { + processRootScheduleInMicrotask(); + return null; + }); + scheduleMicrotask(function() { + (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3( + ImmediatePriority, + processRootScheduleInImmediateTask + ) : processRootScheduleInMicrotask(); + }); + } + function requestTransitionLane() { + 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane()); + return currentEventTransitionLane; + } + function coerceFormActionProp(actionProp) { + if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp) + return null; + if ("function" === typeof actionProp) return actionProp; + checkAttributeStringCoercion(actionProp, "action"); + return sanitizeURL("" + actionProp); + } + function createFormDataWithSubmitter(form, submitter) { + var temp = submitter.ownerDocument.createElement("input"); + temp.name = submitter.name; + temp.value = submitter.value; + form.id && temp.setAttribute("form", form.id); + submitter.parentNode.insertBefore(temp, submitter); + form = new FormData(form); + temp.parentNode.removeChild(temp); + return form; + } + function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) { + if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) { + var action = coerceFormActionProp( + (nativeEventTarget[internalPropsKey] || null).action + ), submitter = nativeEvent.submitter; + submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null)); + var event = new SyntheticEvent( + "action", + "action", + null, + nativeEvent, + nativeEventTarget + ); + dispatchQueue.push({ + event, + listeners: [ + { + instance: null, + listener: function() { + if (nativeEvent.defaultPrevented) { + if (0 !== currentEventTransitionLane) { + var formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }; + Object.freeze(pendingState); + startHostTransition( + maybeTargetInst, + pendingState, + null, + formData + ); + } + } else + "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }, Object.freeze(pendingState), startHostTransition( + maybeTargetInst, + pendingState, + action, + formData + )); + }, + currentTarget: nativeEventTarget + } + ] + }); + } + } + function executeDispatch(event, listener, currentTarget) { + event.currentTarget = currentTarget; + try { + listener(event); + } catch (error) { + reportGlobalError(error); + } + event.currentTarget = null; + } + function processDispatchQueue(dispatchQueue, eventSystemFlags) { + eventSystemFlags = 0 !== (eventSystemFlags & 4); + for (var i = 0; i < dispatchQueue.length; i++) { + var _dispatchQueue$i = dispatchQueue[i]; + a: { + var previousInstance = void 0, event = _dispatchQueue$i.event; + _dispatchQueue$i = _dispatchQueue$i.listeners; + if (eventSystemFlags) + for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) { + var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + else + for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) { + _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0]; + instance = _dispatchListeners$i.instance; + currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + } + } + } + function listenToNonDelegatedEvent(domEventName, targetElement) { + nonDelegatedEvents.has(domEventName) || console.error( + 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.', + domEventName + ); + var listenerSet = targetElement[internalEventHandlersKey]; + void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set()); + var listenerSetKey = domEventName + "__bubble"; + listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey)); + } + function listenToNativeEvent(domEventName, isCapturePhaseListener, target) { + nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error( + 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.', + domEventName + ); + var eventSystemFlags = 0; + isCapturePhaseListener && (eventSystemFlags |= 4); + addTrappedEventListener( + target, + domEventName, + eventSystemFlags, + isCapturePhaseListener + ); + } + function listenToAllSupportedEvents(rootContainerElement) { + if (!rootContainerElement[listeningMarker]) { + rootContainerElement[listeningMarker] = true; + allNativeEvents.forEach(function(domEventName) { + "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement)); + }); + var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument)); + } + } + function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) { + switch (getEventPriority(domEventName)) { + case DiscreteEventPriority: + var listenerWrapper = dispatchDiscreteEvent; + break; + case ContinuousEventPriority: + listenerWrapper = dispatchContinuousEvent; + break; + default: + listenerWrapper = dispatchEvent; + } + eventSystemFlags = listenerWrapper.bind( + null, + domEventName, + eventSystemFlags, + targetContainer + ); + listenerWrapper = void 0; + !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true); + isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + capture: true, + passive: listenerWrapper + }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + passive: listenerWrapper + }) : targetContainer.addEventListener( + domEventName, + eventSystemFlags, + false + ); + } + function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) { + var ancestorInst = targetInst$jscomp$0; + if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0) + a: for (; ; ) { + if (null === targetInst$jscomp$0) return; + var nodeTag = targetInst$jscomp$0.tag; + if (3 === nodeTag || 4 === nodeTag) { + var container = targetInst$jscomp$0.stateNode.containerInfo; + if (container === targetContainer) break; + if (4 === nodeTag) + for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) { + var grandTag = nodeTag.tag; + if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer) + return; + nodeTag = nodeTag.return; + } + for (; null !== container; ) { + nodeTag = getClosestInstanceFromNode(container); + if (null === nodeTag) return; + grandTag = nodeTag.tag; + if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) { + targetInst$jscomp$0 = ancestorInst = nodeTag; + continue a; + } + container = container.parentNode; + } + } + targetInst$jscomp$0 = targetInst$jscomp$0.return; + } + batchedUpdates$1(function() { + var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = []; + a: { + var reactName = topLevelEventsToReactNames.get(domEventName); + if (void 0 !== reactName) { + var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName; + switch (domEventName) { + case "keypress": + if (0 === getEventCharCode(nativeEvent)) break a; + case "keydown": + case "keyup": + SyntheticEventCtor = SyntheticKeyboardEvent; + break; + case "focusin": + reactEventType = "focus"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "focusout": + reactEventType = "blur"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "beforeblur": + case "afterblur": + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "click": + if (2 === nativeEvent.button) break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + SyntheticEventCtor = SyntheticMouseEvent; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + SyntheticEventCtor = SyntheticDragEvent; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + SyntheticEventCtor = SyntheticTouchEvent; + break; + case ANIMATION_END: + case ANIMATION_ITERATION: + case ANIMATION_START: + SyntheticEventCtor = SyntheticAnimationEvent; + break; + case TRANSITION_END: + SyntheticEventCtor = SyntheticTransitionEvent; + break; + case "scroll": + case "scrollend": + SyntheticEventCtor = SyntheticUIEvent; + break; + case "wheel": + SyntheticEventCtor = SyntheticWheelEvent; + break; + case "copy": + case "cut": + case "paste": + SyntheticEventCtor = SyntheticClipboardEvent; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + SyntheticEventCtor = SyntheticPointerEvent; + break; + case "toggle": + case "beforetoggle": + SyntheticEventCtor = SyntheticToggleEvent; + } + var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName; + inCapturePhase = []; + for (var instance = targetInst, lastHostComponent; null !== instance; ) { + var _instance2 = instance; + lastHostComponent = _instance2.stateNode; + _instance2 = _instance2.tag; + 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push( + createDispatchListener( + instance, + _instance2, + lastHostComponent + ) + )); + if (accumulateTargetOnly) break; + instance = instance.return; + } + 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor( + reactName, + reactEventType, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: reactName, + listeners: inCapturePhase + })); + } + } + if (0 === (eventSystemFlags & 7)) { + a: { + reactName = "mouseover" === domEventName || "pointerover" === domEventName; + SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName; + if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey])) + break a; + if (SyntheticEventCtor || reactName) { + reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window; + if (SyntheticEventCtor) { + if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase)) + reactEventType = null; + } else SyntheticEventCtor = null, reactEventType = targetInst; + if (SyntheticEventCtor !== reactEventType) { + inCapturePhase = SyntheticMouseEvent; + _instance2 = "onMouseLeave"; + reactEventName = "onMouseEnter"; + instance = "mouse"; + if ("pointerout" === domEventName || "pointerover" === domEventName) + inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer"; + accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor); + lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType); + reactName = new inCapturePhase( + _instance2, + instance + "leave", + SyntheticEventCtor, + nativeEvent, + nativeEventTarget + ); + reactName.target = accumulateTargetOnly; + reactName.relatedTarget = lastHostComponent; + _instance2 = null; + getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase( + reactEventName, + instance + "enter", + reactEventType, + nativeEvent, + nativeEventTarget + ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase); + accumulateTargetOnly = _instance2; + if (SyntheticEventCtor && reactEventType) + b: { + inCapturePhase = SyntheticEventCtor; + reactEventName = reactEventType; + instance = 0; + for (lastHostComponent = inCapturePhase; lastHostComponent; lastHostComponent = getParent(lastHostComponent)) + instance++; + lastHostComponent = 0; + for (_instance2 = reactEventName; _instance2; _instance2 = getParent(_instance2)) + lastHostComponent++; + for (; 0 < instance - lastHostComponent; ) + inCapturePhase = getParent(inCapturePhase), instance--; + for (; 0 < lastHostComponent - instance; ) + reactEventName = getParent(reactEventName), lastHostComponent--; + for (; instance--; ) { + if (inCapturePhase === reactEventName || null !== reactEventName && inCapturePhase === reactEventName.alternate) + break b; + inCapturePhase = getParent(inCapturePhase); + reactEventName = getParent(reactEventName); + } + inCapturePhase = null; + } + else inCapturePhase = null; + null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + reactName, + SyntheticEventCtor, + inCapturePhase, + false + ); + null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + accumulateTargetOnly, + reactEventType, + inCapturePhase, + true + ); + } + } + } + a: { + reactName = targetInst ? getNodeFromInstance(targetInst) : window; + SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase(); + if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type) + var getTargetInstFunc = getTargetInstForChangeEvent; + else if (isTextInputElement(reactName)) + if (isInputEventSupported) + getTargetInstFunc = getTargetInstForInputOrChangeEvent; + else { + getTargetInstFunc = getTargetInstForInputEventPolyfill; + var handleEventFunc = handleEventsForInputEventPolyfill; + } + else + SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent; + if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) { + createAndAccumulateChangeEvent( + dispatchQueue, + getTargetInstFunc, + nativeEvent, + nativeEventTarget + ); + break a; + } + handleEventFunc && handleEventFunc(domEventName, reactName, targetInst); + "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value); + } + handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window; + switch (domEventName) { + case "focusin": + if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable) + activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null; + break; + case "focusout": + lastSelection = activeElementInst = activeElement = null; + break; + case "mousedown": + mouseDown = true; + break; + case "contextmenu": + case "mouseup": + case "dragend": + mouseDown = false; + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + break; + case "selectionchange": + if (skipSelectionChangeEvent) break; + case "keydown": + case "keyup": + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + } + var fallbackData; + if (canUseCompositionEvent) + b: { + switch (domEventName) { + case "compositionstart": + var eventType = "onCompositionStart"; + break b; + case "compositionend": + eventType = "onCompositionEnd"; + break b; + case "compositionupdate": + eventType = "onCompositionUpdate"; + break b; + } + eventType = void 0; + } + else + isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart"); + eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root = nativeEventTarget, startText = "value" in root ? root.value : root.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners( + targetInst, + eventType + ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent( + eventType, + domEventName, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: eventType, + listeners: handleEventFunc + }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData)))); + if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent)) + eventType = accumulateTwoPhaseListeners( + targetInst, + "onBeforeInput" + ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent( + "onBeforeInput", + "beforeinput", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: handleEventFunc, + listeners: eventType + }), handleEventFunc.data = fallbackData); + extractEvents$1( + dispatchQueue, + domEventName, + targetInst, + nativeEvent, + nativeEventTarget + ); + } + processDispatchQueue(dispatchQueue, eventSystemFlags); + }); + } + function createDispatchListener(instance, listener, currentTarget) { + return { + instance, + listener, + currentTarget + }; + } + function accumulateTwoPhaseListeners(targetFiber, reactName) { + for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) { + var _instance3 = targetFiber, stateNode = _instance3.stateNode; + _instance3 = _instance3.tag; + 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift( + createDispatchListener(targetFiber, _instance3, stateNode) + ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push( + createDispatchListener(targetFiber, _instance3, stateNode) + )); + if (3 === targetFiber.tag) return listeners; + targetFiber = targetFiber.return; + } + return []; + } + function getParent(inst) { + if (null === inst) return null; + do + inst = inst.return; + while (inst && 5 !== inst.tag && 27 !== inst.tag); + return inst ? inst : null; + } + function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) { + for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) { + var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode; + _instance4 = _instance4.tag; + if (null !== alternate && alternate === common) break; + 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift( + createDispatchListener(target, stateNode, alternate) + )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push( + createDispatchListener(target, stateNode, alternate) + ))); + target = target.return; + } + 0 !== listeners.length && dispatchQueue.push({ event, listeners }); + } + function validatePropertiesInDevelopment(type, props) { + validateProperties$2(type, props); + "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error( + "`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", + type + ) : console.error( + "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", + type + )); + var eventRegistry = { + registrationNameDependencies, + possibleRegistrationNames + }; + isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry); + props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error( + "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional." + ); + } + function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) { + serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue)); + } + function warnForExtraAttributes(domElement, attributeNames, serverDifferences) { + attributeNames.forEach(function(attributeName) { + serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName); + }); + } + function warnForInvalidEventListener(registrationName, listener) { + false === listener ? console.error( + "Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", + registrationName, + registrationName, + registrationName + ) : console.error( + "Expected `%s` listener to be a function, instead got a value of `%s` type.", + registrationName, + typeof listener + ); + } + function normalizeHTML(parent, html) { + parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS( + parent.namespaceURI, + parent.tagName + ) : parent.ownerDocument.createElement(parent.tagName); + parent.innerHTML = html; + return parent.innerHTML; + } + function normalizeMarkupForTextOrAttribute(markup) { + willCoercionThrow(markup) && (console.error( + "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.", + typeName(markup) + ), testStringCoercion(markup)); + return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ""); + } + function checkForUnmatchedText(serverText, clientText) { + clientText = normalizeMarkupForTextOrAttribute(clientText); + return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false; + } + function noop$1() { + } + function setProp(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "children": + if ("string" === typeof value) + validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value); + else if ("number" === typeof value || "bigint" === typeof value) + validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value); + break; + case "className": + setValueForKnownAttribute(domElement, "class", value); + break; + case "tabIndex": + setValueForKnownAttribute(domElement, "tabindex", value); + break; + case "dir": + case "role": + case "viewBox": + case "width": + case "height": + setValueForKnownAttribute(domElement, key, value); + break; + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "data": + if ("object" !== tag) { + setValueForKnownAttribute(domElement, "data", value); + break; + } + case "src": + case "href": + if ("" === value && ("a" !== tag || "href" !== key)) { + "src" === key ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ); + domElement.removeAttribute(key); + break; + } + if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "action": + case "formAction": + null != value && ("form" === tag ? "formAction" === key ? console.error( + "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>." + ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden." + )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window." + ))) : "input" === tag || "button" === tag ? "action" === key ? console.error( + "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>." + ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error( + 'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.' + )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden." + )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window." + ))) : (didWarnFormActionType = true, console.error( + 'A button can only specify a formAction along with type="submit" or no type.' + )) : (didWarnFormActionType = true, console.error( + 'An input can only specify a formAction along with type="submit" or type="image".' + )) : "action" === key ? console.error( + "You can only pass the action prop to <form>." + ) : console.error( + "You can only pass the formAction prop to <input> or <button>." + )); + if ("function" === typeof value) { + domElement.setAttribute( + key, + "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')" + ); + break; + } else + "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp( + domElement, + tag, + "formEncType", + props.formEncType, + props, + null + ), setProp( + domElement, + tag, + "formMethod", + props.formMethod, + props, + null + ), setProp( + domElement, + tag, + "formTarget", + props.formTarget, + props, + null + )) : (setProp( + domElement, + tag, + "encType", + props.encType, + props, + null + ), setProp(domElement, tag, "method", props.method, props, null), setProp( + domElement, + tag, + "target", + props.target, + props, + null + ))); + if (null == value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "multiple": + domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "muted": + domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + break; + case "autoFocus": + break; + case "xlinkHref": + if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) { + domElement.removeAttribute("xlink:href"); + break; + } + checkAttributeStringCoercion(value, key); + key = sanitizeURL("" + value); + domElement.setAttributeNS(xlinkNamespace, "xlink:href", key); + break; + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key); + break; + case "inert": + "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + key + )); + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key); + break; + case "capture": + case "download": + true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "cols": + case "rows": + case "size": + case "span": + null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "rowSpan": + case "start": + null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)); + break; + case "popover": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + setValueForAttribute(domElement, "popover", value); + break; + case "xlinkActuate": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:actuate", + value + ); + break; + case "xlinkArcrole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:arcrole", + value + ); + break; + case "xlinkRole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:role", + value + ); + break; + case "xlinkShow": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:show", + value + ); + break; + case "xlinkTitle": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:title", + value + ); + break; + case "xlinkType": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:type", + value + ); + break; + case "xmlBase": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:base", + value + ); + break; + case "xmlLang": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:lang", + value + ); + break; + case "xmlSpace": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:space", + value + ); + break; + case "is": + null != prevValue && console.error( + 'Cannot update the "is" prop after it has been initialized.' + ); + setValueForAttribute(domElement, "is", value); + break; + case "innerText": + case "textContent": + break; + case "popoverTarget": + didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error( + "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.", + value + )); + default: + !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + } + } + function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "children": + "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "innerHTML": + case "ref": + break; + case "innerText": + case "textContent": + break; + default: + if (registrationNameDependencies.hasOwnProperty(key)) + null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + else + a: { + if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) { + "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key)); + domElement.addEventListener(tag, value, props); + break a; + } + key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value); + } + } + } + function setInitialProperties(domElement, tag, props) { + validatePropertiesInDevelopment(tag, props); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "img": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + var hasSrc = false, hasSrcSet = false, propKey; + for (propKey in props) + if (props.hasOwnProperty(propKey)) { + var propValue = props[propKey]; + if (null != propValue) + switch (propKey) { + case "src": + hasSrc = true; + break; + case "srcSet": + hasSrcSet = true; + break; + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, propKey, propValue, props, null); + } + } + hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null); + hasSrc && setProp(domElement, tag, "src", props.src, props, null); + return; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", domElement); + var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null; + for (hasSrc in props) + if (props.hasOwnProperty(hasSrc)) { + var _propValue = props[hasSrc]; + if (null != _propValue) + switch (hasSrc) { + case "name": + hasSrcSet = _propValue; + break; + case "type": + propValue = _propValue; + break; + case "checked": + checked = _propValue; + break; + case "defaultChecked": + defaultChecked = _propValue; + break; + case "value": + propKey = _propValue; + break; + case "defaultValue": + defaultValue = _propValue; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != _propValue) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp(domElement, tag, hasSrc, _propValue, props, null); + } + } + validateInputProps(domElement, props); + initInput( + domElement, + propKey, + defaultValue, + checked, + defaultChecked, + propValue, + hasSrcSet, + false + ); + track(domElement); + return; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", domElement); + hasSrc = propValue = propKey = null; + for (hasSrcSet in props) + if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue)) + switch (hasSrcSet) { + case "value": + propKey = defaultValue; + break; + case "defaultValue": + propValue = defaultValue; + break; + case "multiple": + hasSrc = defaultValue; + default: + setProp( + domElement, + tag, + hasSrcSet, + defaultValue, + props, + null + ); + } + validateSelectProps(domElement, props); + tag = propKey; + props = propValue; + domElement.multiple = !!hasSrc; + null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true); + return; + case "textarea": + checkControlledValueProps("textarea", props); + listenToNonDelegatedEvent("invalid", domElement); + propKey = hasSrcSet = hasSrc = null; + for (propValue in props) + if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue)) + switch (propValue) { + case "value": + hasSrc = defaultValue; + break; + case "defaultValue": + hasSrcSet = defaultValue; + break; + case "children": + propKey = defaultValue; + break; + case "dangerouslySetInnerHTML": + if (null != defaultValue) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + setProp( + domElement, + tag, + propValue, + defaultValue, + props, + null + ); + } + validateTextareaProps(domElement, props); + initTextarea(domElement, hasSrc, hasSrcSet, propKey); + track(domElement); + return; + case "option": + validateOptionProps(domElement, props); + for (checked in props) + if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc)) + switch (checked) { + case "selected": + domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc; + break; + default: + setProp(domElement, tag, checked, hasSrc, props, null); + } + return; + case "dialog": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + listenToNonDelegatedEvent("cancel", domElement); + listenToNonDelegatedEvent("close", domElement); + break; + case "iframe": + case "object": + listenToNonDelegatedEvent("load", domElement); + break; + case "video": + case "audio": + for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++) + listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement); + break; + case "image": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + break; + case "details": + listenToNonDelegatedEvent("toggle", domElement); + break; + case "embed": + case "source": + case "link": + listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement); + case "area": + case "base": + case "br": + case "col": + case "hr": + case "keygen": + case "meta": + case "param": + case "track": + case "wbr": + case "menuitem": + for (defaultChecked in props) + if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc)) + switch (defaultChecked) { + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, defaultChecked, hasSrc, props, null); + } + return; + default: + if (isCustomElement(tag)) { + for (_propValue in props) + props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement( + domElement, + tag, + _propValue, + hasSrc, + props, + void 0 + )); + return; + } + } + for (defaultValue in props) + props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null)); + } + function updateProperties(domElement, tag, lastProps, nextProps) { + validatePropertiesInDevelopment(tag, nextProps); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "input": + var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null; + for (propKey in lastProps) { + var lastProp = lastProps[propKey]; + if (lastProps.hasOwnProperty(propKey) && null != lastProp) + switch (propKey) { + case "checked": + break; + case "value": + break; + case "defaultValue": + lastDefaultValue = lastProp; + default: + nextProps.hasOwnProperty(propKey) || setProp( + domElement, + tag, + propKey, + null, + nextProps, + lastProp + ); + } + } + for (var _propKey8 in nextProps) { + var propKey = nextProps[_propKey8]; + lastProp = lastProps[_propKey8]; + if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp)) + switch (_propKey8) { + case "type": + type = propKey; + break; + case "name": + name = propKey; + break; + case "checked": + checked = propKey; + break; + case "defaultChecked": + defaultChecked = propKey; + break; + case "value": + value = propKey; + break; + case "defaultValue": + defaultValue = propKey; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != propKey) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + propKey !== lastProp && setProp( + domElement, + tag, + _propKey8, + propKey, + nextProps, + lastProp + ); + } + } + tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value; + nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value; + tag || !nextProps || didWarnUncontrolledToControlled || (console.error( + "A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnUncontrolledToControlled = true); + !tag || nextProps || didWarnControlledToUncontrolled || (console.error( + "A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnControlledToUncontrolled = true); + updateInput( + domElement, + value, + defaultValue, + lastDefaultValue, + checked, + defaultChecked, + type, + name + ); + return; + case "select": + propKey = value = defaultValue = _propKey8 = null; + for (type in lastProps) + if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue) + switch (type) { + case "value": + break; + case "multiple": + propKey = lastDefaultValue; + default: + nextProps.hasOwnProperty(type) || setProp( + domElement, + tag, + type, + null, + nextProps, + lastDefaultValue + ); + } + for (name in nextProps) + if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue)) + switch (name) { + case "value": + _propKey8 = type; + break; + case "defaultValue": + defaultValue = type; + break; + case "multiple": + value = type; + default: + type !== lastDefaultValue && setProp( + domElement, + tag, + name, + type, + nextProps, + lastDefaultValue + ); + } + nextProps = defaultValue; + tag = value; + lastProps = propKey; + null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false)); + return; + case "textarea": + propKey = _propKey8 = null; + for (defaultValue in lastProps) + if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue)) + switch (defaultValue) { + case "value": + break; + case "children": + break; + default: + setProp(domElement, tag, defaultValue, null, nextProps, name); + } + for (value in nextProps) + if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type)) + switch (value) { + case "value": + _propKey8 = name; + break; + case "defaultValue": + propKey = name; + break; + case "children": + break; + case "dangerouslySetInnerHTML": + if (null != name) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + name !== type && setProp(domElement, tag, value, name, nextProps, type); + } + updateTextarea(domElement, _propKey8, propKey); + return; + case "option": + for (var _propKey13 in lastProps) + if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13)) + switch (_propKey13) { + case "selected": + domElement.selected = false; + break; + default: + setProp( + domElement, + tag, + _propKey13, + null, + nextProps, + _propKey8 + ); + } + for (lastDefaultValue in nextProps) + if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (lastDefaultValue) { + case "selected": + domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8; + break; + default: + setProp( + domElement, + tag, + lastDefaultValue, + _propKey8, + nextProps, + propKey + ); + } + return; + case "img": + case "link": + case "area": + case "base": + case "br": + case "col": + case "embed": + case "hr": + case "keygen": + case "meta": + case "param": + case "source": + case "track": + case "wbr": + case "menuitem": + for (var _propKey15 in lastProps) + _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp( + domElement, + tag, + _propKey15, + null, + nextProps, + _propKey8 + ); + for (checked in nextProps) + if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (checked) { + case "children": + case "dangerouslySetInnerHTML": + if (null != _propKey8) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp( + domElement, + tag, + checked, + _propKey8, + nextProps, + propKey + ); + } + return; + default: + if (isCustomElement(tag)) { + for (var _propKey17 in lastProps) + _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement( + domElement, + tag, + _propKey17, + void 0, + nextProps, + _propKey8 + ); + for (defaultChecked in nextProps) + _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement( + domElement, + tag, + defaultChecked, + _propKey8, + nextProps, + propKey + ); + return; + } + } + for (var _propKey19 in lastProps) + _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8); + for (lastProp in nextProps) + _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey); + } + function getPropNameFromAttributeName(attrName) { + switch (attrName) { + case "class": + return "className"; + case "for": + return "htmlFor"; + default: + return attrName; + } + } + function getStylesObjectFromElement(domElement) { + var serverValueInObjectForm = {}; + domElement = domElement.style; + for (var i = 0; i < domElement.length; i++) { + var styleName = domElement[i]; + serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName); + } + return serverValueInObjectForm; + } + function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) { + if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0) + console.error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + else { + var clientValue; + var delimiter = clientValue = "", styleName; + for (styleName in value$jscomp$0) + if (value$jscomp$0.hasOwnProperty(styleName)) { + var value = value$jscomp$0[styleName]; + null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter = ";"); + } + clientValue = clientValue || null; + value$jscomp$0 = domElement.getAttribute("style"); + value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement))); + } + } + function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) { + switch (typeof value) { + case "function": + case "symbol": + return; + } + if (!value) return; + } else + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (value) return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + default: + if (isNaN(value)) return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value)) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function diffHydratedProperties(domElement, tag, props, hostContext) { + for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++) + switch (attributes[i].name.toLowerCase()) { + case "value": + break; + case "checked": + break; + case "selected": + break; + default: + extraAttributes.add(attributes[i].name); + } + if (isCustomElement(tag)) + for (var propKey in props) { + if (props.hasOwnProperty(propKey)) { + var value = props[propKey]; + if (null != value) { + if (registrationNameDependencies.hasOwnProperty(propKey)) + "function" !== typeof value && warnForInvalidEventListener(propKey, value); + else if (true !== props.suppressHydrationWarning) + switch (propKey) { + case "children": + "string" !== typeof value && "number" !== typeof value || warnForPropDifference( + "children", + domElement.textContent, + value, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + value = value ? value.__html : void 0; + null != value && (value = normalizeHTML(domElement, value), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + )); + continue; + case "style": + extraAttributes.delete(propKey); + diffHydratedStyles(domElement, value, serverDifferences); + continue; + case "offsetParent": + case "offsetTop": + case "offsetLeft": + case "offsetWidth": + case "offsetHeight": + case "isContentEditable": + case "outerText": + case "outerHTML": + extraAttributes.delete(propKey.toLowerCase()); + console.error( + "Assignment to read-only property will result in a no-op: `%s`", + propKey + ); + continue; + case "className": + extraAttributes.delete("class"); + attributes = getValueForAttributeOnCustomComponent( + domElement, + "class", + value + ); + warnForPropDifference( + "className", + attributes, + value, + serverDifferences + ); + continue; + default: + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent( + domElement, + propKey, + value + ), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + ); + } + } + } + } + else + for (value in props) + if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) { + if (registrationNameDependencies.hasOwnProperty(value)) + "function" !== typeof propKey && warnForInvalidEventListener(value, propKey); + else if (true !== props.suppressHydrationWarning) + switch (value) { + case "children": + "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference( + "children", + domElement.textContent, + propKey, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "value": + case "checked": + case "selected": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + propKey = propKey ? propKey.__html : void 0; + null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes })); + continue; + case "className": + hydrateAttribute( + domElement, + value, + "class", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "tabIndex": + hydrateAttribute( + domElement, + value, + "tabindex", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "style": + extraAttributes.delete(value); + diffHydratedStyles(domElement, propKey, serverDifferences); + continue; + case "multiple": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.multiple, + propKey, + serverDifferences + ); + continue; + case "muted": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.muted, + propKey, + serverDifferences + ); + continue; + case "autoFocus": + extraAttributes.delete("autofocus"); + warnForPropDifference( + value, + domElement.autofocus, + propKey, + serverDifferences + ); + continue; + case "data": + if ("object" !== tag) { + extraAttributes.delete(value); + attributes = domElement.getAttribute("data"); + warnForPropDifference( + value, + attributes, + propKey, + serverDifferences + ); + continue; + } + case "src": + case "href": + if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) { + "src" === value ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "action": + case "formAction": + attributes = domElement.getAttribute(value); + if ("function" === typeof propKey) { + extraAttributes.delete(value.toLowerCase()); + "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target")); + continue; + } else if (attributes === EXPECTED_FORM_ACTION_URL) { + extraAttributes.delete(value.toLowerCase()); + warnForPropDifference( + value, + "function", + propKey, + serverDifferences + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkHref": + hydrateSanitizedAttribute( + domElement, + value, + "xlink:href", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "contentEditable": + hydrateBooleanishAttribute( + domElement, + value, + "contenteditable", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "spellCheck": + hydrateBooleanishAttribute( + domElement, + value, + "spellcheck", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "draggable": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + hydrateBooleanishAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + hydrateBooleanAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "capture": + case "download": + a: { + i = domElement; + var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + break a; + default: + if (false === propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + break; + case "boolean": + if (true === propKey && "" === i) break a; + break; + default: + if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "cols": + case "rows": + case "size": + case "span": + a: { + i = domElement; + attributeName = attributes = value; + serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + case "boolean": + break a; + default: + if (isNaN(propKey) || 1 > propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "rowSpan": + hydrateNumericAttribute( + domElement, + value, + "rowspan", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "start": + hydrateNumericAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xHeight": + hydrateAttribute( + domElement, + value, + "x-height", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkActuate": + hydrateAttribute( + domElement, + value, + "xlink:actuate", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkArcrole": + hydrateAttribute( + domElement, + value, + "xlink:arcrole", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkRole": + hydrateAttribute( + domElement, + value, + "xlink:role", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkShow": + hydrateAttribute( + domElement, + value, + "xlink:show", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkTitle": + hydrateAttribute( + domElement, + value, + "xlink:title", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkType": + hydrateAttribute( + domElement, + value, + "xlink:type", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlBase": + hydrateAttribute( + domElement, + value, + "xml:base", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlLang": + hydrateAttribute( + domElement, + value, + "xml:lang", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlSpace": + hydrateAttribute( + domElement, + value, + "xml:space", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "inert": + "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + value + )); + hydrateBooleanAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + default: + if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) { + i = getAttributeAlias(value); + attributes = false; + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty( + attributeName + ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i)); + a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0)) + if (attributeName.hasAttribute(serverDifferences$jscomp$0)) + attributeName = attributeName.getAttribute( + serverDifferences$jscomp$0 + ), checkAttributeStringCoercion( + i, + serverDifferences$jscomp$0 + ), i = attributeName === "" + i ? i : attributeName; + else { + switch (typeof i) { + case "function": + case "symbol": + break a; + case "boolean": + if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName) + break a; + } + i = void 0 === i ? void 0 : null; + } + else i = void 0; + attributes || warnForPropDifference( + value, + i, + propKey, + serverDifferences + ); + } + } + } + 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences); + return 0 === Object.keys(serverDifferences).length ? null : serverDifferences; + } + function propNamesListJoin(list, combinator) { + switch (list.length) { + case 0: + return ""; + case 1: + return list[0]; + case 2: + return list[0] + " " + combinator + " " + list[1]; + default: + return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1]; + } + } + function getOwnerDocumentFromRootContainer(rootContainerElement) { + return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + } + function getOwnHostContext(namespaceURI) { + switch (namespaceURI) { + case SVG_NAMESPACE: + return HostContextNamespaceSvg; + case MATH_NAMESPACE: + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + } + function getChildHostContextProd(parentNamespace, type) { + if (parentNamespace === HostContextNamespaceNone) + switch (type) { + case "svg": + return HostContextNamespaceSvg; + case "math": + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace; + } + function shouldSetTextContent(type, props) { + return "textarea" === type || "noscript" === type || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html; + } + function shouldAttemptEagerTransition() { + var event = window.event; + if (event && "popstate" === event.type) { + if (event === currentPopstateTransitionEvent) return false; + currentPopstateTransitionEvent = event; + return true; + } + currentPopstateTransitionEvent = null; + return false; + } + function handleErrorInNextTick(error) { + setTimeout(function() { + throw error; + }); + } + function commitMount(domElement, type, newProps) { + switch (type) { + case "button": + case "input": + case "select": + case "textarea": + newProps.autoFocus && domElement.focus(); + break; + case "img": + newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet); + } + } + function commitUpdate(domElement, type, oldProps, newProps) { + updateProperties(domElement, type, oldProps, newProps); + domElement[internalPropsKey] = newProps; + } + function resetTextContent(domElement) { + setTextContent(domElement, ""); + } + function commitTextUpdate(textInstance, oldText, newText) { + textInstance.nodeValue = newText; + } + function isSingletonScope(type) { + return "head" === type; + } + function removeChild(parentInstance, child) { + parentInstance.removeChild(child); + } + function removeChildFromContainer(container, child) { + (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child); + } + function clearSuspenseBoundary(parentInstance, suspenseInstance) { + var node = suspenseInstance, possiblePreambleContribution = 0, depth = 0; + do { + var nextNode = node.nextSibling; + parentInstance.removeChild(node); + if (nextNode && 8 === nextNode.nodeType) + if (node = nextNode.data, node === SUSPENSE_END_DATA) { + if (0 < possiblePreambleContribution && 8 > possiblePreambleContribution) { + node = possiblePreambleContribution; + var ownerDocument = parentInstance.ownerDocument; + node & PREAMBLE_CONTRIBUTION_HTML && releaseSingletonInstance(ownerDocument.documentElement); + node & PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(ownerDocument.body); + if (node & PREAMBLE_CONTRIBUTION_HEAD) + for (node = ownerDocument.head, releaseSingletonInstance(node), ownerDocument = node.firstChild; ownerDocument; ) { + var nextNode$jscomp$0 = ownerDocument.nextSibling, nodeName = ownerDocument.nodeName; + ownerDocument[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === ownerDocument.rel.toLowerCase() || node.removeChild(ownerDocument); + ownerDocument = nextNode$jscomp$0; + } + } + if (0 === depth) { + parentInstance.removeChild(nextNode); + retryIfBlockedOn(suspenseInstance); + return; + } + depth--; + } else + node === SUSPENSE_START_DATA || node === SUSPENSE_PENDING_START_DATA || node === SUSPENSE_FALLBACK_START_DATA ? depth++ : possiblePreambleContribution = node.charCodeAt(0) - 48; + else possiblePreambleContribution = 0; + node = nextNode; + } while (node); + retryIfBlockedOn(suspenseInstance); + } + function hideInstance(instance) { + instance = instance.style; + "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none"; + } + function hideTextInstance(textInstance) { + textInstance.nodeValue = ""; + } + function unhideInstance(instance, props) { + props = props[STYLE]; + props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null; + instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim(); + } + function unhideTextInstance(textInstance, text) { + textInstance.nodeValue = text; + } + function clearContainerSparingly(container) { + var nextNode = container.firstChild; + nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling); + for (; nextNode; ) { + var node = nextNode; + nextNode = nextNode.nextSibling; + switch (node.nodeName) { + case "HTML": + case "HEAD": + case "BODY": + clearContainerSparingly(node); + detachDeletedInstance(node); + continue; + case "SCRIPT": + case "STYLE": + continue; + case "LINK": + if ("stylesheet" === node.rel.toLowerCase()) continue; + } + container.removeChild(node); + } + } + function canHydrateInstance(instance, type, props, inRootOrSingleton) { + for (; 1 === instance.nodeType; ) { + var anyProps = props; + if (instance.nodeName.toLowerCase() !== type.toLowerCase()) { + if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type)) + break; + } else if (!inRootOrSingleton) + if ("input" === type && "hidden" === instance.type) { + checkAttributeStringCoercion(anyProps.name, "name"); + var name = null == anyProps.name ? null : "" + anyProps.name; + if ("hidden" === anyProps.type && instance.getAttribute("name") === name) + return instance; + } else return instance; + else if (!instance[internalHoistableMarker]) + switch (type) { + case "meta": + if (!instance.hasAttribute("itemprop")) break; + return instance; + case "link": + name = instance.getAttribute("rel"); + if ("stylesheet" === name && instance.hasAttribute("data-precedence")) + break; + else if (name !== anyProps.rel || instance.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title)) + break; + return instance; + case "style": + if (instance.hasAttribute("data-precedence")) break; + return instance; + case "script": + name = instance.getAttribute("src"); + if ((name !== (null == anyProps.src ? null : anyProps.src) || instance.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance.hasAttribute("async") && !instance.hasAttribute("itemprop")) + break; + return instance; + default: + return instance; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) break; + } + return null; + } + function canHydrateTextInstance(instance, text, inRootOrSingleton) { + if ("" === text) return null; + for (; 3 !== instance.nodeType; ) { + if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton) + return null; + instance = getNextHydratable(instance.nextSibling); + if (null === instance) return null; + } + return instance; + } + function isSuspenseInstanceFallback(instance) { + return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE; + } + function registerSuspenseInstanceRetry(instance, callback) { + var ownerDocument = instance.ownerDocument; + if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE) + callback(); + else { + var listener = function() { + callback(); + ownerDocument.removeEventListener("DOMContentLoaded", listener); + }; + ownerDocument.addEventListener("DOMContentLoaded", listener); + instance._reactRetry = listener; + } + } + function getNextHydratable(node) { + for (; null != node; node = node.nextSibling) { + var nodeType = node.nodeType; + if (1 === nodeType || 3 === nodeType) break; + if (8 === nodeType) { + nodeType = node.data; + if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING) + break; + if (nodeType === SUSPENSE_END_DATA) return null; + } + } + return node; + } + function describeHydratableInstanceForDevWarnings(instance) { + if (1 === instance.nodeType) { + for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) { + var attr = attributes[i]; + serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value; + } + return { type: JSCompiler_temp_const, props: serverDifferences }; + } + return 8 === instance.nodeType ? { type: "Suspense", props: {} } : instance.nodeValue; + } + function diffHydratedTextForDevWarnings(textInstance, text, parentProps) { + return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null; + } + function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { + suspenseInstance = suspenseInstance.nextSibling; + for (var depth = 0; suspenseInstance; ) { + if (8 === suspenseInstance.nodeType) { + var data = suspenseInstance.data; + if (data === SUSPENSE_END_DATA) { + if (0 === depth) + return getNextHydratable(suspenseInstance.nextSibling); + depth--; + } else + data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA || depth++; + } + suspenseInstance = suspenseInstance.nextSibling; + } + return null; + } + function getParentSuspenseInstance(targetInstance) { + targetInstance = targetInstance.previousSibling; + for (var depth = 0; targetInstance; ) { + if (8 === targetInstance.nodeType) { + var data = targetInstance.data; + if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { + if (0 === depth) return targetInstance; + depth--; + } else data === SUSPENSE_END_DATA && depth++; + } + targetInstance = targetInstance.previousSibling; + } + return null; + } + function commitHydratedContainer(container) { + retryIfBlockedOn(container); + } + function commitHydratedSuspenseInstance(suspenseInstance) { + retryIfBlockedOn(suspenseInstance); + } + function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) { + validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo); + props = getOwnerDocumentFromRootContainer(rootContainerInstance); + switch (type) { + case "html": + type = props.documentElement; + if (!type) + throw Error( + "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "head": + type = props.head; + if (!type) + throw Error( + "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "body": + type = props.body; + if (!type) + throw Error( + "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + default: + throw Error( + "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + } + function acquireSingletonInstance(type, props, instance, internalInstanceHandle) { + if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) { + var tagName = instance.tagName.toLowerCase(); + console.error( + "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.", + tagName, + tagName, + tagName + ); + } + switch (type) { + case "html": + case "head": + case "body": + break; + default: + console.error( + "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + for (tagName = instance.attributes; tagName.length; ) + instance.removeAttributeNode(tagName[0]); + setInitialProperties(instance, type, props); + instance[internalInstanceKey] = internalInstanceHandle; + instance[internalPropsKey] = props; + } + function releaseSingletonInstance(instance) { + for (var attributes = instance.attributes; attributes.length; ) + instance.removeAttributeNode(attributes[0]); + detachDeletedInstance(instance); + } + function getHoistableRoot(container) { + return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument; + } + function preconnectAs(rel, href, crossOrigin) { + var ownerDocument = globalDocument; + if (ownerDocument && "string" === typeof href && href) { + var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href); + limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]'; + "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]'); + preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href))); + } + } + function getResource(type, currentProps, pendingProps, currentResource) { + var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null; + if (!resourceRoot) + throw Error( + '"resourceRoot" was expected to exist. This is a bug in React.' + ); + switch (type) { + case "meta": + case "title": + return null; + case "style": + return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "style", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + case "link": + if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) { + type = getStyleKey(pendingProps.href); + var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type); + if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = { + type: "stylesheet", + instance: null, + count: 0, + state: { loading: NotLoaded, preload: null } + }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector( + getStylesheetSelectorFromKey(type) + )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type))) { + var preloadProps = { + rel: "preload", + as: "style", + href: pendingProps.href, + crossOrigin: pendingProps.crossOrigin, + integrity: pendingProps.integrity, + media: pendingProps.media, + hrefLang: pendingProps.hrefLang, + referrerPolicy: pendingProps.referrerPolicy + }; + preloadPropsMap.set(type, preloadProps); + _styles || preloadStylesheet( + resourceRoot, + type, + preloadProps, + _resource.state + ); + } + if (currentProps && null === currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return _resource; + } + if (currentProps && null !== currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return null; + case "script": + return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "script", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + default: + throw Error( + 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.' + ); + } + } + function describeLinkForResourceErrorDEV(props) { + var describedProps = 0, description = "<link"; + "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"'); + "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"'); + "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}"); + Object.getOwnPropertyNames(props).length > describedProps && (description += " ..."); + return description + " />"; + } + function getStyleKey(href) { + return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"'; + } + function getStylesheetSelectorFromKey(key) { + return 'link[rel="stylesheet"][' + key + "]"; + } + function stylesheetPropsFromRawProps(rawProps) { + return assign({}, rawProps, { + "data-precedence": rawProps.precedence, + precedence: null + }); + } + function preloadStylesheet(ownerDocument, key, preloadProps, state) { + ownerDocument.querySelector( + 'link[rel="preload"][as="style"][' + key + "]" + ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() { + return state.loading |= Loaded; + }), key.addEventListener("error", function() { + return state.loading |= Errored; + }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key)); + } + function getScriptKey(src) { + return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]'; + } + function getScriptSelectorFromKey(key) { + return "script[async]" + key; + } + function acquireResource(hoistableRoot, resource, props) { + resource.count++; + if (null === resource.instance) + switch (resource.type) { + case "style": + var instance = hoistableRoot.querySelector( + 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]' + ); + if (instance) + return resource.instance = instance, markNodeAsHoistable(instance), instance; + var styleProps = assign({}, props, { + "data-href": props.href, + "data-precedence": props.precedence, + href: null, + precedence: null + }); + instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style"); + markNodeAsHoistable(instance); + setInitialProperties(instance, "style", styleProps); + insertStylesheet(instance, props.precedence, hoistableRoot); + return resource.instance = instance; + case "stylesheet": + styleProps = getStyleKey(props.href); + var _instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(styleProps) + ); + if (_instance) + return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance; + instance = stylesheetPropsFromRawProps(props); + (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps); + _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link"); + markNodeAsHoistable(_instance); + var linkInstance = _instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(_instance, "link", instance); + resource.state.loading |= Inserted; + insertStylesheet(_instance, props.precedence, hoistableRoot); + return resource.instance = _instance; + case "script": + _instance = getScriptKey(props.src); + if (styleProps = hoistableRoot.querySelector( + getScriptSelectorFromKey(_instance) + )) + return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps; + instance = props; + if (styleProps = preloadPropsMap.get(_instance)) + instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps); + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + styleProps = hoistableRoot.createElement("script"); + markNodeAsHoistable(styleProps); + setInitialProperties(styleProps, "link", instance); + hoistableRoot.head.appendChild(styleProps); + return resource.instance = styleProps; + case "void": + return null; + default: + throw Error( + 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.' + ); + } + else + "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot)); + return resource.instance; + } + function insertStylesheet(instance, precedence, root2) { + for (var nodes = root2.querySelectorAll( + 'link[rel="stylesheet"][data-precedence],style[data-precedence]' + ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (node.dataset.precedence === precedence) prior = node; + else if (prior !== last) break; + } + prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild)); + } + function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) { + null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin); + null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy); + null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title); + } + function adoptPreloadPropsForScript(scriptProps, preloadProps) { + null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin); + null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy); + null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity); + } + function getHydratableHoistableCache(type, keyAttribute, ownerDocument) { + if (null === tagCaches) { + var cache = /* @__PURE__ */ new Map(); + var caches = tagCaches = /* @__PURE__ */ new Map(); + caches.set(ownerDocument, cache); + } else + caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache)); + if (cache.has(type)) return cache; + cache.set(type, null); + ownerDocument = ownerDocument.getElementsByTagName(type); + for (caches = 0; caches < ownerDocument.length; caches++) { + var node = ownerDocument[caches]; + if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) { + var nodeKey = node.getAttribute(keyAttribute) || ""; + nodeKey = type + nodeKey; + var existing = cache.get(nodeKey); + existing ? existing.push(node) : cache.set(nodeKey, [node]); + } + } + return cache; + } + function mountHoistable(hoistableRoot, type, instance) { + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + hoistableRoot.head.insertBefore( + instance, + "title" === type ? hoistableRoot.querySelector("head > title") : null + ); + } + function isHostHoistableType(type, props, hostContext) { + var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope; + if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp) + return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error( + "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.", + type, + type + ), false; + switch (type) { + case "meta": + case "title": + return true; + case "style": + if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) { + outsideHostContainerContext && console.error( + 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.' + ); + break; + } + return true; + case "link": + if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) { + if ("stylesheet" === props.rel && "string" === typeof props.precedence) { + type = props.href; + var onError = props.onError, disabled = props.disabled; + hostContext = []; + props.onLoad && hostContext.push("`onLoad`"); + onError && hostContext.push("`onError`"); + null != disabled && hostContext.push("`disabled`"); + onError = propNamesListJoin(hostContext, "and"); + onError += 1 === hostContext.length ? " prop" : " props"; + disabled = 1 === hostContext.length ? "an " + onError : "the " + onError; + hostContext.length && console.error( + 'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.', + type, + disabled, + onError + ); + } + outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error( + "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag" + ) : (props.onError || props.onLoad) && console.error( + "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + )); + break; + } + switch (props.rel) { + case "stylesheet": + return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error( + 'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.' + ), "string" === typeof type && null == props; + default: + return true; + } + case "script": + type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async; + if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) { + outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error( + "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + ) : console.error( + "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>." + ) : console.error( + 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.' + )); + break; + } + return true; + case "noscript": + case "template": + outsideHostContainerContext && console.error( + "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.", + type + ); + } + return false; + } + function preloadResource(resource) { + return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true; + } + function noop() { + } + function suspendResource(hoistableRoot, resource, props) { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) { + if (null === resource.instance) { + var key = getStyleKey(props.href), instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(key) + ); + if (instance) { + hoistableRoot = instance._p; + null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state)); + resource.state.loading |= Inserted; + resource.instance = instance; + markNodeAsHoistable(instance); + return; + } + instance = hoistableRoot.ownerDocument || hoistableRoot; + props = stylesheetPropsFromRawProps(props); + (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key); + instance = instance.createElement("link"); + markNodeAsHoistable(instance); + var linkInstance = instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(instance, "link", props); + resource.instance = instance; + } + null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map()); + state.stylesheets.set(resource, hoistableRoot); + (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource)); + } + } + function waitForCommitToBeReady() { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets); + return 0 < state.count ? function(commit) { + var stylesheetTimer = setTimeout(function() { + state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets); + if (state.unsuspend) { + var unsuspend = state.unsuspend; + state.unsuspend = null; + unsuspend(); + } + }, 6e4); + state.unsuspend = commit; + return function() { + state.unsuspend = null; + clearTimeout(stylesheetTimer); + }; + } : null; + } + function onUnsuspend() { + this.count--; + if (0 === this.count) { + if (this.stylesheets) + insertSuspendedStylesheets(this, this.stylesheets); + else if (this.unsuspend) { + var unsuspend = this.unsuspend; + this.unsuspend = null; + unsuspend(); + } + } + } + function insertSuspendedStylesheets(state, resources) { + state.stylesheets = null; + null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state)); + } + function insertStylesheetIntoRoot(root2, resource) { + if (!(resource.state.loading & Inserted)) { + var precedences = precedencesByRoot.get(root2); + if (precedences) var last = precedences.get(LAST_PRECEDENCE); + else { + precedences = /* @__PURE__ */ new Map(); + precedencesByRoot.set(root2, precedences); + for (var nodes = root2.querySelectorAll( + "link[data-precedence],style[data-precedence]" + ), i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media")) + precedences.set(node.dataset.precedence, node), last = node; + } + last && precedences.set(LAST_PRECEDENCE, last); + } + nodes = resource.instance; + node = nodes.getAttribute("data-precedence"); + i = precedences.get(node) || last; + i === last && precedences.set(LAST_PRECEDENCE, nodes); + precedences.set(node, nodes); + this.count++; + last = onUnsuspend.bind(this); + nodes.addEventListener("load", last); + nodes.addEventListener("error", last); + i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild)); + resource.state.loading |= Inserted; + } + } + function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, formState) { + this.tag = 1; + this.containerInfo = containerInfo; + this.pingCache = this.current = this.pendingChildren = null; + this.timeoutHandle = noTimeout; + this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null; + this.callbackPriority = 0; + this.expirationTimes = createLaneMap(-1); + this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0; + this.entanglements = createLaneMap(0); + this.hiddenUpdates = createLaneMap(null); + this.identifierPrefix = identifierPrefix; + this.onUncaughtError = onUncaughtError; + this.onCaughtError = onCaughtError; + this.onRecoverableError = onRecoverableError; + this.pooledCache = null; + this.pooledCacheLanes = 0; + this.formState = formState; + this.incompleteTransitions = /* @__PURE__ */ new Map(); + this.passiveEffectDuration = this.effectDuration = -0; + this.memoizedUpdaters = /* @__PURE__ */ new Set(); + containerInfo = this.pendingUpdatersLaneMap = []; + for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set()); + this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()"; + } + function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) { + containerInfo = new FiberRootNode( + containerInfo, + tag, + hydrate, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + formState + ); + tag = ConcurrentMode; + true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode); + isDevToolsPresent && (tag |= ProfileMode); + isStrictMode = createFiber(3, null, null, tag); + containerInfo.current = isStrictMode; + isStrictMode.stateNode = containerInfo; + tag = createCache(); + retainCache(tag); + containerInfo.pooledCache = tag; + retainCache(tag); + isStrictMode.memoizedState = { + element: initialChildren, + isDehydrated: hydrate, + cache: tag + }; + initializeUpdateQueue(isStrictMode); + return containerInfo; + } + function getContextForSubtree(parentComponent) { + if (!parentComponent) return emptyContextObject; + parentComponent = emptyContextObject; + return parentComponent; + } + function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) { + if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot) + try { + injectedHook.onScheduleFiberRoot(rendererID, container, element); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderScheduled && injectedProfilingHooks.markRenderScheduled(lane); + parentComponent = getContextForSubtree(parentComponent); + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error( + "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.", + getComponentNameFromFiber(current) || "Unknown" + )); + container = createUpdate(lane); + container.payload = { element }; + callback = void 0 === callback ? null : callback; + null !== callback && ("function" !== typeof callback && console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + ), container.callback = callback); + element = enqueueUpdate(rootFiber, container, lane); + null !== element && (scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane)); + } + function markRetryLaneImpl(fiber, retryLane) { + fiber = fiber.memoizedState; + if (null !== fiber && null !== fiber.dehydrated) { + var a = fiber.retryLane; + fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane; + } + } + function markRetryLaneIfNotHydrated(fiber, retryLane) { + markRetryLaneImpl(fiber, retryLane); + (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane); + } + function attemptContinuousHydration(fiber) { + if (13 === fiber.tag) { + var root2 = enqueueConcurrentRenderForLane(fiber, 67108864); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864); + markRetryLaneIfNotHydrated(fiber, 67108864); + } + } + function getCurrentFiberForDevTools() { + return current; + } + function getLaneLabelMap() { + for (var map = /* @__PURE__ */ new Map(), lane = 1, index = 0; 31 > index; index++) { + var label = getLabelForLane(lane); + map.set(lane, label); + lane *= 2; + } + return map; + } + function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (_enabled) { + var blockedOn = findInstanceBlockingEvent(nativeEvent); + if (null === blockedOn) + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ), clearIfContinuousEvent(domEventName, nativeEvent); + else if (queueIfContinuousEvent( + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + )) + nativeEvent.stopPropagation(); + else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) { + for (; null !== blockedOn; ) { + var fiber = getInstanceFromNode(blockedOn); + if (null !== fiber) + switch (fiber.tag) { + case 3: + fiber = fiber.stateNode; + if (fiber.current.memoizedState.isDehydrated) { + var lanes = getHighestPriorityLanes(fiber.pendingLanes); + if (0 !== lanes) { + var root2 = fiber; + root2.pendingLanes |= 2; + for (root2.entangledLanes |= 2; lanes; ) { + var lane = 1 << 31 - clz32(lanes); + root2.entanglements[1] |= lane; + lanes &= ~lane; + } + ensureRootIsScheduled(fiber); + (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false)); + } + } + break; + case 13: + root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2); + } + fiber = findInstanceBlockingEvent(nativeEvent); + null === fiber && dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ); + if (fiber === blockedOn) break; + blockedOn = fiber; + } + null !== blockedOn && nativeEvent.stopPropagation(); + } else + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + null, + targetContainer + ); + } + } + function findInstanceBlockingEvent(nativeEvent) { + nativeEvent = getEventTarget(nativeEvent); + return findInstanceBlockingTarget(nativeEvent); + } + function findInstanceBlockingTarget(targetNode) { + return_targetInst = null; + targetNode = getClosestInstanceFromNode(targetNode); + if (null !== targetNode) { + var nearestMounted = getNearestMountedFiber(targetNode); + if (null === nearestMounted) targetNode = null; + else { + var tag = nearestMounted.tag; + if (13 === tag) { + targetNode = getSuspenseInstanceFromFiber(nearestMounted); + if (null !== targetNode) return targetNode; + targetNode = null; + } else if (3 === tag) { + if (nearestMounted.stateNode.current.memoizedState.isDehydrated) + return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + targetNode = null; + } else nearestMounted !== targetNode && (targetNode = null); + } + } + return_targetInst = targetNode; + return null; + } + function getEventPriority(domEventName) { + switch (domEventName) { + case "beforetoggle": + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "toggle": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return DiscreteEventPriority; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return ContinuousEventPriority; + case "message": + switch (getCurrentPriorityLevel()) { + case ImmediatePriority: + return DiscreteEventPriority; + case UserBlockingPriority: + return ContinuousEventPriority; + case NormalPriority$1: + case LowPriority: + return DefaultEventPriority; + case IdlePriority: + return IdleEventPriority; + default: + return DefaultEventPriority; + } + default: + return DefaultEventPriority; + } + } + function clearIfContinuousEvent(domEventName, nativeEvent) { + switch (domEventName) { + case "focusin": + case "focusout": + queuedFocus = null; + break; + case "dragenter": + case "dragleave": + queuedDrag = null; + break; + case "mouseover": + case "mouseout": + queuedMouse = null; + break; + case "pointerover": + case "pointerout": + queuedPointers.delete(nativeEvent.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + queuedPointerCaptures.delete(nativeEvent.pointerId); + } + } + function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent) + return existingQueuedEvent = { + blockedOn, + domEventName, + eventSystemFlags, + nativeEvent, + targetContainers: [targetContainer] + }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent; + existingQueuedEvent.eventSystemFlags |= eventSystemFlags; + blockedOn = existingQueuedEvent.targetContainers; + null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer); + return existingQueuedEvent; + } + function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + switch (domEventName) { + case "focusin": + return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedFocus, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "dragenter": + return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedDrag, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "mouseover": + return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedMouse, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "pointerover": + var pointerId = nativeEvent.pointerId; + queuedPointers.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointers.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ); + return true; + case "gotpointercapture": + return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointerCaptures.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ), true; + } + return false; + } + function attemptExplicitHydrationTarget(queuedTarget) { + var targetInst = getClosestInstanceFromNode(queuedTarget.target); + if (null !== targetInst) { + var nearestMounted = getNearestMountedFiber(targetInst); + if (null !== nearestMounted) { + if (targetInst = nearestMounted.tag, 13 === targetInst) { + if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) { + queuedTarget.blockedOn = targetInst; + runWithPriority(queuedTarget.priority, function() { + if (13 === nearestMounted.tag) { + var lane = requestUpdateLane(nearestMounted); + lane = getBumpedLaneForHydrationByLane(lane); + var root2 = enqueueConcurrentRenderForLane( + nearestMounted, + lane + ); + null !== root2 && scheduleUpdateOnFiber(root2, nearestMounted, lane); + markRetryLaneIfNotHydrated(nearestMounted, lane); + } + }); + return; + } + } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) { + queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + return; + } + } + } + queuedTarget.blockedOn = null; + } + function attemptReplayContinuousQueuedEvent(queuedEvent) { + if (null !== queuedEvent.blockedOn) return false; + for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) { + var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent); + if (null === nextBlockedOn) { + nextBlockedOn = queuedEvent.nativeEvent; + var nativeEventClone = new nextBlockedOn.constructor( + nextBlockedOn.type, + nextBlockedOn + ), event = nativeEventClone; + null !== currentReplayingEvent && console.error( + "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = event; + nextBlockedOn.target.dispatchEvent(nativeEventClone); + null === currentReplayingEvent && console.error( + "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = null; + } else + return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false; + targetContainers.shift(); + } + return true; + } + function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { + attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key); + } + function replayUnblockedEvents() { + hasScheduledReplayAttempt = false; + null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null); + null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null); + null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null); + queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); + queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); + } + function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { + queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + replayUnblockedEvents + ))); + } + function scheduleReplayQueueIfNeeded(formReplayingQueue) { + lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + function() { + lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null); + for (var i = 0; i < formReplayingQueue.length; i += 3) { + var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2]; + if ("function" !== typeof submitterOrAction) + if (null === findInstanceBlockingTarget(submitterOrAction || form)) + continue; + else break; + var formInst = getInstanceFromNode(form); + null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = { + pending: true, + data: formData, + method: form.method, + action: submitterOrAction + }, Object.freeze(form), startHostTransition( + formInst, + form, + submitterOrAction, + formData + )); + } + } + )); + } + function retryIfBlockedOn(unblocked) { + function unblock(queuedEvent) { + return scheduleCallbackIfUnblocked(queuedEvent, unblocked); + } + null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked); + null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked); + null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked); + queuedPointers.forEach(unblock); + queuedPointerCaptures.forEach(unblock); + for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) { + var queuedTarget = queuedExplicitHydrationTargets[i]; + queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null); + } + for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); ) + attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift(); + i = (unblocked.ownerDocument || unblocked).$$reactFormReplay; + if (null != i) + for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) { + var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null; + if ("function" === typeof submitterOrAction) + formProps || scheduleReplayQueueIfNeeded(i); + else if (formProps) { + var action = null; + if (submitterOrAction && submitterOrAction.hasAttribute("formAction")) + if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null) + action = formProps.formAction; + else { + if (null !== findInstanceBlockingTarget(form)) continue; + } + else action = formProps.action; + "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3); + scheduleReplayQueueIfNeeded(i); + } + } + } + function ReactDOMRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function ReactDOMHydrationRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function warnIfReactDOMContainerInDEV(container) { + container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error( + "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported." + ) : console.error( + "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it." + )); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var Scheduler = require_scheduler(), React = require_react(), ReactDOM = require_react_dom(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_PROVIDER_TYPE = Symbol.for("react.provider"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"); + Symbol.for("react.scope"); + var REACT_ACTIVITY_TYPE = Symbol.for("react.activity"); + Symbol.for("react.legacy_hidden"); + Symbol.for("react.tracing_marker"); + var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); + Symbol.for("react.view_transition"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({ + pending: false, + data: null, + method: null, + action: null + }), valueStack = []; + var fiberStack = []; + var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, injectedProfilingHooks = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionLane = 256, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = { + button: true, + checkbox: true, + image: true, + hidden: true, + radio: true, + reset: true, + submit: true + }, VALID_ATTRIBUTE_NAME_REGEX = RegExp( + "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd; + disabledLog.__reactDisabledLog = true; + var prefix, suffix, reentry = false; + var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)(); + var current = null, isRendering = false, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false; + var didWarnValueDefaultValue = false; + var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp".split( + " " + ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split( + " " + ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = { + current: null, + formTag: null, + aTagInScope: null, + buttonTagInScope: null, + nobrTagInScope: null, + pTagInButtonScope: null, + listItemTagAutoclosing: null, + dlItemTagAutoclosing: null, + containerTagInScope: null, + implicitRootScope: false + }, didWarn = {}, shorthandToLonghand = { + animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split( + " " + ), + background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split( + " " + ), + backgroundPosition: ["backgroundPositionX", "backgroundPositionY"], + border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split( + " " + ), + borderBlockEnd: [ + "borderBlockEndColor", + "borderBlockEndStyle", + "borderBlockEndWidth" + ], + borderBlockStart: [ + "borderBlockStartColor", + "borderBlockStartStyle", + "borderBlockStartWidth" + ], + borderBottom: [ + "borderBottomColor", + "borderBottomStyle", + "borderBottomWidth" + ], + borderColor: [ + "borderBottomColor", + "borderLeftColor", + "borderRightColor", + "borderTopColor" + ], + borderImage: [ + "borderImageOutset", + "borderImageRepeat", + "borderImageSlice", + "borderImageSource", + "borderImageWidth" + ], + borderInlineEnd: [ + "borderInlineEndColor", + "borderInlineEndStyle", + "borderInlineEndWidth" + ], + borderInlineStart: [ + "borderInlineStartColor", + "borderInlineStartStyle", + "borderInlineStartWidth" + ], + borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"], + borderRadius: [ + "borderBottomLeftRadius", + "borderBottomRightRadius", + "borderTopLeftRadius", + "borderTopRightRadius" + ], + borderRight: [ + "borderRightColor", + "borderRightStyle", + "borderRightWidth" + ], + borderStyle: [ + "borderBottomStyle", + "borderLeftStyle", + "borderRightStyle", + "borderTopStyle" + ], + borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"], + borderWidth: [ + "borderBottomWidth", + "borderLeftWidth", + "borderRightWidth", + "borderTopWidth" + ], + columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"], + columns: ["columnCount", "columnWidth"], + flex: ["flexBasis", "flexGrow", "flexShrink"], + flexFlow: ["flexDirection", "flexWrap"], + font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split( + " " + ), + fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split( + " " + ), + gap: ["columnGap", "rowGap"], + grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split( + " " + ), + gridArea: [ + "gridColumnEnd", + "gridColumnStart", + "gridRowEnd", + "gridRowStart" + ], + gridColumn: ["gridColumnEnd", "gridColumnStart"], + gridColumnGap: ["columnGap"], + gridGap: ["columnGap", "rowGap"], + gridRow: ["gridRowEnd", "gridRowStart"], + gridRowGap: ["rowGap"], + gridTemplate: [ + "gridTemplateAreas", + "gridTemplateColumns", + "gridTemplateRows" + ], + listStyle: ["listStyleImage", "listStylePosition", "listStyleType"], + margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"], + marker: ["markerEnd", "markerMid", "markerStart"], + mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split( + " " + ), + maskPosition: ["maskPositionX", "maskPositionY"], + outline: ["outlineColor", "outlineStyle", "outlineWidth"], + overflow: ["overflowX", "overflowY"], + padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"], + placeContent: ["alignContent", "justifyContent"], + placeItems: ["alignItems", "justifyItems"], + placeSelf: ["alignSelf", "justifySelf"], + textDecoration: [ + "textDecorationColor", + "textDecorationLine", + "textDecorationStyle" + ], + textEmphasis: ["textEmphasisColor", "textEmphasisStyle"], + transition: [ + "transitionDelay", + "transitionDuration", + "transitionProperty", + "transitionTimingFunction" + ], + wordWrap: ["overflowWrap"] + }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set( + "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( + " " + ) + ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([ + ["acceptCharset", "accept-charset"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"], + ["crossOrigin", "crossorigin"], + ["accentHeight", "accent-height"], + ["alignmentBaseline", "alignment-baseline"], + ["arabicForm", "arabic-form"], + ["baselineShift", "baseline-shift"], + ["capHeight", "cap-height"], + ["clipPath", "clip-path"], + ["clipRule", "clip-rule"], + ["colorInterpolation", "color-interpolation"], + ["colorInterpolationFilters", "color-interpolation-filters"], + ["colorProfile", "color-profile"], + ["colorRendering", "color-rendering"], + ["dominantBaseline", "dominant-baseline"], + ["enableBackground", "enable-background"], + ["fillOpacity", "fill-opacity"], + ["fillRule", "fill-rule"], + ["floodColor", "flood-color"], + ["floodOpacity", "flood-opacity"], + ["fontFamily", "font-family"], + ["fontSize", "font-size"], + ["fontSizeAdjust", "font-size-adjust"], + ["fontStretch", "font-stretch"], + ["fontStyle", "font-style"], + ["fontVariant", "font-variant"], + ["fontWeight", "font-weight"], + ["glyphName", "glyph-name"], + ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], + ["glyphOrientationVertical", "glyph-orientation-vertical"], + ["horizAdvX", "horiz-adv-x"], + ["horizOriginX", "horiz-origin-x"], + ["imageRendering", "image-rendering"], + ["letterSpacing", "letter-spacing"], + ["lightingColor", "lighting-color"], + ["markerEnd", "marker-end"], + ["markerMid", "marker-mid"], + ["markerStart", "marker-start"], + ["overlinePosition", "overline-position"], + ["overlineThickness", "overline-thickness"], + ["paintOrder", "paint-order"], + ["panose-1", "panose-1"], + ["pointerEvents", "pointer-events"], + ["renderingIntent", "rendering-intent"], + ["shapeRendering", "shape-rendering"], + ["stopColor", "stop-color"], + ["stopOpacity", "stop-opacity"], + ["strikethroughPosition", "strikethrough-position"], + ["strikethroughThickness", "strikethrough-thickness"], + ["strokeDasharray", "stroke-dasharray"], + ["strokeDashoffset", "stroke-dashoffset"], + ["strokeLinecap", "stroke-linecap"], + ["strokeLinejoin", "stroke-linejoin"], + ["strokeMiterlimit", "stroke-miterlimit"], + ["strokeOpacity", "stroke-opacity"], + ["strokeWidth", "stroke-width"], + ["textAnchor", "text-anchor"], + ["textDecoration", "text-decoration"], + ["textRendering", "text-rendering"], + ["transformOrigin", "transform-origin"], + ["underlinePosition", "underline-position"], + ["underlineThickness", "underline-thickness"], + ["unicodeBidi", "unicode-bidi"], + ["unicodeRange", "unicode-range"], + ["unitsPerEm", "units-per-em"], + ["vAlphabetic", "v-alphabetic"], + ["vHanging", "v-hanging"], + ["vIdeographic", "v-ideographic"], + ["vMathematical", "v-mathematical"], + ["vectorEffect", "vector-effect"], + ["vertAdvY", "vert-adv-y"], + ["vertOriginX", "vert-origin-x"], + ["vertOriginY", "vert-origin-y"], + ["wordSpacing", "word-spacing"], + ["writingMode", "writing-mode"], + ["xmlnsXlink", "xmlns:xlink"], + ["xHeight", "x-height"] + ]), possibleStandardNames = { + accept: "accept", + acceptcharset: "acceptCharset", + "accept-charset": "acceptCharset", + accesskey: "accessKey", + action: "action", + allowfullscreen: "allowFullScreen", + alt: "alt", + as: "as", + async: "async", + autocapitalize: "autoCapitalize", + autocomplete: "autoComplete", + autocorrect: "autoCorrect", + autofocus: "autoFocus", + autoplay: "autoPlay", + autosave: "autoSave", + capture: "capture", + cellpadding: "cellPadding", + cellspacing: "cellSpacing", + challenge: "challenge", + charset: "charSet", + checked: "checked", + children: "children", + cite: "cite", + class: "className", + classid: "classID", + classname: "className", + cols: "cols", + colspan: "colSpan", + content: "content", + contenteditable: "contentEditable", + contextmenu: "contextMenu", + controls: "controls", + controlslist: "controlsList", + coords: "coords", + crossorigin: "crossOrigin", + dangerouslysetinnerhtml: "dangerouslySetInnerHTML", + data: "data", + datetime: "dateTime", + default: "default", + defaultchecked: "defaultChecked", + defaultvalue: "defaultValue", + defer: "defer", + dir: "dir", + disabled: "disabled", + disablepictureinpicture: "disablePictureInPicture", + disableremoteplayback: "disableRemotePlayback", + download: "download", + draggable: "draggable", + enctype: "encType", + enterkeyhint: "enterKeyHint", + fetchpriority: "fetchPriority", + for: "htmlFor", + form: "form", + formmethod: "formMethod", + formaction: "formAction", + formenctype: "formEncType", + formnovalidate: "formNoValidate", + formtarget: "formTarget", + frameborder: "frameBorder", + headers: "headers", + height: "height", + hidden: "hidden", + high: "high", + href: "href", + hreflang: "hrefLang", + htmlfor: "htmlFor", + httpequiv: "httpEquiv", + "http-equiv": "httpEquiv", + icon: "icon", + id: "id", + imagesizes: "imageSizes", + imagesrcset: "imageSrcSet", + inert: "inert", + innerhtml: "innerHTML", + inputmode: "inputMode", + integrity: "integrity", + is: "is", + itemid: "itemID", + itemprop: "itemProp", + itemref: "itemRef", + itemscope: "itemScope", + itemtype: "itemType", + keyparams: "keyParams", + keytype: "keyType", + kind: "kind", + label: "label", + lang: "lang", + list: "list", + loop: "loop", + low: "low", + manifest: "manifest", + marginwidth: "marginWidth", + marginheight: "marginHeight", + max: "max", + maxlength: "maxLength", + media: "media", + mediagroup: "mediaGroup", + method: "method", + min: "min", + minlength: "minLength", + multiple: "multiple", + muted: "muted", + name: "name", + nomodule: "noModule", + nonce: "nonce", + novalidate: "noValidate", + open: "open", + optimum: "optimum", + pattern: "pattern", + placeholder: "placeholder", + playsinline: "playsInline", + poster: "poster", + preload: "preload", + profile: "profile", + radiogroup: "radioGroup", + readonly: "readOnly", + referrerpolicy: "referrerPolicy", + rel: "rel", + required: "required", + reversed: "reversed", + role: "role", + rows: "rows", + rowspan: "rowSpan", + sandbox: "sandbox", + scope: "scope", + scoped: "scoped", + scrolling: "scrolling", + seamless: "seamless", + selected: "selected", + shape: "shape", + size: "size", + sizes: "sizes", + span: "span", + spellcheck: "spellCheck", + src: "src", + srcdoc: "srcDoc", + srclang: "srcLang", + srcset: "srcSet", + start: "start", + step: "step", + style: "style", + summary: "summary", + tabindex: "tabIndex", + target: "target", + title: "title", + type: "type", + usemap: "useMap", + value: "value", + width: "width", + wmode: "wmode", + wrap: "wrap", + about: "about", + accentheight: "accentHeight", + "accent-height": "accentHeight", + accumulate: "accumulate", + additive: "additive", + alignmentbaseline: "alignmentBaseline", + "alignment-baseline": "alignmentBaseline", + allowreorder: "allowReorder", + alphabetic: "alphabetic", + amplitude: "amplitude", + arabicform: "arabicForm", + "arabic-form": "arabicForm", + ascent: "ascent", + attributename: "attributeName", + attributetype: "attributeType", + autoreverse: "autoReverse", + azimuth: "azimuth", + basefrequency: "baseFrequency", + baselineshift: "baselineShift", + "baseline-shift": "baselineShift", + baseprofile: "baseProfile", + bbox: "bbox", + begin: "begin", + bias: "bias", + by: "by", + calcmode: "calcMode", + capheight: "capHeight", + "cap-height": "capHeight", + clip: "clip", + clippath: "clipPath", + "clip-path": "clipPath", + clippathunits: "clipPathUnits", + cliprule: "clipRule", + "clip-rule": "clipRule", + color: "color", + colorinterpolation: "colorInterpolation", + "color-interpolation": "colorInterpolation", + colorinterpolationfilters: "colorInterpolationFilters", + "color-interpolation-filters": "colorInterpolationFilters", + colorprofile: "colorProfile", + "color-profile": "colorProfile", + colorrendering: "colorRendering", + "color-rendering": "colorRendering", + contentscripttype: "contentScriptType", + contentstyletype: "contentStyleType", + cursor: "cursor", + cx: "cx", + cy: "cy", + d: "d", + datatype: "datatype", + decelerate: "decelerate", + descent: "descent", + diffuseconstant: "diffuseConstant", + direction: "direction", + display: "display", + divisor: "divisor", + dominantbaseline: "dominantBaseline", + "dominant-baseline": "dominantBaseline", + dur: "dur", + dx: "dx", + dy: "dy", + edgemode: "edgeMode", + elevation: "elevation", + enablebackground: "enableBackground", + "enable-background": "enableBackground", + end: "end", + exponent: "exponent", + externalresourcesrequired: "externalResourcesRequired", + fill: "fill", + fillopacity: "fillOpacity", + "fill-opacity": "fillOpacity", + fillrule: "fillRule", + "fill-rule": "fillRule", + filter: "filter", + filterres: "filterRes", + filterunits: "filterUnits", + floodopacity: "floodOpacity", + "flood-opacity": "floodOpacity", + floodcolor: "floodColor", + "flood-color": "floodColor", + focusable: "focusable", + fontfamily: "fontFamily", + "font-family": "fontFamily", + fontsize: "fontSize", + "font-size": "fontSize", + fontsizeadjust: "fontSizeAdjust", + "font-size-adjust": "fontSizeAdjust", + fontstretch: "fontStretch", + "font-stretch": "fontStretch", + fontstyle: "fontStyle", + "font-style": "fontStyle", + fontvariant: "fontVariant", + "font-variant": "fontVariant", + fontweight: "fontWeight", + "font-weight": "fontWeight", + format: "format", + from: "from", + fx: "fx", + fy: "fy", + g1: "g1", + g2: "g2", + glyphname: "glyphName", + "glyph-name": "glyphName", + glyphorientationhorizontal: "glyphOrientationHorizontal", + "glyph-orientation-horizontal": "glyphOrientationHorizontal", + glyphorientationvertical: "glyphOrientationVertical", + "glyph-orientation-vertical": "glyphOrientationVertical", + glyphref: "glyphRef", + gradienttransform: "gradientTransform", + gradientunits: "gradientUnits", + hanging: "hanging", + horizadvx: "horizAdvX", + "horiz-adv-x": "horizAdvX", + horizoriginx: "horizOriginX", + "horiz-origin-x": "horizOriginX", + ideographic: "ideographic", + imagerendering: "imageRendering", + "image-rendering": "imageRendering", + in2: "in2", + in: "in", + inlist: "inlist", + intercept: "intercept", + k1: "k1", + k2: "k2", + k3: "k3", + k4: "k4", + k: "k", + kernelmatrix: "kernelMatrix", + kernelunitlength: "kernelUnitLength", + kerning: "kerning", + keypoints: "keyPoints", + keysplines: "keySplines", + keytimes: "keyTimes", + lengthadjust: "lengthAdjust", + letterspacing: "letterSpacing", + "letter-spacing": "letterSpacing", + lightingcolor: "lightingColor", + "lighting-color": "lightingColor", + limitingconeangle: "limitingConeAngle", + local: "local", + markerend: "markerEnd", + "marker-end": "markerEnd", + markerheight: "markerHeight", + markermid: "markerMid", + "marker-mid": "markerMid", + markerstart: "markerStart", + "marker-start": "markerStart", + markerunits: "markerUnits", + markerwidth: "markerWidth", + mask: "mask", + maskcontentunits: "maskContentUnits", + maskunits: "maskUnits", + mathematical: "mathematical", + mode: "mode", + numoctaves: "numOctaves", + offset: "offset", + opacity: "opacity", + operator: "operator", + order: "order", + orient: "orient", + orientation: "orientation", + origin: "origin", + overflow: "overflow", + overlineposition: "overlinePosition", + "overline-position": "overlinePosition", + overlinethickness: "overlineThickness", + "overline-thickness": "overlineThickness", + paintorder: "paintOrder", + "paint-order": "paintOrder", + panose1: "panose1", + "panose-1": "panose1", + pathlength: "pathLength", + patterncontentunits: "patternContentUnits", + patterntransform: "patternTransform", + patternunits: "patternUnits", + pointerevents: "pointerEvents", + "pointer-events": "pointerEvents", + points: "points", + pointsatx: "pointsAtX", + pointsaty: "pointsAtY", + pointsatz: "pointsAtZ", + popover: "popover", + popovertarget: "popoverTarget", + popovertargetaction: "popoverTargetAction", + prefix: "prefix", + preservealpha: "preserveAlpha", + preserveaspectratio: "preserveAspectRatio", + primitiveunits: "primitiveUnits", + property: "property", + r: "r", + radius: "radius", + refx: "refX", + refy: "refY", + renderingintent: "renderingIntent", + "rendering-intent": "renderingIntent", + repeatcount: "repeatCount", + repeatdur: "repeatDur", + requiredextensions: "requiredExtensions", + requiredfeatures: "requiredFeatures", + resource: "resource", + restart: "restart", + result: "result", + results: "results", + rotate: "rotate", + rx: "rx", + ry: "ry", + scale: "scale", + security: "security", + seed: "seed", + shaperendering: "shapeRendering", + "shape-rendering": "shapeRendering", + slope: "slope", + spacing: "spacing", + specularconstant: "specularConstant", + specularexponent: "specularExponent", + speed: "speed", + spreadmethod: "spreadMethod", + startoffset: "startOffset", + stddeviation: "stdDeviation", + stemh: "stemh", + stemv: "stemv", + stitchtiles: "stitchTiles", + stopcolor: "stopColor", + "stop-color": "stopColor", + stopopacity: "stopOpacity", + "stop-opacity": "stopOpacity", + strikethroughposition: "strikethroughPosition", + "strikethrough-position": "strikethroughPosition", + strikethroughthickness: "strikethroughThickness", + "strikethrough-thickness": "strikethroughThickness", + string: "string", + stroke: "stroke", + strokedasharray: "strokeDasharray", + "stroke-dasharray": "strokeDasharray", + strokedashoffset: "strokeDashoffset", + "stroke-dashoffset": "strokeDashoffset", + strokelinecap: "strokeLinecap", + "stroke-linecap": "strokeLinecap", + strokelinejoin: "strokeLinejoin", + "stroke-linejoin": "strokeLinejoin", + strokemiterlimit: "strokeMiterlimit", + "stroke-miterlimit": "strokeMiterlimit", + strokewidth: "strokeWidth", + "stroke-width": "strokeWidth", + strokeopacity: "strokeOpacity", + "stroke-opacity": "strokeOpacity", + suppresscontenteditablewarning: "suppressContentEditableWarning", + suppresshydrationwarning: "suppressHydrationWarning", + surfacescale: "surfaceScale", + systemlanguage: "systemLanguage", + tablevalues: "tableValues", + targetx: "targetX", + targety: "targetY", + textanchor: "textAnchor", + "text-anchor": "textAnchor", + textdecoration: "textDecoration", + "text-decoration": "textDecoration", + textlength: "textLength", + textrendering: "textRendering", + "text-rendering": "textRendering", + to: "to", + transform: "transform", + transformorigin: "transformOrigin", + "transform-origin": "transformOrigin", + typeof: "typeof", + u1: "u1", + u2: "u2", + underlineposition: "underlinePosition", + "underline-position": "underlinePosition", + underlinethickness: "underlineThickness", + "underline-thickness": "underlineThickness", + unicode: "unicode", + unicodebidi: "unicodeBidi", + "unicode-bidi": "unicodeBidi", + unicoderange: "unicodeRange", + "unicode-range": "unicodeRange", + unitsperem: "unitsPerEm", + "units-per-em": "unitsPerEm", + unselectable: "unselectable", + valphabetic: "vAlphabetic", + "v-alphabetic": "vAlphabetic", + values: "values", + vectoreffect: "vectorEffect", + "vector-effect": "vectorEffect", + version: "version", + vertadvy: "vertAdvY", + "vert-adv-y": "vertAdvY", + vertoriginx: "vertOriginX", + "vert-origin-x": "vertOriginX", + vertoriginy: "vertOriginY", + "vert-origin-y": "vertOriginY", + vhanging: "vHanging", + "v-hanging": "vHanging", + videographic: "vIdeographic", + "v-ideographic": "vIdeographic", + viewbox: "viewBox", + viewtarget: "viewTarget", + visibility: "visibility", + vmathematical: "vMathematical", + "v-mathematical": "vMathematical", + vocab: "vocab", + widths: "widths", + wordspacing: "wordSpacing", + "word-spacing": "wordSpacing", + writingmode: "writingMode", + "writing-mode": "writingMode", + x1: "x1", + x2: "x2", + x: "x", + xchannelselector: "xChannelSelector", + xheight: "xHeight", + "x-height": "xHeight", + xlinkactuate: "xlinkActuate", + "xlink:actuate": "xlinkActuate", + xlinkarcrole: "xlinkArcrole", + "xlink:arcrole": "xlinkArcrole", + xlinkhref: "xlinkHref", + "xlink:href": "xlinkHref", + xlinkrole: "xlinkRole", + "xlink:role": "xlinkRole", + xlinkshow: "xlinkShow", + "xlink:show": "xlinkShow", + xlinktitle: "xlinkTitle", + "xlink:title": "xlinkTitle", + xlinktype: "xlinkType", + "xlink:type": "xlinkType", + xmlbase: "xmlBase", + "xml:base": "xmlBase", + xmllang: "xmlLang", + "xml:lang": "xmlLang", + xmlns: "xmlns", + "xml:space": "xmlSpace", + xmlnsxlink: "xmlnsXlink", + "xmlns:xlink": "xmlnsXlink", + xmlspace: "xmlSpace", + y1: "y1", + y2: "y2", + y: "y", + ychannelselector: "yChannelSelector", + z: "z", + zoomandpan: "zoomAndPan" + }, ariaProperties = { + "aria-current": 0, + "aria-description": 0, + "aria-details": 0, + "aria-disabled": 0, + "aria-hidden": 0, + "aria-invalid": 0, + "aria-keyshortcuts": 0, + "aria-label": 0, + "aria-roledescription": 0, + "aria-autocomplete": 0, + "aria-checked": 0, + "aria-expanded": 0, + "aria-haspopup": 0, + "aria-level": 0, + "aria-modal": 0, + "aria-multiline": 0, + "aria-multiselectable": 0, + "aria-orientation": 0, + "aria-placeholder": 0, + "aria-pressed": 0, + "aria-readonly": 0, + "aria-required": 0, + "aria-selected": 0, + "aria-sort": 0, + "aria-valuemax": 0, + "aria-valuemin": 0, + "aria-valuenow": 0, + "aria-valuetext": 0, + "aria-atomic": 0, + "aria-busy": 0, + "aria-live": 0, + "aria-relevant": 0, + "aria-dropeffect": 0, + "aria-grabbed": 0, + "aria-activedescendant": 0, + "aria-colcount": 0, + "aria-colindex": 0, + "aria-colspan": 0, + "aria-controls": 0, + "aria-describedby": 0, + "aria-errormessage": 0, + "aria-flowto": 0, + "aria-labelledby": 0, + "aria-owns": 0, + "aria-posinset": 0, + "aria-rowcount": 0, + "aria-rowindex": 0, + "aria-rowspan": 0, + "aria-setsize": 0 + }, warnedProperties$1 = {}, rARIA$1 = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel$1 = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false; + if (canUseDOM) + try { + var options$jscomp$0 = {}; + Object.defineProperty(options$jscomp$0, "passive", { + get: function() { + passiveBrowserEventsSupported = true; + } + }); + window.addEventListener("test", options$jscomp$0, options$jscomp$0); + window.removeEventListener("test", options$jscomp$0, options$jscomp$0); + } catch (e) { + passiveBrowserEventsSupported = false; + } + var root = null, startText = null, fallbackText = null, EventInterface = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: getEventModifierState, + button: 0, + buttons: 0, + relatedTarget: function(event) { + return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget; + }, + movementX: function(event) { + if ("movementX" in event) return event.movementX; + event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event); + return lastMovementX; + }, + movementY: function(event) { + return "movementY" in event ? event.movementY : lastMovementY; + } + }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, { + animationName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, { + clipboardData: function(event) { + return "clipboardData" in event ? event.clipboardData : window.clipboardData; + } + }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent( + CompositionEventInterface + ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, translateToKey = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, modifierKeyToProp = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }, KeyboardEventInterface = assign({}, UIEventInterface, { + key: function(nativeEvent) { + if (nativeEvent.key) { + var key = normalizeKey[nativeEvent.key] || nativeEvent.key; + if ("Unidentified" !== key) return key; + } + return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: getEventModifierState, + charCode: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : 0; + }, + keyCode: function(event) { + return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + }, + which: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + } + }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: getEventModifierState + }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, { + propertyName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, { + deltaX: function(event) { + return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; + }, + deltaY: function(event) { + return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, { + newState: 0, + oldState: 0 + }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null; + canUseDOM && "documentMode" in document && (documentMode = document.documentMode); + var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = { + color: true, + date: true, + datetime: true, + "datetime-local": true, + email: true, + month: true, + number: true, + password: true, + range: true, + search: true, + tel: true, + text: true, + time: true, + url: true, + week: true + }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false; + canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode)); + var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = { + animationend: makePrefixMap("Animation", "AnimationEnd"), + animationiteration: makePrefixMap("Animation", "AnimationIteration"), + animationstart: makePrefixMap("Animation", "AnimationStart"), + transitionrun: makePrefixMap("Transition", "TransitionRun"), + transitionstart: makePrefixMap("Transition", "TransitionStart"), + transitioncancel: makePrefixMap("Transition", "TransitionCancel"), + transitionend: makePrefixMap("Transition", "TransitionEnd") + }, prefixedEventNames = {}, style = {}; + canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition); + var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split( + " " + ); + simpleEventPluginEvents.push("scrollEnd"); + var CapturedStacks = /* @__PURE__ */ new WeakMap(), OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {}; + Object.freeze(emptyContextObject); + var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, NoStrictPassiveEffectsMode = 64; + var hasBadMapPolyfill = false; + try { + var nonExtensibleObject = Object.preventExtensions({}); + /* @__PURE__ */ new Map([[nonExtensibleObject, null]]); + /* @__PURE__ */ new Set([nonExtensibleObject]); + } catch (e$3) { + hasBadMapPolyfill = true; + } + var forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error( + "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), lastResetTime = 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + var getCurrentTime = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date; + getCurrentTime = function() { + return localDate.now(); + }; + } + var valueCursor = createCursor(null); + var rendererCursorDEV = createCursor(null); + var rendererSigil = {}; + var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() { + var listeners = [], signal = this.signal = { + aborted: false, + addEventListener: function(type, listener) { + listeners.push(listener); + } + }; + this.abort = function() { + signal.aborted = true; + listeners.forEach(function(listener) { + return listener(); + }); + }; + }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { + $$typeof: REACT_CONTEXT_TYPE, + Consumer: null, + Provider: null, + _currentValue: null, + _currentValue2: null, + _threadCount: 0, + _currentRenderer: null, + _currentRenderer2: null + }, now = Scheduler.unstable_now, renderStartTime = -0, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S; + ReactSharedInternals.S = function(transition, returnValue) { + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); + null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); + }; + var resumedCache = createCursor(null), ReactStrictModeWarnings = { + recordUnsafeLifecycleWarnings: function() { + }, + flushPendingUnsafeLifecycleWarnings: function() { + }, + recordLegacyContextWarning: function() { + }, + flushLegacyContextWarning: function() { + }, + discardPendingWarnings: function() { + } + }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { + didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber)); + }; + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { + var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) { + componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillMountWarnings = []); + var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { + UNSAFE_componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillMountWarnings = []); + var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { + componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillReceivePropsWarnings = []); + var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach( + function(fiber) { + UNSAFE_componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + } + ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []); + var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) { + componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillUpdateWarnings = []); + var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { + UNSAFE_componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillUpdateWarnings = []); + if (0 < UNSAFE_componentWillMountUniqueNames.size) { + var sortedNames = setToSortedString( + UNSAFE_componentWillMountUniqueNames + ); + console.error( + "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", + sortedNames + ); + } + 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillReceivePropsUniqueNames + ), console.error( + "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s", + sortedNames + )); + 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillUpdateUniqueNames + ), console.error( + "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn( + "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + componentWillReceivePropsUniqueNames + ), console.warn( + "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn( + "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + }; + var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { + var strictRoot = null; + for (var node = fiber; null !== node; ) + node.mode & StrictLegacyMode && (strictRoot = node), node = node.return; + null === strictRoot ? console.error( + "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue." + ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber)); + }; + ReactStrictModeWarnings.flushLegacyContextWarning = function() { + pendingLegacyContextWarning.forEach(function(fiberArray) { + if (0 !== fiberArray.length) { + var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set(); + fiberArray.forEach(function(fiber) { + uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + runWithFiberInDEV(firstFiber, function() { + console.error( + "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context", + sortedNames + ); + }); + } + }); + }; + ReactStrictModeWarnings.discardPendingWarnings = function() { + pendingComponentWillMountWarnings = []; + pendingUNSAFE_ComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingUNSAFE_ComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUNSAFE_ComponentWillUpdateWarnings = []; + pendingLegacyContextWarning = /* @__PURE__ */ new Map(); + }; + var SuspenseException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`." + ), SuspenseyCommitException = Error( + "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), SuspenseActionException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary." + ), noopSuspenseyCommitThenable = { + then: function() { + console.error( + 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.' + ); + } + }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false; + var didWarnUpdateInsideUpdate = false; + var currentlyProcessingQueue = null; + var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), didWarnUncachedGetSnapshot; + var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set(); + var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseFormState = /* @__PURE__ */ new Set(); + var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter$1 = 0, thenableState$1 = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = { + readContext, + use, + useCallback: throwInvalidHookError, + useContext: throwInvalidHookError, + useEffect: throwInvalidHookError, + useImperativeHandle: throwInvalidHookError, + useLayoutEffect: throwInvalidHookError, + useInsertionEffect: throwInvalidHookError, + useMemo: throwInvalidHookError, + useReducer: throwInvalidHookError, + useRef: throwInvalidHookError, + useState: throwInvalidHookError, + useDebugValue: throwInvalidHookError, + useDeferredValue: throwInvalidHookError, + useTransition: throwInvalidHookError, + useSyncExternalStore: throwInvalidHookError, + useId: throwInvalidHookError, + useHostTransitionStatus: throwInvalidHookError, + useFormState: throwInvalidHookError, + useActionState: throwInvalidHookError, + useOptimistic: throwInvalidHookError, + useMemoCache: throwInvalidHookError, + useCacheRefresh: throwInvalidHookError + }, HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null; + HooksDispatcherOnMountInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(createDeps); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + mountHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnMountWithHookTypesInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return mountId(); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return mountActionState(action, initialState); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + HooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnMountInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + InvalidNestedHooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + var callComponent = { + react_stack_bottom_frame: function(Component, props, secondArg) { + var wasRendering = isRendering; + isRendering = true; + try { + return Component(props, secondArg); + } finally { + isRendering = wasRendering; + } + } + }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = { + react_stack_bottom_frame: function(instance) { + var wasRendering = isRendering; + isRendering = true; + try { + return instance.render(); + } finally { + isRendering = wasRendering; + } + } + }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = { + react_stack_bottom_frame: function(finishedWork, instance) { + try { + instance.componentDidMount(); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind( + callComponentDidMount + ), callComponentDidUpdate = { + react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) { + try { + instance.componentDidUpdate(prevProps, prevState, snapshot); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind( + callComponentDidUpdate + ), callComponentDidCatch = { + react_stack_bottom_frame: function(instance, errorInfo) { + var stack = errorInfo.stack; + instance.componentDidCatch(errorInfo.value, { + componentStack: null !== stack ? stack : "" + }); + } + }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind( + callComponentDidCatch + ), callComponentWillUnmount = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) { + try { + instance.componentWillUnmount(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind( + callComponentWillUnmount + ), callCreate = { + react_stack_bottom_frame: function(effect) { + null != effect.resourceKind && console.error( + "Expected only SimpleEffects when enableUseEffectCRUDOverload is disabled, got %s", + effect.resourceKind + ); + var create = effect.create; + effect = effect.inst; + create = create(); + return effect.destroy = create; + } + }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) { + try { + destroy(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = { + react_stack_bottom_frame: function(lazy) { + var init = lazy._init; + return init(lazy._payload); + } + }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), thenableState = null, thenableIndexCounter = 0, currentDebugInfo = null, didWarnAboutMaps; + var didWarnAboutGenerators = didWarnAboutMaps = false; + var ownerHasKeyUseWarning = {}; + var ownerHasFunctionTypeWarning = {}; + var ownerHasSymbolTypeWarning = {}; + warnForMissingKey = function(returnFiber, workInProgress2, child) { + if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) { + if ("object" !== typeof child._store) + throw Error( + "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." + ); + child._store.validated = 1; + var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null"; + if (!ownerHasKeyUseWarning[componentKey]) { + ownerHasKeyUseWarning[componentKey] = true; + child = child._owner; + returnFiber = returnFiber._debugOwner; + var currentComponentErrorInfo = ""; + returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`."); + currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">."); + var childOwnerAppendix = ""; + null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + ".")); + runWithFiberInDEV(workInProgress2, function() { + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + currentComponentErrorInfo, + childOwnerAppendix + ); + }); + } + } + }; + var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), fakeInternalInstance = {}; + var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUninitializedState = /* @__PURE__ */ new Set(); + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set(); + var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set(); + var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set(); + var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set(); + var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set(); + var didWarnOnInvalidCallback = /* @__PURE__ */ new Set(); + Object.freeze(fakeInternalInstance); + var classComponentUpdater = { + enqueueSetState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueReplaceState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ReplaceState; + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueForceUpdate: function(inst, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ForceUpdate; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + callback = enqueueUpdate(inst, update, lane); + null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane)); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markForceUpdateScheduled && injectedProfilingHooks.markForceUpdateScheduled(inst, lane); + } + }, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error( + "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue." + ), didReceiveUpdate = false; + var didWarnAboutBadClass = {}; + var didWarnAboutContextTypeOnFunctionComponent = {}; + var didWarnAboutContextTypes = {}; + var didWarnAboutGetDerivedStateOnFunctionComponent = {}; + var didWarnAboutReassigningProps = false; + var didWarnAboutRevealOrder = {}; + var didWarnAboutTailOptions = {}; + var SUSPENDED_MARKER = { + dehydrated: null, + treeContext: null, + retryLane: 0, + hydrationErrors: null + }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null; + didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set(); + var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = { + getCacheForType: function(resourceType) { + var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType); + void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType)); + return cacheForType; + }, + getOwner: function() { + return current; + } + }; + if ("function" === typeof Symbol && Symbol.for) { + var symbolFor = Symbol.for; + symbolFor("selector.component"); + symbolFor("selector.has_pseudo_class"); + symbolFor("selector.role"); + symbolFor("selector.test_id"); + symbolFor("selector.text"); + } + var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, SUSPENDED_COMMIT = 1, THROTTLED_COMMIT = 2, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false; + var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set(); + var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {}; + (function() { + for (var i = 0; i < simpleEventPluginEvents.length; i++) { + var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase(); + eventName = eventName[0].toUpperCase() + eventName.slice(1); + registerSimpleEvent(domEventName, "on" + eventName); + } + registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); + registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration"); + registerSimpleEvent(ANIMATION_START, "onAnimationStart"); + registerSimpleEvent("dblclick", "onDoubleClick"); + registerSimpleEvent("focusin", "onFocus"); + registerSimpleEvent("focusout", "onBlur"); + registerSimpleEvent(TRANSITION_RUN, "onTransitionRun"); + registerSimpleEvent(TRANSITION_START, "onTransitionStart"); + registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel"); + registerSimpleEvent(TRANSITION_END, "onTransitionEnd"); + })(); + registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]); + registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]); + registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]); + registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]); + registerTwoPhaseEvent( + "onChange", + "change click focusin focusout input keydown keyup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent("onBeforeInput", [ + "compositionend", + "keypress", + "textInput", + "paste" + ]); + registerTwoPhaseEvent( + "onCompositionEnd", + "compositionend focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionStart", + "compositionstart focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionUpdate", + "compositionupdate focusout keydown keypress keyup mousedown".split(" ") + ); + var mediaEventTypes = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), nonDelegatedEvents = new Set( + "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes) + ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false; + var didWarnForNewBooleanPropsWithEmptyValue = {}; + var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = 1, PREAMBLE_CONTRIBUTION_BODY = 2, PREAMBLE_CONTRIBUTION_HEAD = 4, FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_COMPLETE = "complete", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) { + return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick); + } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d; + ReactDOMSharedInternals.d = { + f: function() { + var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1(); + return previousWasRendering || wasRendering; + }, + r: function(form) { + var formInst = getInstanceFromNode(form); + null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form); + }, + D: function(href) { + previousDispatcher.D(href); + preconnectAs("dns-prefetch", href, null); + }, + C: function(href, crossOrigin) { + previousDispatcher.C(href, crossOrigin); + preconnectAs("preconnect", href, crossOrigin); + }, + L: function(href, as, options) { + previousDispatcher.L(href, as, options); + var ownerDocument = globalDocument; + if (ownerDocument && href && as) { + var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]'; + "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSrcSet + ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSizes + ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]'; + var key = preloadSelector; + switch (as) { + case "style": + key = getStyleKey(href); + break; + case "script": + key = getScriptKey(href); + } + preloadPropsMap.has(key) || (href = assign( + { + rel: "preload", + href: "image" === as && options && options.imageSrcSet ? void 0 : href, + as + }, + options + ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as))); + } + }, + m: function(href, options) { + previousDispatcher.m(href, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector; + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + key = getScriptKey(href); + } + if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) { + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + if (ownerDocument.querySelector(getScriptSelectorFromKey(key))) + return; + } + as = ownerDocument.createElement("link"); + setInitialProperties(as, "link", href); + markNodeAsHoistable(as); + ownerDocument.head.appendChild(as); + } + } + }, + X: function(src, options) { + previousDispatcher.X(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + }, + S: function(href, precedence, options) { + previousDispatcher.S(href, precedence, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href); + precedence = precedence || "default"; + var resource = styles.get(key); + if (!resource) { + var state = { loading: NotLoaded, preload: null }; + if (resource = ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + )) + state.loading = Loaded | Inserted; + else { + href = assign( + { + rel: "stylesheet", + href, + "data-precedence": precedence + }, + options + ); + (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options); + var link = resource = ownerDocument.createElement("link"); + markNodeAsHoistable(link); + setInitialProperties(link, "link", href); + link._p = new Promise(function(resolve, reject) { + link.onload = resolve; + link.onerror = reject; + }); + link.addEventListener("load", function() { + state.loading |= Loaded; + }); + link.addEventListener("error", function() { + state.loading |= Errored; + }); + state.loading |= Inserted; + insertStylesheet(resource, precedence, ownerDocument); + } + resource = { + type: "stylesheet", + instance: resource, + count: 1, + state + }; + styles.set(key, resource); + } + } + }, + M: function(src, options) { + previousDispatcher.M(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true, type: "module" }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + } + }; + var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, suspendedState = null, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = { + $$typeof: REACT_CONTEXT_TYPE, + Provider: null, + Consumer: null, + _currentValue: NotPendingTransition, + _currentValue2: NotPendingTransition, + _threadCount: 0 + }, badgeFormat = "%c%s%c ", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind; + var didWarnAboutNestedUpdates = false; + var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, setErrorHandler = null, setSuspenseHandler = null; + overrideHookState = function(fiber, id, path, value) { + id = findHook(fiber, id); + null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateDeletePath = function(fiber, id, path) { + id = findHook(fiber, id); + null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) { + id = findHook(fiber, id); + null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2)); + }; + overrideProps = function(fiber, path, value) { + fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsDeletePath = function(fiber, path) { + fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsRenamePath = function(fiber, oldPath, newPath) { + fiber.pendingProps = copyWithRename( + fiber.memoizedProps, + oldPath, + newPath + ); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + oldPath = enqueueConcurrentRenderForLane(fiber, 2); + null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2); + }; + scheduleUpdate = function(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + }; + setErrorHandler = function(newShouldErrorImpl) { + shouldErrorImpl = newShouldErrorImpl; + }; + setSuspenseHandler = function(newShouldSuspendImpl) { + shouldSuspendImpl = newShouldSuspendImpl; + }; + var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split( + " " + ), lastScheduledReplayQueue = null; + ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) { + var root2 = this._internalRoot; + if (null === root2) throw Error("Cannot update an unmounted root."); + var args = arguments; + "function" === typeof args[1] ? console.error( + "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ) : isValidContainer(args[1]) ? console.error( + "You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root." + ) : "undefined" !== typeof args[1] && console.error( + "You passed a second argument to root.render(...) but it only accepts one argument." + ); + args = children; + var current2 = root2.current, lane = requestUpdateLane(current2); + updateContainerImpl(current2, lane, args, root2, null, null); + }; + ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() { + var args = arguments; + "function" === typeof args[0] && console.error( + "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ); + args = this._internalRoot; + if (null !== args) { + this._internalRoot = null; + var container = args.containerInfo; + (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error( + "Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition." + ); + updateContainerImpl(args.current, 2, null, args, null, null); + flushSyncWork$1(); + container[internalContainerInstanceKey] = null; + } + }; + ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) { + if (target) { + var updatePriority = resolveUpdatePriority(); + target = { blockedOn: null, target, priority: updatePriority }; + for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ; + queuedExplicitHydrationTargets.splice(i, 0, target); + 0 === i && attemptExplicitHydrationTarget(target); + } + }; + (function() { + var isomorphicReactPackageVersion = React.version; + if ("19.1.1" !== isomorphicReactPackageVersion) + throw Error( + 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.1.1\nLearn more: https://react.dev/warnings/version-mismatch") + ); + })(); + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills" + ); + ReactDOMSharedInternals.findDOMNode = function(componentOrElement) { + var fiber = componentOrElement._reactInternals; + if (void 0 === fiber) { + if ("function" === typeof componentOrElement.render) + throw Error("Unable to find node on an unmounted component."); + componentOrElement = Object.keys(componentOrElement).join(","); + throw Error( + "Argument appears to not be a ReactComponent. Keys: " + componentOrElement + ); + } + componentOrElement = findCurrentFiberUsingSlowPath(fiber); + componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null; + componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode; + return componentOrElement; + }; + if (!function() { + var internals = { + bundleType: 1, + version: "19.1.1", + rendererPackageName: "react-dom", + currentDispatcherRef: ReactSharedInternals, + reconcilerVersion: "19.1.1" + }; + internals.overrideHookState = overrideHookState; + internals.overrideHookStateDeletePath = overrideHookStateDeletePath; + internals.overrideHookStateRenamePath = overrideHookStateRenamePath; + internals.overrideProps = overrideProps; + internals.overridePropsDeletePath = overridePropsDeletePath; + internals.overridePropsRenamePath = overridePropsRenamePath; + internals.scheduleUpdate = scheduleUpdate; + internals.setErrorHandler = setErrorHandler; + internals.setSuspenseHandler = setSuspenseHandler; + internals.scheduleRefresh = scheduleRefresh; + internals.scheduleRoot = scheduleRoot; + internals.setRefreshHandler = setRefreshHandler; + internals.getCurrentFiber = getCurrentFiberForDevTools; + internals.getLaneLabelMap = getLaneLabelMap; + internals.injectProfilingHooks = injectProfilingHooks; + return injectInternals(internals); + }() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) { + var protocol = window.location.protocol; + /^(https?|file):$/.test(protocol) && console.info( + "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""), + "font-weight:bold" + ); + } + exports.createRoot = function(container, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null; + null !== options && void 0 !== options && (options.hydrate ? console.warn( + "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead." + ) : "object" === typeof options && null !== options && options.$$typeof === REACT_ELEMENT_TYPE && console.error( + "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);" + ), true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks)); + options = createFiberRoot( + container, + 1, + false, + null, + null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + null + ); + container[internalContainerInstanceKey] = options.current; + listenToAllSupportedEvents(container); + return new ReactDOMRoot(options); + }; + exports.hydrateRoot = function(container, initialChildren, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + void 0 === initialChildren && console.error( + "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)" + ); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null, formState = null; + null !== options && void 0 !== options && (true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks), void 0 !== options.formState && (formState = options.formState)); + initialChildren = createFiberRoot( + container, + 1, + true, + initialChildren, + null != options ? options : null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + formState + ); + initialChildren.context = getContextForSubtree(null); + options = initialChildren.current; + isStrictMode = requestUpdateLane(options); + isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode); + identifierPrefix = createUpdate(isStrictMode); + identifierPrefix.callback = null; + enqueueUpdate(options, identifierPrefix, isStrictMode); + options = isStrictMode; + initialChildren.current.lanes = options; + markRootUpdated$1(initialChildren, options); + ensureRootIsScheduled(initialChildren); + container[internalContainerInstanceKey] = initialChildren.current; + listenToAllSupportedEvents(container); + return new ReactDOMHydrationRoot(initialChildren); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react-dom/client.js + var require_client = __commonJS({ + "node_modules/react-dom/client.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_client_development(); + } + } + }); + + // node_modules/react/cjs/react-jsx-runtime.development.js + var require_react_jsx_runtime_development = __commonJS({ + "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) { + "use strict"; + (function() { + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) { + var children = config.children; + if (void 0 !== children) + if (isStaticChildren) + if (isArrayImpl(children)) { + for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) + validateChildKeys(children[isStaticChildren]); + Object.freeze && Object.freeze(children); + } else + console.error( + "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." + ); + else validateChildKeys(children); + if (hasOwnProperty.call(config, "key")) { + children = getComponentNameFromType(type); + var keys = Object.keys(config).filter(function(k) { + return "key" !== k; + }); + isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}"; + didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error( + 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', + isStaticChildren, + children, + keys, + children + ), didWarnAboutKeySpread[children + isStaticChildren] = true); + } + children = null; + void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey); + hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + children && defineKeyPropWarningGetter( + maybeKey, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + return ReactElement( + type, + children, + self, + source, + getOwner(), + maybeKey, + debugStack, + debugTask + ); + } + function validateChildKeys(node) { + "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1); + } + var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() { + return null; + }; + React = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( + React, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutKeySpread = {}; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + false, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.jsxs = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + true, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + })(); + } + }); + + // node_modules/react/jsx-runtime.js + var require_jsx_runtime = __commonJS({ + "node_modules/react/jsx-runtime.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_jsx_runtime_development(); + } + } + }); + + // src/current.tsx + var require_current = __commonJS({ + "src/current.tsx"() { + var import_client = __toESM(require_client()); + var import_jsx_runtime = __toESM(require_jsx_runtime()); + var shaders = ` +struct VertexOut { + @builtin(position) position : vec4f, + @location(0) color : vec4f +} + +@vertex +fn vertex_main(@location(0) position: vec4f, + @location(1) color: vec4f) -> VertexOut +{ + var output : VertexOut; + output.position = position; + output.color = color; + return output; +} + +@fragment +fn fragment_main(fragData: VertexOut) -> @location(0) vec4f +{ + return fragData.color; +} +`; + async function init() { + if (!navigator.gpu) { + throw Error("WebGPU not supported."); + } + const adapter = await navigator.gpu.requestAdapter(); + if (!adapter) { + throw Error("Couldn't request WebGPU adapter."); + } + const device = await adapter.requestDevice(); + const shaderModule = device.createShaderModule({ + code: shaders + }); + const canvas = document.querySelector("#gpuCanvas"); + const context = canvas.getContext("webgpu"); + context.configure({ + device, + format: navigator.gpu.getPreferredCanvasFormat(), + alphaMode: "premultiplied" + }); + console.log(device); + } + void init(); + var Current = () => { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "hello " }); + }; + import_client.default.createRoot(document.getElementById("root")).render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Current, {})); + } + }); + require_current(); +})(); +/*! Bundled license information: + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react.development.js: + (** + * @license React + * react.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom.development.js: + (** + * @license React + * react-dom.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom-client.development.js: + (** + * @license React + * react-dom-client.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react-jsx-runtime.development.js: + (** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/current/index.html Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,10 @@ +<HTML> + <head> + <title> Currently working on path </title> + <link rel="preload" href="/current/current.js" as="script"></link> + </head> + <body> + <div id="root"></div> + <script type="module" src="/current/current.js"></script> + </body> +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/epi_favicon.svg Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M480 61.676c-65.352 3.638-138.815 25.227-196 57.6-11.861 6.715-27 16.474-27 17.405 0 .237 2.137 1.368 4.75 2.512 14.222 6.231 42.394 31.71 48.988 44.307 5.495 10.494 4.881 10.123 12.522 7.58 3.624-1.206 7.106-2.816 7.737-3.577 1.435-1.729-1.38-8.514-6.475-15.605l-3.469-4.829 6.723-1.972c32.582-9.556 57.173-11.806 78.724-7.203 11.98 2.559 26.998 6.779 30.323 8.521l2.402 1.259-2.934 3.413c-8.126 9.454-8.169 11.028-.366 13.39 7.393 2.239 8.071 1.964 11.901-4.822 9.554-16.93 30.233-34.024 46.145-38.148 25.494-6.606 44.109 5.197 49.67 31.493 2.418 11.433 2.48 36.884.12 49.5-2.313 12.364-9.761 30.151-9.761 23.31 0-.654-2.312-3.326-5.137-5.937l-5.138-4.748 1.787-6.812c2.295-8.75 3.114-29.676 1.528-39.076-2.24-13.282-10.827-26.014-17.793-26.382-14.95-.791-25.126 4.922-39.651 22.261-4.728 5.644-8.596 10.778-8.596 11.409 0 .631 2.601 1.87 5.781 2.754 11.487 3.194 38.237 29.194 52.698 51.221 21.515 32.772 26.077 48.378 23.968 82l-.69 11-7.628 3.737c-13.344 6.536-20.277 11.78-34.636 26.198-14.424 14.485-15.155 15.48-30.676 41.762-19.022 32.21-28.896 39.661-60.709 45.811-9.418 1.821-17.405 3.028-17.751 2.682-1.119-1.119 2.629-5.69 4.666-5.69 2.193 0 2.54-1.037.898-2.679-.594-.594-1.509-2.992-2.035-5.331-1.51-6.723.144-10.107 7.015-14.348 14.951-9.229 22.589-26.208 16.511-36.706-8.069-13.936-39.102-17.863-55.473-7.019-15.981 10.586-11.123 31.762 10.061 43.853 8.596 4.906 9.786 7.664 6.394 14.813-6.421 13.531-36.628 8.633-56.586-9.176-10.288-9.179-19.186-13.709-40.291-20.507-12.951-4.172-21.531-7.583-27-10.733-26.918-15.504-44.949-51.465-44.961-89.667-.007-19.581 1.256-25.168 9.493-42 14.633-29.902 21.691-40.528 36.886-55.539 14.879-14.698 22.735-20.004 34.908-23.575 2.649-.778-8.235-16.649-17.501-25.522-12.791-12.248-27.567-15.952-37.476-9.394-10.29 6.809-14.653 32.459-10.364 60.919 1.487 9.862 1.485 9.894-.756 12.101-1.235 1.217-3.996 5.034-6.136 8.482l-3.89 6.268-1.197-2.87c-7.317-17.536-9.437-29.656-9.513-54.37-.056-18.431.146-18.327-11.882-6.13-84.423 85.612-132.212 208.921-129.84 335.023.296 15.734 1.005 31.532 1.574 35.107.57 3.575 1.779 12.125 2.688 19 2.7 20.416 12.262 61.766 18.27 79 3.73 10.7 21.351 54.395 24.258 60.155 26.073 51.65 63.635 101.432 102.512 135.859 112.842 99.93 275.616 136.433 422.851 94.827 62.631-17.698 121.569-48.458 165.006-86.116 50.075-43.413 80.734-82.379 108.367-137.725 45.51-91.152 60.845-182.62 46.729-278.719-16.696-113.662-77.415-222.37-161.043-288.322C706.95 87.914 598.564 55.077 480 61.676m-77.5 110.218c-6.584 2.864-8.364 12.697-3.227 17.833 3.988 3.988 11.466 3.988 15.454 0 8.189-8.189-1.594-22.457-12.227-17.833m165.829 26.677c-.203 11.355-1.424 19.512-5.498 36.708-2.478 10.464-2.797 13.057-1.76 14.307.875 1.054.909 1.432.11 1.22-.637-.168-2.895 3.228-5.018 7.547l-3.859 7.852 2.89 5.337c5.631 10.396 9.539 27.43 10.499 45.755.537 10.264.825 11.713 2.212 11.146 3.369-1.376 8.023-2.561 20.095-5.118 43.382-9.186 83.883 1.289 121.631 31.459 11.243 8.986 13.709 11.685 15.424 16.881 1.432 4.341.557 5.382-6.483 7.707-8.671 2.864-10.496 2.386-19.229-5.047-43.361-36.902-91.568-43.282-140.752-18.629-67.455 33.813-93.641 110.336-64.599 188.782 5.456 14.739 6.129 18.181 3.258 16.673-.962-.505-3.775-1.25-6.25-1.655-6.359-1.04-11.233-3.772-15.157-8.496-4.07-4.9-7.561-6.227-23.485-8.925-28.18-4.774-55.527-4.348-49.808.776 1.397 1.252 63.877 22.527 78.45 26.714 6.875 1.975 16.1 4.674 20.5 5.997 7.561 2.274 24.123 5.969 40.245 8.98 14.427 2.694 30.448 3.61 43.444 2.484 24.412-2.117 52.155-8.086 62.565-13.462 2.61-1.348 7.221-3.414 10.246-4.592 13.501-5.253 24.785-12.554 40.53-26.222 9.041-7.849 13.959-8.917 20.565-4.465 6.319 4.258 4.503 8.16-10.39 22.333-23.864 22.71-45.207 34.015-82.705 43.807-29.153 7.613-68.643 7.834-100.888.563-28.457-6.416-84.426-24.209-106.004-33.699-1.112-.489-1.252.132-.696 3.093 1.948 10.384-2.174 10.406-17.938.094-19.536-12.779-33.427-48.046-29.029-73.702 1.062-6.201-1.052-7.241-10.636-5.232-39.021 8.18-73.803 42.13-92.366 90.159-12.866 33.29-9.733 76.033 8.672 118.299 3.233 7.425 5.88 14.881 5.882 16.568.005 5.298 2.835 12.898 6.741 18.109 29.585 39.467 32.761 42.629 56.923 56.671l11.162 6.486.665-5.732c1.026-8.841.945-8.811 11.621-4.277 12.007 5.1 17.126 6.521 34.891 9.686 29.65 5.283 31 5.891 31 13.965 0 8.837-4.178 11.009-23.34 12.133-27.862 1.636-7.167 11.636 31.764 15.349 32.58 3.108 83.367-.759 117.148-8.918 82.76-19.99 158.557-84.659 185.236-158.04 10.984-30.213 17.063-74.127 12.832-92.697-4.221-18.523-1.206-29.303 8.194-29.303 5.223 0 8.413 3.692 11.05 12.791 9.334 32.199 5.8 72.506-10.361 118.157l-1.574 4.449 2.275-2.049c1.252-1.127 6.389-5.483 11.417-9.68 38.033-31.752 64.557-87.69 69.446-146.457 3.768-45.289-9.505-111.996-30.729-154.445C792.625 323.3 739.829 268.802 683 236.013c-4.125-2.38-11.55-6.697-16.5-9.593-16.836-9.849-45.322-22.184-67.5-29.229-5.544-1.761-29.307-8.202-30.2-8.185-.165.003-.377 4.307-.471 9.565M270.972 314.533c-.699.843-1.491 3.818-1.76 6.611l-.488 5.077 6.888 6.497c13.291 12.536 34.395 19.184 50.345 15.858 13.558-2.827 18.262-7.612 14.848-15.104-1.933-4.242-5.639-5.538-13.991-4.891-13.667 1.059-29.042-3.054-41.44-11.085-7.275-4.713-12.121-5.71-14.402-2.963m211.1 2.104c-12.012 8.09-24.057 11.762-43.42 13.237-11.93.908-12.612 1.302-12.637 7.298-.02 4.825 5.865 10.12 13.205 11.881 14.461 3.469 39.169-4.646 52.03-17.088 6.892-6.668 7.393-9.516 2.677-15.237-3.815-4.629-5.101-4.639-11.855-.091m-291.247 56.806c-28.105 11.678-38.549 38.155-18.825 47.726 9.221 4.474 10.895 4.608 11.631.927.826-4.129 3.326-4.665 12.71-2.724 8.08 1.671 13.193 1.265 24.68-1.958 7.911-2.22 7.899-2.075.871-10.036-7.463-8.455-13.377-17.308-18.788-28.128-4.595-9.187-4.385-9.088-12.279-5.807m188.472 26.543c-9.263 1.969-10.571 4.869-3.797 8.413 7.789 4.076 26.631 1.35 28.269-4.09 1.049-3.483-15.047-6.326-24.472-4.323m-145.13 35.115c-39.091 8.207-58.828 22.807-58.448 43.234.164 8.829 2.685 12.802 11.368 17.915 8.627 5.081 11.312 5.069 10.448-.045-.767-4.536.648-8.715 4.216-12.455 5.397-5.657 12.663-2.586 16.98 7.178 3.07 6.944 3.428 7.16 10.769 6.523 3.3-.286 19.422-1.176 35.827-1.978 27.587-1.348 30.367-1.653 37-4.055 13.369-4.84 35.15-11.412 39.923-12.045 6.432-.854 6.052-1.471-3.281-5.325-7.398-3.054-15.515-8.422-31.639-20.925-5.548-4.302-8.527-5.557-29.538-12.454-26.218-8.604-28.048-8.838-43.625-5.568m223.113 27.317c-9.416 7.923-33.235 17.849-50.78 21.162-4.95.935-9.562 1.847-10.25 2.028-.773.204-1.263 2.153-1.285 5.111-.019 2.629-.679 7.706-1.465 11.281-1.448 6.584-2.013 20.154-.885 21.281.338.338 1.705-.1 3.038-.973 3.813-2.499 13.084-4.276 22.347-4.284 10.711-.01 43.521 3.944 46.136 5.56.816.504 1.006.228.589-.858-2.549-6.643-5.051-39.823-4.058-53.816.701-9.872.679-9.913-3.387-6.492" fill-rule="evenodd"/></svg> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/Games.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,18467 @@ +import { + __commonJS, + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// node_modules/scheduler/cjs/scheduler.development.js +var require_scheduler_development = __commonJS({ + "node_modules/scheduler/cjs/scheduler.development.js"(exports) { + "use strict"; + (function() { + function performWorkUntilDeadline() { + needsPaint = false; + if (isMessageLoopRunning) { + var currentTime = exports.unstable_now(); + startTime = currentTime; + var hasMoreWork = true; + try { + a: { + isHostCallbackScheduled = false; + isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1); + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + b: { + advanceTimers(currentTime); + for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) { + var callback = currentTask.callback; + if ("function" === typeof callback) { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var continuationCallback = callback( + currentTask.expirationTime <= currentTime + ); + currentTime = exports.unstable_now(); + if ("function" === typeof continuationCallback) { + currentTask.callback = continuationCallback; + advanceTimers(currentTime); + hasMoreWork = true; + break b; + } + currentTask === peek(taskQueue) && pop(taskQueue); + advanceTimers(currentTime); + } else pop(taskQueue); + currentTask = peek(taskQueue); + } + if (null !== currentTask) hasMoreWork = true; + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + hasMoreWork = false; + } + } + break a; + } finally { + currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false; + } + hasMoreWork = void 0; + } + } finally { + hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false; + } + } + } + function push(heap, node) { + var index = heap.length; + heap.push(node); + a: for (; 0 < index; ) { + var parentIndex = index - 1 >>> 1, parent = heap[parentIndex]; + if (0 < compare(parent, node)) + heap[parentIndex] = node, heap[index] = parent, index = parentIndex; + else break a; + } + } + function peek(heap) { + return 0 === heap.length ? null : heap[0]; + } + function pop(heap) { + if (0 === heap.length) return null; + var first = heap[0], last = heap.pop(); + if (last !== first) { + heap[0] = last; + a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) { + var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex]; + if (0 > compare(left, last)) + rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex); + else if (rightIndex < length && 0 > compare(right, last)) + heap[index] = right, heap[rightIndex] = last, index = rightIndex; + else break a; + } + } + return first; + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return 0 !== diff ? diff : a.id - b.id; + } + function advanceTimers(currentTime) { + for (var timer = peek(timerQueue); null !== timer; ) { + if (null === timer.callback) pop(timerQueue); + else if (timer.startTime <= currentTime) + pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer); + else break; + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) + if (null !== peek(taskQueue)) + isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()); + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + } + } + function shouldYieldToHost() { + return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true; + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports.unstable_now()); + }, ms); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + exports.unstable_now = void 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + exports.unstable_now = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date, initialTime = localDate.now(); + exports.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1; + if ("function" === typeof localSetImmediate) + var schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + else if ("undefined" !== typeof MessageChannel) { + var channel = new MessageChannel(), port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + exports.unstable_IdlePriority = 5; + exports.unstable_ImmediatePriority = 1; + exports.unstable_LowPriority = 4; + exports.unstable_NormalPriority = 3; + exports.unstable_Profiling = null; + exports.unstable_UserBlockingPriority = 2; + exports.unstable_cancelCallback = function(task) { + task.callback = null; + }; + exports.unstable_forceFrameRate = function(fps) { + 0 > fps || 125 < fps ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported" + ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5; + }; + exports.unstable_getCurrentPriorityLevel = function() { + return currentPriorityLevel; + }; + exports.unstable_next = function(eventHandler) { + switch (currentPriorityLevel) { + case 1: + case 2: + case 3: + var priorityLevel = 3; + break; + default: + priorityLevel = currentPriorityLevel; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_requestPaint = function() { + needsPaint = true; + }; + exports.unstable_runWithPriority = function(priorityLevel, eventHandler) { + switch (priorityLevel) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + priorityLevel = 3; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_scheduleCallback = function(priorityLevel, callback, options) { + var currentTime = exports.unstable_now(); + "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime; + switch (priorityLevel) { + case 1: + var timeout = -1; + break; + case 2: + timeout = 250; + break; + case 5: + timeout = 1073741823; + break; + case 4: + timeout = 1e4; + break; + default: + timeout = 5e3; + } + timeout = options + timeout; + priorityLevel = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: options, + expirationTime: timeout, + sortIndex: -1 + }; + options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()))); + return priorityLevel; + }; + exports.unstable_shouldYield = shouldYieldToHost; + exports.unstable_wrapCallback = function(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + }; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } +}); + +// node_modules/scheduler/index.js +var require_scheduler = __commonJS({ + "node_modules/scheduler/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_scheduler_development(); + } + } +}); + +// node_modules/react-dom/cjs/react-dom.development.js +var require_react_dom_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom.development.js"(exports) { + "use strict"; + (function() { + function noop() { + } + function testStringCoercion(value) { + return "" + value; + } + function createPortal$1(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + try { + testStringCoercion(key); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + JSCompiler_inline_result && (console.error( + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object" + ), testStringCoercion(key)); + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children, + containerInfo, + implementation + }; + } + function getCrossOriginStringAs(as, input) { + if ("font" === as) return ""; + if ("string" === typeof input) + return "use-credentials" === input ? input : ""; + } + function getValueDescriptorExpectingObjectForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"'; + } + function getValueDescriptorExpectingEnumForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"'; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var React2 = require_react(), Internals = { + d: { + f: noop, + r: function() { + throw Error( + "Invalid form element. requestFormReset must be passed a form that was rendered by React." + ); + }, + D: noop, + C: noop, + L: noop, + m: noop, + X: noop, + S: noop, + M: noop + }, + p: 0, + findDOMNode: null + }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills" + ); + exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; + exports.createPortal = function(children, container) { + var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; + if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) + throw Error("Target container is not a DOM element."); + return createPortal$1(children, container, null, key); + }; + exports.flushSync = function(fn) { + var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; + try { + if (ReactSharedInternals.T = null, Internals.p = 2, fn) + return fn(); + } finally { + ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error( + "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task." + ); + } + }; + exports.preconnect = function(href, options) { + "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error( + "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", + getValueDescriptorExpectingEnumForWarning(options) + ) : null != options && "string" !== typeof options.crossOrigin && console.error( + "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", + getValueDescriptorExpectingObjectForWarning(options.crossOrigin) + ) : console.error( + "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options)); + }; + exports.prefetchDNS = function(href) { + if ("string" !== typeof href || !href) + console.error( + "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + else if (1 < arguments.length) { + var options = arguments[1]; + "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ) : console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ); + } + "string" === typeof href && Internals.d.D(href); + }; + exports.preinit = function(href, options) { + "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error( + "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", + getValueDescriptorExpectingEnumForWarning(options) + ) : "style" !== options.as && "script" !== options.as && console.error( + 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".', + getValueDescriptorExpectingEnumForWarning(options.as) + ) : console.error( + "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + if ("string" === typeof href && options && "string" === typeof options.as) { + var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; + "style" === as ? Internals.d.S( + href, + "string" === typeof options.precedence ? options.precedence : void 0, + { + crossOrigin, + integrity, + fetchPriority + } + ) : "script" === as && Internals.d.X(href, { + crossOrigin, + integrity, + fetchPriority, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } + }; + exports.preinitModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + "."); + if (encountered) + console.error( + "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", + encountered + ); + else + switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) { + case "script": + break; + default: + encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error( + 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)', + encountered, + href + ); + } + if ("string" === typeof href) + if ("object" === typeof options && null !== options) { + if (null == options.as || "script" === options.as) + encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.M(href, { + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } else null == options && Internals.d.M(href); + }; + exports.preload = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s', + encountered + ); + if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) { + encountered = options.as; + var crossOrigin = getCrossOriginStringAs( + encountered, + options.crossOrigin + ); + Internals.d.L(href, encountered, { + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0, + type: "string" === typeof options.type ? options.type : void 0, + fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, + referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, + imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, + imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, + media: "string" === typeof options.media ? options.media : void 0 + }); + } + }; + exports.preloadModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s', + encountered + ); + "string" === typeof href && (options ? (encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.m(href, { + as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0 + })) : Internals.d.m(href)); + }; + exports.requestFormReset = function(form) { + Internals.d.r(form); + }; + exports.unstable_batchedUpdates = function(fn, a) { + return fn(a); + }; + exports.useFormState = function(action, initialState, permalink) { + return resolveDispatcher().useFormState(action, initialState, permalink); + }; + exports.useFormStatus = function() { + return resolveDispatcher().useHostTransitionStatus(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } +}); + +// node_modules/react-dom/index.js +var require_react_dom = __commonJS({ + "node_modules/react-dom/index.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_development(); + } + } +}); + +// node_modules/react-dom/cjs/react-dom-client.development.js +var require_react_dom_client_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom-client.development.js"(exports) { + "use strict"; + (function() { + function findHook(fiber, id) { + for (fiber = fiber.memoizedState; null !== fiber && 0 < id; ) + fiber = fiber.next, id--; + return fiber; + } + function copyWithSetImpl(obj, path, index, value) { + if (index >= path.length) return value; + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + updated[key] = copyWithSetImpl(obj[key], path, index + 1, value); + return updated; + } + function copyWithRename(obj, oldPath, newPath) { + if (oldPath.length !== newPath.length) + console.warn("copyWithRename() expects paths of the same length"); + else { + for (var i = 0; i < newPath.length - 1; i++) + if (oldPath[i] !== newPath[i]) { + console.warn( + "copyWithRename() expects paths to be the same except for the deepest key" + ); + return; + } + return copyWithRenameImpl(obj, oldPath, newPath, 0); + } + } + function copyWithRenameImpl(obj, oldPath, newPath, index) { + var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl( + obj[oldKey], + oldPath, + newPath, + index + 1 + ); + return updated; + } + function copyWithDeleteImpl(obj, path, index) { + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + if (index + 1 === path.length) + return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated; + updated[key] = copyWithDeleteImpl(obj[key], path, index + 1); + return updated; + } + function shouldSuspendImpl() { + return false; + } + function shouldErrorImpl() { + return null; + } + function warnForMissingKey() { + } + function warnInvalidHookAccess() { + console.error( + "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks" + ); + } + function warnInvalidContextAccess() { + console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + } + function noop$2() { + } + function setToSortedString(set) { + var array = []; + set.forEach(function(value) { + array.push(value); + }); + return array.sort().join(", "); + } + function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + } + function scheduleRoot(root2, element) { + root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1()); + } + function scheduleRefresh(root2, update) { + if (null !== resolveFamily) { + var staleFamilies = update.staleFamilies; + update = update.updatedFamilies; + flushPendingEffects(); + scheduleFibersWithFamiliesRecursively( + root2.current, + update, + staleFamilies + ); + flushSyncWork$1(); + } + } + function setRefreshHandler(handler) { + resolveFamily = handler; + } + function isValidContainer(node) { + return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType); + } + function getNearestMountedFiber(fiber) { + var node = fiber, nearestMounted = fiber; + if (fiber.alternate) for (; node.return; ) node = node.return; + else { + fiber = node; + do + node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; + while (fiber); + } + return 3 === node.tag ? nearestMounted : null; + } + function getSuspenseInstanceFromFiber(fiber) { + if (13 === fiber.tag) { + var suspenseState = fiber.memoizedState; + null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState)); + if (null !== suspenseState) return suspenseState.dehydrated; + } + return null; + } + function assertIsMounted(fiber) { + if (getNearestMountedFiber(fiber) !== fiber) + throw Error("Unable to find node on an unmounted component."); + } + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) { + alternate = getNearestMountedFiber(fiber); + if (null === alternate) + throw Error("Unable to find node on an unmounted component."); + return alternate !== fiber ? null : fiber; + } + for (var a = fiber, b = alternate; ; ) { + var parentA = a.return; + if (null === parentA) break; + var parentB = parentA.alternate; + if (null === parentB) { + b = parentA.return; + if (null !== b) { + a = b; + continue; + } + break; + } + if (parentA.child === parentB.child) { + for (parentB = parentA.child; parentB; ) { + if (parentB === a) return assertIsMounted(parentA), fiber; + if (parentB === b) return assertIsMounted(parentA), alternate; + parentB = parentB.sibling; + } + throw Error("Unable to find node on an unmounted component."); + } + if (a.return !== b.return) a = parentA, b = parentB; + else { + for (var didFindChild = false, _child = parentA.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + _child = _child.sibling; + } + if (!didFindChild) { + for (_child = parentB.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + _child = _child.sibling; + } + if (!didFindChild) + throw Error( + "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." + ); + } + } + if (a.alternate !== b) + throw Error( + "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." + ); + } + if (3 !== a.tag) + throw Error("Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + function findCurrentHostFiberImpl(node) { + var tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; + for (node = node.child; null !== node; ) { + tag = findCurrentHostFiberImpl(node); + if (null !== tag) return tag; + node = node.sibling; + } + return null; + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getComponentNameFromOwner(owner) { + return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null; + } + function getComponentNameFromFiber(fiber) { + var type = fiber.type; + switch (fiber.tag) { + case 31: + return "Activity"; + case 24: + return "Cache"; + case 9: + return (type._context.displayName || "Context") + ".Consumer"; + case 10: + return (type.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 26: + case 27: + case 5: + return type; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return getComponentNameFromType(type); + case 8: + return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 14: + case 15: + if ("function" === typeof type) + return type.displayName || type.name || null; + if ("string" === typeof type) return type; + break; + case 29: + type = fiber._debugInfo; + if (null != type) { + for (var i = type.length - 1; 0 <= i; i--) + if ("string" === typeof type[i].name) return type[i].name; + } + if (null !== fiber.return) + return getComponentNameFromFiber(fiber.return); + } + return null; + } + function createCursor(defaultValue) { + return { current: defaultValue }; + } + function pop(cursor, fiber) { + 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--); + } + function push(cursor, value, fiber) { + index$jscomp$0++; + valueStack[index$jscomp$0] = cursor.current; + fiberStack[index$jscomp$0] = fiber; + cursor.current = value; + } + function requiredContext(c) { + null === c && console.error( + "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." + ); + return c; + } + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor, null, fiber); + var nextRootContext = nextRootInstance.nodeType; + switch (nextRootContext) { + case 9: + case 11: + nextRootContext = 9 === nextRootContext ? "#document" : "#fragment"; + nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone; + break; + default: + if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI) + nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd( + nextRootInstance, + nextRootContext + ); + else + switch (nextRootContext) { + case "svg": + nextRootInstance = HostContextNamespaceSvg; + break; + case "math": + nextRootInstance = HostContextNamespaceMath; + break; + default: + nextRootInstance = HostContextNamespaceNone; + } + } + nextRootContext = nextRootContext.toLowerCase(); + nextRootContext = updatedAncestorInfoDev(null, nextRootContext); + nextRootContext = { + context: nextRootInstance, + ancestorInfo: nextRootContext + }; + pop(contextStackCursor, fiber); + push(contextStackCursor, nextRootContext, fiber); + } + function popHostContainer(fiber) { + pop(contextStackCursor, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + function getHostContext() { + return requiredContext(contextStackCursor.current); + } + function pushHostContext(fiber) { + null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber); + var context = requiredContext(contextStackCursor.current); + var type = fiber.type; + var nextContext = getChildHostContextProd(context.context, type); + type = updatedAncestorInfoDev(context.ancestorInfo, type); + nextContext = { context: nextContext, ancestorInfo: type }; + context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber)); + } + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber)); + hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition); + } + function typeName(value) { + return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + } + function willCoercionThrow(value) { + try { + return testStringCoercion(value), false; + } catch (e) { + return true; + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkAttributeStringCoercion(value, attributeName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.", + attributeName, + typeName(value) + ), testStringCoercion(value); + } + function checkCSSPropertyStringCoercion(value, propName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.", + propName, + typeName(value) + ), testStringCoercion(value); + } + function checkFormFieldValueStringCoercion(value) { + if (willCoercionThrow(value)) + return console.error( + "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.", + typeName(value) + ), testStringCoercion(value); + } + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled) return true; + if (!hook.supportsFiber) + return console.error( + "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools" + ), true; + try { + rendererID = hook.inject(internals), injectedHook = hook; + } catch (err) { + console.error("React instrumentation encountered an error: %s.", err); + } + return hook.checkDCE ? true : false; + } + function setIsStrictModeForDevtools(newIsStrictMode) { + "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode); + if (injectedHook && "function" === typeof injectedHook.setStrictMode) + try { + injectedHook.setStrictMode(rendererID, newIsStrictMode); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + } + function injectProfilingHooks(profilingHooks) { + injectedProfilingHooks = profilingHooks; + } + function markCommitStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped(); + } + function markComponentRenderStarted(fiber) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber); + } + function markComponentRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped(); + } + function markRenderStarted(lanes) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes); + } + function markRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped(); + } + function markStateUpdateScheduled(fiber, lane) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); + } + function clz32Fallback(x) { + x >>>= 0; + return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0; + } + function getLabelForLane(lane) { + if (lane & 1) return "SyncHydrationLane"; + if (lane & 2) return "Sync"; + if (lane & 4) return "InputContinuousHydration"; + if (lane & 8) return "InputContinuous"; + if (lane & 16) return "DefaultHydration"; + if (lane & 32) return "Default"; + if (lane & 128) return "TransitionHydration"; + if (lane & 4194048) return "Transition"; + if (lane & 62914560) return "Retry"; + if (lane & 67108864) return "SelectiveHydration"; + if (lane & 134217728) return "IdleHydration"; + if (lane & 268435456) return "Idle"; + if (lane & 536870912) return "Offscreen"; + if (lane & 1073741824) return "Deferred"; + } + function getHighestPriorityLanes(lanes) { + var pendingSyncLanes = lanes & 42; + if (0 !== pendingSyncLanes) return pendingSyncLanes; + switch (lanes & -lanes) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + return 64; + case 128: + return 128; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return lanes & 4194048; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return lanes & 62914560; + case 67108864: + return 67108864; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 0; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), lanes; + } + } + function getNextLanes(root2, wipLanes, rootHasPendingCommit) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) return 0; + var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + root2 = root2.warmLanes; + var nonIdlePendingLanes = pendingLanes & 134217727; + 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))); + return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || 32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)) ? wipLanes : nextLanes; + } + function checkIfRootIsPrerendering(root2, renderLanes2) { + return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2); + } + function computeExpirationTime(lane, currentTime) { + switch (lane) { + case 1: + case 2: + case 4: + case 8: + case 64: + return currentTime + 250; + case 16: + case 32: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return currentTime + 5e3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return -1; + case 67108864: + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), -1; + } + } + function claimNextTransitionLane() { + var lane = nextTransitionLane; + nextTransitionLane <<= 1; + 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256); + return lane; + } + function claimNextRetryLane() { + var lane = nextRetryLane; + nextRetryLane <<= 1; + 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); + return lane; + } + function createLaneMap(initial) { + for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); + return laneMap; + } + function markRootUpdated$1(root2, updateLane) { + root2.pendingLanes |= updateLane; + 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0); + } + function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) { + var previouslyPendingLanes = root2.pendingLanes; + root2.pendingLanes = remainingLanes; + root2.suspendedLanes = 0; + root2.pingedLanes = 0; + root2.warmLanes = 0; + root2.expiredLanes &= remainingLanes; + root2.entangledLanes &= remainingLanes; + root2.errorRecoveryDisabledLanes &= remainingLanes; + root2.shellSuspendCounter = 0; + var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates; + for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) { + var index = 31 - clz32(remainingLanes), lane = 1 << index; + entanglements[index] = 0; + expirationTimes[index] = -1; + var hiddenUpdatesForLane = hiddenUpdates[index]; + if (null !== hiddenUpdatesForLane) + for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) { + var update = hiddenUpdatesForLane[index]; + null !== update && (update.lane &= -536870913); + } + remainingLanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0); + 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); + } + function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) { + root2.pendingLanes |= spawnedLane; + root2.suspendedLanes &= ~spawnedLane; + var spawnedLaneIndex = 31 - clz32(spawnedLane); + root2.entangledLanes |= spawnedLane; + root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194090; + } + function markRootEntangled(root2, entangledLanes) { + var rootEntangledLanes = root2.entangledLanes |= entangledLanes; + for (root2 = root2.entanglements; rootEntangledLanes; ) { + var index = 31 - clz32(rootEntangledLanes), lane = 1 << index; + lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes); + rootEntangledLanes &= ~lane; + } + } + function getBumpedLaneForHydrationByLane(lane) { + switch (lane) { + case 2: + lane = 1; + break; + case 8: + lane = 4; + break; + case 32: + lane = 16; + break; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + lane = 128; + break; + case 268435456: + lane = 134217728; + break; + default: + lane = 0; + } + return lane; + } + function addFiberToLanesMap(root2, fiber, lanes) { + if (isDevToolsPresent) + for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + root2[index].add(fiber); + lanes &= ~lane; + } + } + function movePendingFibersToMemoized(root2, lanes) { + if (isDevToolsPresent) + for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) { + var index = 31 - clz32(lanes); + root2 = 1 << index; + index = pendingUpdatersLaneMap[index]; + 0 < index.size && (index.forEach(function(fiber) { + var alternate = fiber.alternate; + null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber); + }), index.clear()); + lanes &= ~root2; + } + } + function lanesToEventPriority(lanes) { + lanes &= -lanes; + return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority; + } + function resolveUpdatePriority() { + var updatePriority = ReactDOMSharedInternals.p; + if (0 !== updatePriority) return updatePriority; + updatePriority = window.event; + return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type); + } + function runWithPriority(priority, fn) { + var previousPriority = ReactDOMSharedInternals.p; + try { + return ReactDOMSharedInternals.p = priority, fn(); + } finally { + ReactDOMSharedInternals.p = previousPriority; + } + } + function detachDeletedInstance(node) { + delete node[internalInstanceKey]; + delete node[internalPropsKey]; + delete node[internalEventHandlersKey]; + delete node[internalEventHandlerListenersKey]; + delete node[internalEventHandlesSetKey]; + } + function getClosestInstanceFromNode(targetNode) { + var targetInst = targetNode[internalInstanceKey]; + if (targetInst) return targetInst; + for (var parentNode = targetNode.parentNode; parentNode; ) { + if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) { + parentNode = targetInst.alternate; + if (null !== targetInst.child || null !== parentNode && null !== parentNode.child) + for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode; ) { + if (parentNode = targetNode[internalInstanceKey]) + return parentNode; + targetNode = getParentSuspenseInstance(targetNode); + } + return targetInst; + } + targetNode = parentNode; + parentNode = targetNode.parentNode; + } + return null; + } + function getInstanceFromNode(node) { + if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) { + var tag = node.tag; + if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag) + return node; + } + return null; + } + function getNodeFromInstance(inst) { + var tag = inst.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) + return inst.stateNode; + throw Error("getNodeFromInstance: Invalid argument."); + } + function getResourcesFromRoot(root2) { + var resources = root2[internalRootNodeResourcesKey]; + resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() }); + return resources; + } + function markNodeAsHoistable(node) { + node[internalHoistableMarker] = true; + } + function registerTwoPhaseEvent(registrationName, dependencies) { + registerDirectEvent(registrationName, dependencies); + registerDirectEvent(registrationName + "Capture", dependencies); + } + function registerDirectEvent(registrationName, dependencies) { + registrationNameDependencies[registrationName] && console.error( + "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", + registrationName + ); + registrationNameDependencies[registrationName] = dependencies; + var lowerCasedName = registrationName.toLowerCase(); + possibleRegistrationNames[lowerCasedName] = registrationName; + "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName); + for (registrationName = 0; registrationName < dependencies.length; registrationName++) + allNativeEvents.add(dependencies[registrationName]); + } + function checkControlledValueProps(tagName, props) { + hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`." + ) : console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`." + )); + props.onChange || props.readOnly || props.disabled || null == props.checked || console.error( + "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`." + ); + } + function isAttributeNameSafe(attributeName) { + if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) + return true; + if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) + return false; + if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) + return validatedAttributeNameCache[attributeName] = true; + illegalAttributeNameCache[attributeName] = true; + console.error("Invalid attribute name: `%s`", attributeName); + return false; + } + function getValueForAttributeOnCustomComponent(node, name, expected) { + if (isAttributeNameSafe(name)) { + if (!node.hasAttribute(name)) { + switch (typeof expected) { + case "symbol": + case "object": + return expected; + case "function": + return expected; + case "boolean": + if (false === expected) return expected; + } + return void 0 === expected ? void 0 : null; + } + node = node.getAttribute(name); + if ("" === node && true === expected) return true; + checkAttributeStringCoercion(expected, name); + return node === "" + expected ? expected : node; + } + } + function setValueForAttribute(node, name, value) { + if (isAttributeNameSafe(name)) + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + node.removeAttribute(name); + return; + case "boolean": + var prefix2 = name.toLowerCase().slice(0, 5); + if ("data-" !== prefix2 && "aria-" !== prefix2) { + node.removeAttribute(name); + return; + } + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForKnownAttribute(node, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForNamespacedAttribute(node, namespace, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttributeNS(namespace, name, "" + value); + } + } + function disabledLog() { + } + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: true, enumerable: true, writable: true }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = true; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher2 = null; + previousDispatcher2 = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function() { + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() { + }); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); + for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); ) + namePropDescriptor++; + for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); ) + _RunInRootFrame$Deter++; + if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) + for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; ) + _RunInRootFrame$Deter--; + for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) + if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + var _frame = "\n" + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame; + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function formatOwnerStack(error) { + var prevPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + error = error.stack; + Error.prepareStackTrace = prevPrepareStackTrace; + error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29)); + prevPrepareStackTrace = error.indexOf("\n"); + -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1)); + prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame"); + -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf( + "\n", + prevPrepareStackTrace + )); + if (-1 !== prevPrepareStackTrace) + error = error.slice(0, prevPrepareStackTrace); + else return ""; + return error; + } + function describeFiber(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return describeBuiltInComponentFrame(fiber.type); + case 16: + return describeBuiltInComponentFrame("Lazy"); + case 13: + return describeBuiltInComponentFrame("Suspense"); + case 19: + return describeBuiltInComponentFrame("SuspenseList"); + case 0: + case 15: + return describeNativeComponentFrame(fiber.type, false); + case 11: + return describeNativeComponentFrame(fiber.type.render, false); + case 1: + return describeNativeComponentFrame(fiber.type, true); + case 31: + return describeBuiltInComponentFrame("Activity"); + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workInProgress2) { + try { + var info = ""; + do { + info += describeFiber(workInProgress2); + var debugInfo = workInProgress2._debugInfo; + if (debugInfo) + for (var i = debugInfo.length - 1; 0 <= i; i--) { + var entry = debugInfo[i]; + if ("string" === typeof entry.name) { + var JSCompiler_temp_const = info, env = entry.env; + var JSCompiler_inline_result = describeBuiltInComponentFrame( + entry.name + (env ? " [" + env + "]" : "") + ); + info = JSCompiler_temp_const + JSCompiler_inline_result; + } + } + workInProgress2 = workInProgress2.return; + } while (workInProgress2); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function describeFunctionComponentFrameWithoutLineNumber(fn) { + return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : ""; + } + function getCurrentFiberOwnerNameInDevOrNull() { + if (null === current) return null; + var owner = current._debugOwner; + return null != owner ? getComponentNameFromOwner(owner) : null; + } + function getCurrentFiberStackInDev() { + if (null === current) return ""; + var workInProgress2 = current; + try { + var info = ""; + 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return); + switch (workInProgress2.tag) { + case 26: + case 27: + case 5: + info += describeBuiltInComponentFrame(workInProgress2.type); + break; + case 13: + info += describeBuiltInComponentFrame("Suspense"); + break; + case 19: + info += describeBuiltInComponentFrame("SuspenseList"); + break; + case 31: + info += describeBuiltInComponentFrame("Activity"); + break; + case 30: + case 0: + case 15: + case 1: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type + )); + break; + case 11: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type.render + )); + } + for (; workInProgress2; ) + if ("number" === typeof workInProgress2.tag) { + var fiber = workInProgress2; + workInProgress2 = fiber._debugOwner; + var debugStack = fiber._debugStack; + workInProgress2 && debugStack && ("string" !== typeof debugStack && (fiber._debugStack = debugStack = formatOwnerStack(debugStack)), "" !== debugStack && (info += "\n" + debugStack)); + } else if (null != workInProgress2.debugStack) { + var ownerStack = workInProgress2.debugStack; + (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack)); + } else break; + var JSCompiler_inline_result = info; + } catch (x) { + JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack; + } + return JSCompiler_inline_result; + } + function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) { + var previousFiber = current; + setCurrentFiber(fiber); + try { + return null !== fiber && fiber._debugTask ? fiber._debugTask.run( + callback.bind(null, arg0, arg1, arg2, arg3, arg4) + ) : callback(arg0, arg1, arg2, arg3, arg4); + } finally { + setCurrentFiber(previousFiber); + } + throw Error( + "runWithFiberInDEV should never be called in production. This is a bug in React." + ); + } + function setCurrentFiber(fiber) { + ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev; + isRendering = false; + current = fiber; + } + function getToStringValue(value) { + switch (typeof value) { + case "bigint": + case "boolean": + case "number": + case "string": + case "undefined": + return value; + case "object": + return checkFormFieldValueStringCoercion(value), value; + default: + return ""; + } + } + function isCheckable(elem) { + var type = elem.type; + return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type); + } + function trackValueOnNode(node) { + var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor( + node.constructor.prototype, + valueField + ); + checkFormFieldValueStringCoercion(node[valueField]); + var currentValue = "" + node[valueField]; + if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) { + var get = descriptor.get, set = descriptor.set; + Object.defineProperty(node, valueField, { + configurable: true, + get: function() { + return get.call(this); + }, + set: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + set.call(this, value); + } + }); + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable + }); + return { + getValue: function() { + return currentValue; + }, + setValue: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + }, + stopTracking: function() { + node._valueTracker = null; + delete node[valueField]; + } + }; + } + } + function track(node) { + node._valueTracker || (node._valueTracker = trackValueOnNode(node)); + } + function updateValueIfChanged(node) { + if (!node) return false; + var tracker = node._valueTracker; + if (!tracker) return true; + var lastValue = tracker.getValue(); + var value = ""; + node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value); + node = value; + return node !== lastValue ? (tracker.setValue(node), true) : false; + } + function getActiveElement(doc) { + doc = doc || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof doc) return null; + try { + return doc.activeElement || doc.body; + } catch (e) { + return doc.body; + } + } + function escapeSelectorAttributeValueInsideDoubleQuotes(value) { + return value.replace( + escapeSelectorAttributeValueInsideDoubleQuotesRegex, + function(ch) { + return "\\" + ch.charCodeAt(0).toString(16) + " "; + } + ); + } + function validateInputProps(element, props) { + void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error( + "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnCheckedDefaultChecked = true); + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error( + "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnValueDefaultValue$1 = true); + } + function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) { + element.name = ""; + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type"); + if (null != value) + if ("number" === type) { + if (0 === value && "" === element.value || element.value != value) + element.value = "" + getToStringValue(value); + } else + element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value)); + else + "submit" !== type && "reset" !== type || element.removeAttribute("value"); + null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value"); + null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked); + null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked); + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name"); + } + function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) { + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type); + if (null != value || null != defaultValue) { + if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) + return; + defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + value = null != value ? "" + getToStringValue(value) : defaultValue; + isHydrating2 || value === element.value || (element.value = value); + element.defaultValue = value; + } + checked = null != checked ? checked : defaultChecked; + checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked; + element.checked = isHydrating2 ? element.checked : !!checked; + element.defaultChecked = !!checked; + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name); + } + function setDefaultValue(node, type, value) { + "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value); + } + function validateOptionProps(element, props) { + null == props.value && ("object" === typeof props.children && null !== props.children ? React2.Children.forEach(props.children, function(child) { + null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error( + "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>." + )); + }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error( + "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected." + ))); + null == props.selected || didWarnSelectedSetOnOption || (console.error( + "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>." + ), didWarnSelectedSetOnOption = true); + } + function getDeclarationErrorAddendum() { + var ownerName = getCurrentFiberOwnerNameInDevOrNull(); + return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : ""; + } + function updateOptions(node, multiple, propValue, setDefaultSelected) { + node = node.options; + if (multiple) { + multiple = {}; + for (var i = 0; i < propValue.length; i++) + multiple["$" + propValue[i]] = true; + for (propValue = 0; propValue < node.length; propValue++) + i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true); + } else { + propValue = "" + getToStringValue(propValue); + multiple = null; + for (i = 0; i < node.length; i++) { + if (node[i].value === propValue) { + node[i].selected = true; + setDefaultSelected && (node[i].defaultSelected = true); + return; + } + null !== multiple || node[i].disabled || (multiple = node[i]); + } + null !== multiple && (multiple.selected = true); + } + } + function validateSelectProps(element, props) { + for (element = 0; element < valuePropNames.length; element++) { + var propName = valuePropNames[element]; + if (null != props[propName]) { + var propNameIsArray = isArrayImpl(props[propName]); + props.multiple && !propNameIsArray ? console.error( + "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", + propName, + getDeclarationErrorAddendum() + ) : !props.multiple && propNameIsArray && console.error( + "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", + propName, + getDeclarationErrorAddendum() + ); + } + } + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error( + "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components" + ), didWarnValueDefaultValue = true); + } + function validateTextareaProps(element, props) { + void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error( + "%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component" + ), didWarnValDefaultVal = true); + null != props.children && null == props.value && console.error( + "Use the `defaultValue` or `value` props instead of setting children on <textarea>." + ); + } + function updateTextarea(element, value, defaultValue) { + if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + } + function initTextarea(element, value, defaultValue, children) { + if (null == value) { + if (null != children) { + if (null != defaultValue) + throw Error( + "If you supply `defaultValue` on a <textarea>, do not pass children." + ); + if (isArrayImpl(children)) { + if (1 < children.length) + throw Error("<textarea> can only have at most one child."); + children = children[0]; + } + defaultValue = children; + } + null == defaultValue && (defaultValue = ""); + value = defaultValue; + } + defaultValue = getToStringValue(value); + element.defaultValue = defaultValue; + children = element.textContent; + children === defaultValue && "" !== children && null !== children && (element.value = children); + } + function findNotableNode(node, indent) { + return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node; + } + function indentation(indent) { + return " " + " ".repeat(indent); + } + function added(indent) { + return "+ " + " ".repeat(indent); + } + function removed(indent) { + return "- " + " ".repeat(indent); + } + function describeFiberType(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return fiber.type; + case 16: + return "Lazy"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 0: + case 15: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + case 11: + return fiber = fiber.type.render, fiber.displayName || fiber.name || null; + case 1: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + default: + return null; + } + } + function describeTextNode(content, maxLength) { + return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content; + } + function describeTextDiff(clientText, serverProps, indent) { + var maxLength = 120 - 2 * indent; + if (null === serverProps) + return added(indent) + describeTextNode(clientText, maxLength) + "\n"; + if ("string" === typeof serverProps) { + for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ; + firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8)); + return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n"; + } + return indentation(indent) + describeTextNode(clientText, maxLength) + "\n"; + } + function objectName(object) { + return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) { + return p0; + }); + } + function describeValue(value, maxLength) { + switch (typeof value) { + case "string": + return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value; + case "object": + if (null === value) return "null"; + if (isArrayImpl(value)) return "[...]"; + if (value.$$typeof === REACT_ELEMENT_TYPE) + return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>"; + var name = objectName(value); + if ("Object" === name) { + name = ""; + maxLength -= 2; + for (var propName in value) + if (value.hasOwnProperty(propName)) { + var jsonPropName = JSON.stringify(propName); + jsonPropName !== '"' + propName + '"' && (propName = jsonPropName); + maxLength -= propName.length - 2; + jsonPropName = describeValue( + value[propName], + 15 > maxLength ? maxLength : 15 + ); + maxLength -= jsonPropName.length; + if (0 > maxLength) { + name += "" === name ? "..." : ", ..."; + break; + } + name += ("" === name ? "" : ",") + propName + ":" + jsonPropName; + } + return "{" + name + "}"; + } + return name; + case "function": + return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function"; + default: + return String(value); + } + } + function describePropValue(value, maxLength) { + return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"'; + } + function describeExpandedElement(type, props, rowPrefix) { + var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName; + for (propName in props) + if (props.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue( + props[propName], + 120 - rowPrefix.length - propName.length - 1 + ); + remainingRowLength -= propName.length + propValue.length + 2; + properties.push(propName + "=" + propValue); + } + return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n"; + } + function describePropertiesDiff(clientObject, serverObject, indent) { + var properties = "", remainingServerProperties = assign({}, serverObject), propName; + for (propName in clientObject) + if (clientObject.hasOwnProperty(propName)) { + delete remainingServerProperties[propName]; + var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength); + serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n"; + } + for (var _propName in remainingServerProperties) + remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue( + remainingServerProperties[_propName], + 120 - 2 * indent - _propName.length - 2 + ), properties += removed(indent) + _propName + ": " + clientObject + "\n"); + return properties; + } + function describeElementDiff(type, clientProps, serverProps, indent) { + var content = "", serverPropNames = /* @__PURE__ */ new Map(); + for (propName$jscomp$0 in serverProps) + serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set( + propName$jscomp$0.toLowerCase(), + propName$jscomp$0 + ); + if (1 === serverPropNames.size && serverPropNames.has("children")) + content += describeExpandedElement( + type, + clientProps, + indentation(indent) + ); + else { + for (var _propName2 in clientProps) + if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) { + var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase()); + if (void 0 !== serverPropName) { + serverPropNames.delete(_propName2.toLowerCase()); + var propName$jscomp$0 = clientProps[_propName2]; + serverPropName = serverProps[serverPropName]; + var clientPropValue = describePropValue( + propName$jscomp$0, + maxLength$jscomp$0 + ); + maxLength$jscomp$0 = describePropValue( + serverPropName, + maxLength$jscomp$0 + ); + "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff( + propName$jscomp$0, + serverPropName, + indent + 2 + ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n"); + } else + content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n"; + } + serverPropNames.forEach(function(propName) { + if ("children" !== propName) { + var maxLength = 120 - 2 * (indent + 1) - propName.length - 1; + content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n"; + } + }); + content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n"; + } + type = serverProps.children; + clientProps = clientProps.children; + if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) { + serverPropNames = ""; + if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + serverPropNames = "" + clientProps; + content += describeTextDiff(serverPropNames, "" + type, indent + 1); + } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1); + return content; + } + function describeSiblingFiber(fiber, indent) { + var type = describeFiberType(fiber); + if (null === type) { + type = ""; + for (fiber = fiber.child; fiber; ) + type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling; + return type; + } + return indentation(indent) + "<" + type + ">\n"; + } + function describeNode(node, indent) { + var skipToNode = findNotableNode(node, indent); + if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode)) + return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1); + skipToNode = ""; + var debugInfo = node.fiber._debugInfo; + if (debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var serverComponentName = debugInfo[i].name; + "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++); + } + debugInfo = ""; + i = node.fiber.pendingProps; + if (6 === node.fiber.tag) + debugInfo = describeTextDiff(i, node.serverProps, indent), indent++; + else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName) + if (void 0 === node.serverProps) { + debugInfo = indent; + var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = ""; + for (propName in i) + if (i.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue(i[propName], 15); + maxLength -= propName.length + propValue.length + 2; + if (0 > maxLength) { + content += " ..."; + break; + } + content += " " + propName + "=" + propValue; + } + debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n"; + indent++; + } else + null === node.serverProps ? (debugInfo = describeExpandedElement( + serverComponentName, + i, + added(indent) + ), indent++) : "string" === typeof node.serverProps ? console.error( + "Should not have matched a non HostText fiber to a Text node. This is a bug in React." + ) : (debugInfo = describeElementDiff( + serverComponentName, + i, + node.serverProps, + indent + ), indent++); + var propName = ""; + i = node.fiber.child; + for (serverComponentName = 0; i && serverComponentName < node.children.length; ) + maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling; + i && 0 < node.children.length && (propName += indentation(indent) + "...\n"); + i = node.serverTail; + null === node.serverProps && indent--; + for (node = 0; node < i.length; node++) + serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement( + serverComponentName.type, + serverComponentName.props, + removed(indent) + ); + return skipToNode + debugInfo + propName; + } + function describeDiff(rootNode) { + try { + return "\n\n" + describeNode(rootNode, 0); + } catch (x) { + return ""; + } + } + function describeAncestors(ancestor, child, props) { + for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; ) + fiber === ancestor && (distanceFromLeaf = 0), node = { + fiber, + children: null !== node ? [node] : [], + serverProps: fiber === child ? props : fiber === ancestor ? null : void 0, + serverTail: [], + distanceFromLeaf + }, distanceFromLeaf++, fiber = fiber.return; + return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : ""; + } + function updatedAncestorInfoDev(oldInfo, tag) { + var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag }; + -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null); + -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null); + -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null); + ancestorInfo.current = info; + "form" === tag && (ancestorInfo.formTag = info); + "a" === tag && (ancestorInfo.aTagInScope = info); + "button" === tag && (ancestorInfo.buttonTagInScope = info); + "nobr" === tag && (ancestorInfo.nobrTagInScope = info); + "p" === tag && (ancestorInfo.pTagInButtonScope = info); + "li" === tag && (ancestorInfo.listItemTagAutoclosing = info); + if ("dd" === tag || "dt" === tag) + ancestorInfo.dlItemTagAutoclosing = info; + "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info); + null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true; + return ancestorInfo; + } + function isTagValidWithParent(tag, parentTag, implicitRootScope) { + switch (parentTag) { + case "select": + return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag; + case "optgroup": + return "option" === tag || "#text" === tag; + case "option": + return "#text" === tag; + case "tr": + return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag; + case "tbody": + case "thead": + case "tfoot": + return "tr" === tag || "style" === tag || "script" === tag || "template" === tag; + case "colgroup": + return "col" === tag || "template" === tag; + case "table": + return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag; + case "head": + return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag; + case "html": + if (implicitRootScope) break; + return "head" === tag || "body" === tag || "frameset" === tag; + case "frameset": + return "frame" === tag; + case "#document": + if (!implicitRootScope) return "html" === tag; + } + switch (tag) { + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag; + case "rp": + case "rt": + return -1 === impliedEndTags.indexOf(parentTag); + case "caption": + case "col": + case "colgroup": + case "frameset": + case "frame": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return null == parentTag; + case "head": + return implicitRootScope || null === parentTag; + case "html": + return implicitRootScope && "#document" === parentTag || null === parentTag; + case "body": + return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag; + } + return true; + } + function findInvalidAncestorForTag(tag, ancestorInfo) { + switch (tag) { + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dialog": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "main": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + case "pre": + case "listing": + case "table": + case "hr": + case "xmp": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return ancestorInfo.pTagInButtonScope; + case "form": + return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; + case "li": + return ancestorInfo.listItemTagAutoclosing; + case "dd": + case "dt": + return ancestorInfo.dlItemTagAutoclosing; + case "button": + return ancestorInfo.buttonTagInScope; + case "a": + return ancestorInfo.aTagInScope; + case "nobr": + return ancestorInfo.nobrTagInScope; + } + return null; + } + function findAncestor(parent, tagName) { + for (; parent; ) { + switch (parent.tag) { + case 5: + case 26: + case 27: + if (parent.type === tagName) return parent; + } + parent = parent.return; + } + return null; + } + function validateDOMNesting(childTag, ancestorInfo) { + ancestorInfo = ancestorInfo || emptyAncestorInfoDev; + var parentInfo = ancestorInfo.current; + ancestorInfo = (parentInfo = isTagValidWithParent( + childTag, + parentInfo && parentInfo.tag, + ancestorInfo.implicitRootScope + ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo); + ancestorInfo = parentInfo || ancestorInfo; + if (!ancestorInfo) return true; + var ancestorTag = ancestorInfo.tag; + ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag; + if (didWarn[ancestorInfo]) return false; + didWarn[ancestorInfo] = true; + var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">"; + parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error( + "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + parentInfo, + ancestorDescription + )) : console.error( + "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + ancestorDescription + ); + ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() { + console.error( + "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.", + ancestorTag, + tagDisplayName + ); + })); + return false; + } + function validateTextNesting(childText, parentTag, implicitRootScope) { + if (implicitRootScope || isTagValidWithParent("#text", parentTag, false)) + return true; + implicitRootScope = "#text|" + parentTag; + if (didWarn[implicitRootScope]) return false; + didWarn[implicitRootScope] = true; + var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null; + implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors( + ancestor, + implicitRootScope, + 6 !== implicitRootScope.tag ? { children: null } : null + ) : ""; + /\S/.test(childText) ? console.error( + "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ) : console.error( + "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ); + return false; + } + function setTextContent(node, text) { + if (text) { + var firstChild = node.firstChild; + if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) { + firstChild.nodeValue = text; + return; + } + } + node.textContent = text; + } + function camelize(string) { + return string.replace(hyphenPattern, function(_, character) { + return character.toUpperCase(); + }); + } + function setValueForStyle(style2, styleName, value) { + var isCustomProperty = 0 === styleName.indexOf("--"); + isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported style property %s. Did you mean %s?", + styleName, + camelize(styleName.replace(msPattern, "ms-")) + )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported vendor-prefixed style property %s. Did you mean %s?", + styleName, + styleName.charAt(0).toUpperCase() + styleName.slice(1) + )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error( + `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, + styleName, + value.replace(badStyleValueWithSemicolonPattern, "") + )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error( + "`NaN` is an invalid value for the `%s` css style property.", + styleName + )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error( + "`Infinity` is an invalid value for the `%s` css style property.", + styleName + )))); + null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px"; + } + function setValueForStyles(node, styles, prevStyles) { + if (null != styles && "object" !== typeof styles) + throw Error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + styles && Object.freeze(styles); + node = node.style; + if (null != prevStyles) { + if (styles) { + var expandedUpdates = {}; + if (prevStyles) { + for (var key in prevStyles) + if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key)) + for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++) + expandedUpdates[longhands[i]] = key; + } + for (var _key in styles) + if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key])) + for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++) + expandedUpdates[key[longhands]] = _key; + _key = {}; + for (var key$jscomp$0 in styles) + for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++) + _key[key[longhands]] = key$jscomp$0; + key$jscomp$0 = {}; + for (var _key2 in expandedUpdates) + if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) { + key$jscomp$0[i] = true; + i = console; + var value = styles[key]; + i.error.call( + i, + "%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.", + null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating", + key, + longhands + ); + } + } + for (var styleName in prevStyles) + !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = ""); + for (var _styleName in styles) + _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node, _styleName, _key2); + } else + for (expandedUpdates in styles) + styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]); + } + function isCustomElement(tagName) { + if (-1 === tagName.indexOf("-")) return false; + switch (tagName) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return false; + default: + return true; + } + } + function getAttributeAlias(name) { + return aliases.get(name) || name; + } + function validateProperty$1(tagName, name) { + if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) + return true; + if (rARIACamel$1.test(name)) { + tagName = "aria-" + name.slice(4).toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) + return console.error( + "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", + name + ), warnedProperties$1[name] = true; + if (name !== tagName) + return console.error( + "Invalid ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true; + } + if (rARIA$1.test(name)) { + tagName = name.toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) return warnedProperties$1[name] = true, false; + name !== tagName && (console.error( + "Unknown ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true); + } + return true; + } + function validateProperties$2(type, props) { + var invalidProps = [], key; + for (key in props) + validateProperty$1(type, key) || invalidProps.push(key); + props = invalidProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === invalidProps.length ? console.error( + "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ) : 1 < invalidProps.length && console.error( + "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ); + } + function validateProperty(tagName, name, value, eventRegistry) { + if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) + return true; + var lowerCasedName = name.toLowerCase(); + if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName) + return console.error( + "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React." + ), warnedProperties[name] = true; + if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name)) + return true; + if (null != eventRegistry) { + tagName = eventRegistry.possibleRegistrationNames; + if (eventRegistry.registrationNameDependencies.hasOwnProperty(name)) + return true; + eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null; + if (null != eventRegistry) + return console.error( + "Invalid event handler property `%s`. Did you mean `%s`?", + name, + eventRegistry + ), warnedProperties[name] = true; + if (EVENT_NAME_REGEX.test(name)) + return console.error( + "Unknown event handler property `%s`. It will be ignored.", + name + ), warnedProperties[name] = true; + } else if (EVENT_NAME_REGEX.test(name)) + return INVALID_EVENT_NAME_REGEX.test(name) && console.error( + "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", + name + ), warnedProperties[name] = true; + if (rARIA.test(name) || rARIACamel.test(name)) return true; + if ("innerhtml" === lowerCasedName) + return console.error( + "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`." + ), warnedProperties[name] = true; + if ("aria" === lowerCasedName) + return console.error( + "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead." + ), warnedProperties[name] = true; + if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value) + return console.error( + "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", + typeof value + ), warnedProperties[name] = true; + if ("number" === typeof value && isNaN(value)) + return console.error( + "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", + name + ), warnedProperties[name] = true; + if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { + if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name) + return console.error( + "Invalid DOM property `%s`. Did you mean `%s`?", + name, + lowerCasedName + ), warnedProperties[name] = true; + } else if (name !== lowerCasedName) + return console.error( + "React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", + name, + lowerCasedName + ), warnedProperties[name] = true; + switch (name) { + case "dangerouslySetInnerHTML": + case "children": + case "style": + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + return true; + case "innerText": + case "textContent": + return true; + } + switch (typeof value) { + case "boolean": + switch (name) { + case "autoFocus": + case "checked": + case "multiple": + case "muted": + case "selected": + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "capture": + case "download": + case "inert": + return true; + default: + lowerCasedName = name.toLowerCase().slice(0, 5); + if ("data-" === lowerCasedName || "aria-" === lowerCasedName) + return true; + value ? console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', + value, + name, + name, + value, + name + ) : console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', + value, + name, + name, + value, + name, + name, + name + ); + return warnedProperties[name] = true; + } + case "function": + case "symbol": + return warnedProperties[name] = true, false; + case "string": + if ("false" === value || "true" === value) { + switch (name) { + case "checked": + case "selected": + case "multiple": + case "muted": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "inert": + break; + default: + return true; + } + console.error( + "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", + value, + name, + "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', + name, + value + ); + warnedProperties[name] = true; + } + } + return true; + } + function warnUnknownProperties(type, props, eventRegistry) { + var unknownProps = [], key; + for (key in props) + validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key); + props = unknownProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === unknownProps.length ? console.error( + "Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ) : 1 < unknownProps.length && console.error( + "Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ); + } + function sanitizeURL(url) { + return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url; + } + function getEventTarget(nativeEvent) { + nativeEvent = nativeEvent.target || nativeEvent.srcElement || window; + nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement); + return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent; + } + function restoreStateOfTarget(target) { + var internalInstance = getInstanceFromNode(target); + if (internalInstance && (target = internalInstance.stateNode)) { + var props = target[internalPropsKey] || null; + a: switch (target = internalInstance.stateNode, internalInstance.type) { + case "input": + updateInput( + target, + props.value, + props.defaultValue, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name + ); + internalInstance = props.name; + if ("radio" === props.type && null != internalInstance) { + for (props = target; props.parentNode; ) props = props.parentNode; + checkAttributeStringCoercion(internalInstance, "name"); + props = props.querySelectorAll( + 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes( + "" + internalInstance + ) + '"][type="radio"]' + ); + for (internalInstance = 0; internalInstance < props.length; internalInstance++) { + var otherNode = props[internalInstance]; + if (otherNode !== target && otherNode.form === target.form) { + var otherProps = otherNode[internalPropsKey] || null; + if (!otherProps) + throw Error( + "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." + ); + updateInput( + otherNode, + otherProps.value, + otherProps.defaultValue, + otherProps.defaultValue, + otherProps.checked, + otherProps.defaultChecked, + otherProps.type, + otherProps.name + ); + } + } + for (internalInstance = 0; internalInstance < props.length; internalInstance++) + otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode); + } + break a; + case "textarea": + updateTextarea(target, props.value, props.defaultValue); + break a; + case "select": + internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false); + } + } + } + function batchedUpdates$1(fn, a, b) { + if (isInsideEventHandler) return fn(a, b); + isInsideEventHandler = true; + try { + var JSCompiler_inline_result = fn(a); + return JSCompiler_inline_result; + } finally { + if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) { + if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn)) + for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]); + } + } + } + function getListener(inst, registrationName) { + var stateNode = inst.stateNode; + if (null === stateNode) return null; + var props = stateNode[internalPropsKey] || null; + if (null === props) return null; + stateNode = props[registrationName]; + a: switch (registrationName) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst)); + inst = !props; + break a; + default: + inst = false; + } + if (inst) return null; + if (stateNode && "function" !== typeof stateNode) + throw Error( + "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type." + ); + return stateNode; + } + function getData() { + if (fallbackText) return fallbackText; + var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length; + for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ; + var minEnd = startLength - start; + for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ; + return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0); + } + function getEventCharCode(nativeEvent) { + var keyCode = nativeEvent.keyCode; + "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode; + 10 === nativeEvent && (nativeEvent = 13); + return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0; + } + function functionThatReturnsTrue() { + return true; + } + function functionThatReturnsFalse() { + return false; + } + function createSyntheticEvent(Interface) { + function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) { + this._reactName = reactName; + this._targetInst = targetInst; + this.type = reactEventType; + this.nativeEvent = nativeEvent; + this.target = nativeEventTarget; + this.currentTarget = null; + for (var propName in Interface) + Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]); + this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse; + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + assign(SyntheticBaseEvent.prototype, { + preventDefault: function() { + this.defaultPrevented = true; + var event = this.nativeEvent; + event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue); + }, + stopPropagation: function() { + var event = this.nativeEvent; + event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue); + }, + persist: function() { + }, + isPersistent: functionThatReturnsTrue + }); + return SyntheticBaseEvent; + } + function modifierStateGetter(keyArg) { + var nativeEvent = this.nativeEvent; + return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false; + } + function getEventModifierState() { + return modifierStateGetter; + } + function isFallbackCompositionEnd(domEventName, nativeEvent) { + switch (domEventName) { + case "keyup": + return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode); + case "keydown": + return nativeEvent.keyCode !== START_KEYCODE; + case "keypress": + case "mousedown": + case "focusout": + return true; + default: + return false; + } + } + function getDataFromCustomEvent(nativeEvent) { + nativeEvent = nativeEvent.detail; + return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null; + } + function getNativeBeforeInputChars(domEventName, nativeEvent) { + switch (domEventName) { + case "compositionend": + return getDataFromCustomEvent(nativeEvent); + case "keypress": + if (nativeEvent.which !== SPACEBAR_CODE) return null; + hasSpaceKeypress = true; + return SPACEBAR_CHAR; + case "textInput": + return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName; + default: + return null; + } + } + function getFallbackBeforeInputChars(domEventName, nativeEvent) { + if (isComposing) + return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null; + switch (domEventName) { + case "paste": + return null; + case "keypress": + if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) { + if (nativeEvent.char && 1 < nativeEvent.char.length) + return nativeEvent.char; + if (nativeEvent.which) + return String.fromCharCode(nativeEvent.which); + } + return null; + case "compositionend": + return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data; + default: + return null; + } + } + function isTextInputElement(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false; + } + function isEventSupported(eventNameSuffix) { + if (!canUseDOM) return false; + eventNameSuffix = "on" + eventNameSuffix; + var isSupported = eventNameSuffix in document; + isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]); + return isSupported; + } + function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) { + restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target; + inst = accumulateTwoPhaseListeners(inst, "onChange"); + 0 < inst.length && (nativeEvent = new SyntheticEvent( + "onChange", + "change", + null, + nativeEvent, + target + ), dispatchQueue.push({ event: nativeEvent, listeners: inst })); + } + function runEventInBatch(dispatchQueue) { + processDispatchQueue(dispatchQueue, 0); + } + function getInstIfValueChanged(targetInst) { + var targetNode = getNodeFromInstance(targetInst); + if (updateValueIfChanged(targetNode)) return targetInst; + } + function getTargetInstForChangeEvent(domEventName, targetInst) { + if ("change" === domEventName) return targetInst; + } + function stopWatchingForValueChange() { + activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null); + } + function handlePropertyChange(nativeEvent) { + if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) { + var dispatchQueue = []; + createAndAccumulateChangeEvent( + dispatchQueue, + activeElementInst$1, + nativeEvent, + getEventTarget(nativeEvent) + ); + batchedUpdates$1(runEventInBatch, dispatchQueue); + } + } + function handleEventsForInputEventPolyfill(domEventName, target, targetInst) { + "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange(); + } + function getTargetInstForInputEventPolyfill(domEventName) { + if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName) + return getInstIfValueChanged(activeElementInst$1); + } + function getTargetInstForClickEvent(domEventName, targetInst) { + if ("click" === domEventName) return getInstIfValueChanged(targetInst); + } + function getTargetInstForInputOrChangeEvent(domEventName, targetInst) { + if ("input" === domEventName || "change" === domEventName) + return getInstIfValueChanged(targetInst); + } + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + function shallowEqual(objA, objB) { + if (objectIs(objA, objB)) return true; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) + return false; + var keysA = Object.keys(objA), keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return false; + for (keysB = 0; keysB < keysA.length; keysB++) { + var currentKey = keysA[keysB]; + if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) + return false; + } + return true; + } + function getLeafNode(node) { + for (; node && node.firstChild; ) node = node.firstChild; + return node; + } + function getNodeForCharacterOffset(root2, offset) { + var node = getLeafNode(root2); + root2 = 0; + for (var nodeEnd; node; ) { + if (3 === node.nodeType) { + nodeEnd = root2 + node.textContent.length; + if (root2 <= offset && nodeEnd >= offset) + return { node, offset: offset - root2 }; + root2 = nodeEnd; + } + a: { + for (; node; ) { + if (node.nextSibling) { + node = node.nextSibling; + break a; + } + node = node.parentNode; + } + node = void 0; + } + node = getLeafNode(node); + } + } + function containsNode(outerNode, innerNode) { + return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false; + } + function getActiveElementDeep(containerInfo) { + containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window; + for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) { + try { + var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href; + } catch (err) { + JSCompiler_inline_result = false; + } + if (JSCompiler_inline_result) containerInfo = element.contentWindow; + else break; + element = getActiveElement(containerInfo.document); + } + return element; + } + function hasSelectionCapabilities(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable); + } + function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) { + var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument; + mouseDown || null == activeElement || activeElement !== getActiveElement(doc) || (doc = activeElement, "selectionStart" in doc && hasSelectionCapabilities(doc) ? doc = { start: doc.selectionStart, end: doc.selectionEnd } : (doc = (doc.ownerDocument && doc.ownerDocument.defaultView || window).getSelection(), doc = { + anchorNode: doc.anchorNode, + anchorOffset: doc.anchorOffset, + focusNode: doc.focusNode, + focusOffset: doc.focusOffset + }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent( + "onSelect", + "select", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement))); + } + function makePrefixMap(styleProp, eventName) { + var prefixes = {}; + prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); + prefixes["Webkit" + styleProp] = "webkit" + eventName; + prefixes["Moz" + styleProp] = "moz" + eventName; + return prefixes; + } + function getVendorPrefixedEventName(eventName) { + if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; + if (!vendorPrefixes[eventName]) return eventName; + var prefixMap = vendorPrefixes[eventName], styleProp; + for (styleProp in prefixMap) + if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) + return prefixedEventNames[eventName] = prefixMap[styleProp]; + return eventName; + } + function registerSimpleEvent(domEventName, reactName) { + topLevelEventsToReactNames.set(domEventName, reactName); + registerTwoPhaseEvent(reactName, [domEventName]); + } + function createCapturedValueAtFiber(value, source) { + if ("object" === typeof value && null !== value) { + var existing = CapturedStacks.get(value); + if (void 0 !== existing) return existing; + source = { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + CapturedStacks.set(value, source); + return source; + } + return { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + } + function finishQueueingConcurrentUpdates() { + for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) { + var fiber = concurrentQueues[i]; + concurrentQueues[i++] = null; + var queue = concurrentQueues[i]; + concurrentQueues[i++] = null; + var update = concurrentQueues[i]; + concurrentQueues[i++] = null; + var lane = concurrentQueues[i]; + concurrentQueues[i++] = null; + if (null !== queue && null !== update) { + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); + } + } + function enqueueUpdate$1(fiber, queue, update, lane) { + concurrentQueues[concurrentQueuesIndex++] = fiber; + concurrentQueues[concurrentQueuesIndex++] = queue; + concurrentQueues[concurrentQueuesIndex++] = update; + concurrentQueues[concurrentQueuesIndex++] = lane; + concurrentlyUpdatedLanes |= lane; + fiber.lanes |= lane; + fiber = fiber.alternate; + null !== fiber && (fiber.lanes |= lane); + } + function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { + enqueueUpdate$1(fiber, queue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function enqueueConcurrentRenderForLane(fiber, lane) { + enqueueUpdate$1(fiber, null, null, lane); + return getRootForUpdatedFiber(fiber); + } + function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { + sourceFiber.lanes |= lane; + var alternate = sourceFiber.alternate; + null !== alternate && (alternate.lanes |= lane); + for (var isHidden = false, parent = sourceFiber.return; null !== parent; ) + parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return; + return 3 === sourceFiber.tag ? (parent = sourceFiber.stateNode, isHidden && null !== update && (isHidden = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden], null === alternate ? sourceFiber[isHidden] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null; + } + function getRootForUpdatedFiber(sourceFiber) { + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) + throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error( + "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." + ); + nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error( + "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render." + )); + null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); + for (var node = sourceFiber, parent = node.return; null !== parent; ) + null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return; + return 3 === node.tag ? node.stateNode : null; + } + function resolveFunctionForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? type : family.current; + } + function resolveForwardRefForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current; + } + function isCompatibleFamilyForHotReloading(fiber, element) { + if (null === resolveFamily) return false; + var prevType = fiber.elementType; + element = element.type; + var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null; + switch (fiber.tag) { + case 1: + "function" === typeof element && (needsCompareFamilies = true); + break; + case 0: + "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 11: + $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 14: + case 15: + $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + default: + return false; + } + return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false; + } + function markFailedErrorBoundaryForHotReloading(fiber) { + null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber)); + } + function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { + var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null; + switch (tag) { + case 0: + case 15: + case 1: + candidateType = type; + break; + case 11: + candidateType = type.render; + } + if (null === resolveFamily) + throw Error("Expected resolveFamily to be set during hot reload."); + var needsRender = false; + type = false; + null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true))); + null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true); + type && (fiber._debugNeedsRemount = true); + if (type || needsRender) + alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2); + null === child || type || scheduleFibersWithFamiliesRecursively( + child, + updatedFamilies, + staleFamilies + ); + null !== sibling && scheduleFibersWithFamiliesRecursively( + sibling, + updatedFamilies, + staleFamilies + ); + } + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null; + this.index = 0; + this.refCleanup = this.ref = null; + this.pendingProps = pendingProps; + this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.subtreeFlags = this.flags = 0; + this.deletions = null; + this.childLanes = this.lanes = 0; + this.alternate = null; + this.actualDuration = -0; + this.actualStartTime = -1.1; + this.treeBaseDuration = this.selfBaseDuration = -0; + this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null; + this._debugNeedsRemount = false; + this._debugHookTypes = null; + hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this); + } + function shouldConstruct(Component) { + Component = Component.prototype; + return !(!Component || !Component.isReactComponent); + } + function createWorkInProgress(current2, pendingProps) { + var workInProgress2 = current2.alternate; + null === workInProgress2 ? (workInProgress2 = createFiber( + current2.tag, + pendingProps, + current2.key, + current2.mode + ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1); + workInProgress2.flags = current2.flags & 65011712; + workInProgress2.childLanes = current2.childLanes; + workInProgress2.lanes = current2.lanes; + workInProgress2.child = current2.child; + workInProgress2.memoizedProps = current2.memoizedProps; + workInProgress2.memoizedState = current2.memoizedState; + workInProgress2.updateQueue = current2.updateQueue; + pendingProps = current2.dependencies; + workInProgress2.dependencies = null === pendingProps ? null : { + lanes: pendingProps.lanes, + firstContext: pendingProps.firstContext, + _debugThenableState: pendingProps._debugThenableState + }; + workInProgress2.sibling = current2.sibling; + workInProgress2.index = current2.index; + workInProgress2.ref = current2.ref; + workInProgress2.refCleanup = current2.refCleanup; + workInProgress2.selfBaseDuration = current2.selfBaseDuration; + workInProgress2.treeBaseDuration = current2.treeBaseDuration; + workInProgress2._debugInfo = current2._debugInfo; + workInProgress2._debugNeedsRemount = current2._debugNeedsRemount; + switch (workInProgress2.tag) { + case 0: + case 15: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 1: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 11: + workInProgress2.type = resolveForwardRefForHotReloading(current2.type); + } + return workInProgress2; + } + function resetWorkInProgress(workInProgress2, renderLanes2) { + workInProgress2.flags &= 65011714; + var current2 = workInProgress2.alternate; + null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : { + lanes: renderLanes2.lanes, + firstContext: renderLanes2.firstContext, + _debugThenableState: renderLanes2._debugThenableState + }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration); + return workInProgress2; + } + function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) { + var fiberTag = 0, resolvedType = type; + if ("function" === typeof type) + shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType); + else if ("string" === typeof type) + fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5; + else + a: switch (type) { + case REACT_ACTIVITY_TYPE: + return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key; + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment( + pendingProps.children, + mode, + lanes, + key + ); + case REACT_STRICT_MODE_TYPE: + fiberTag = 8; + mode |= StrictLegacyMode; + mode |= StrictEffectsMode; + break; + case REACT_PROFILER_TYPE: + return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error( + 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', + typeof type.id + ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key; + case REACT_SUSPENSE_TYPE: + return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key; + case REACT_SUSPENSE_LIST_TYPE: + return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key; + default: + if ("object" === typeof type && null !== type) + switch (type.$$typeof) { + case REACT_PROVIDER_TYPE: + case REACT_CONTEXT_TYPE: + fiberTag = 10; + break a; + case REACT_CONSUMER_TYPE: + fiberTag = 9; + break a; + case REACT_FORWARD_REF_TYPE: + fiberTag = 11; + resolvedType = resolveForwardRefForHotReloading(resolvedType); + break a; + case REACT_MEMO_TYPE: + fiberTag = 14; + break a; + case REACT_LAZY_TYPE: + fiberTag = 16; + resolvedType = null; + break a; + } + resolvedType = ""; + if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length) + resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type; + (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`."); + fiberTag = 29; + pendingProps = Error( + "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType) + ); + resolvedType = null; + } + key = createFiber(fiberTag, pendingProps, key, mode); + key.elementType = type; + key.type = resolvedType; + key.lanes = lanes; + key._debugOwner = owner; + return key; + } + function createFiberFromElement(element, mode, lanes) { + mode = createFiberFromTypeAndProps( + element.type, + element.key, + element.props, + element._owner, + mode, + lanes + ); + mode._debugOwner = element._owner; + mode._debugStack = element._debugStack; + mode._debugTask = element._debugTask; + return mode; + } + function createFiberFromFragment(elements, mode, lanes, key) { + elements = createFiber(7, elements, key, mode); + elements.lanes = lanes; + return elements; + } + function createFiberFromText(content, mode, lanes) { + content = createFiber(6, content, null, mode); + content.lanes = lanes; + return content; + } + function createFiberFromPortal(portal, mode, lanes) { + mode = createFiber( + 4, + null !== portal.children ? portal.children : [], + portal.key, + mode + ); + mode.lanes = lanes; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + function pushTreeFork(workInProgress2, totalChildren) { + warnIfNotHydrating(); + forkStack[forkStackIndex++] = treeForkCount; + forkStack[forkStackIndex++] = treeForkProvider; + treeForkProvider = workInProgress2; + treeForkCount = totalChildren; + } + function pushTreeId(workInProgress2, totalChildren, index) { + warnIfNotHydrating(); + idStack[idStackIndex++] = treeContextId; + idStack[idStackIndex++] = treeContextOverflow; + idStack[idStackIndex++] = treeContextProvider; + treeContextProvider = workInProgress2; + var baseIdWithLeadingBit = treeContextId; + workInProgress2 = treeContextOverflow; + var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; + baseIdWithLeadingBit &= ~(1 << baseLength); + index += 1; + var length = 32 - clz32(totalChildren) + baseLength; + if (30 < length) { + var numberOfOverflowBits = baseLength - baseLength % 5; + length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32); + baseIdWithLeadingBit >>= numberOfOverflowBits; + baseLength -= numberOfOverflowBits; + treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit; + treeContextOverflow = length + workInProgress2; + } else + treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2; + } + function pushMaterializedTreeId(workInProgress2) { + warnIfNotHydrating(); + null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0)); + } + function popTreeContext(workInProgress2) { + for (; workInProgress2 === treeForkProvider; ) + treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null; + for (; workInProgress2 === treeContextProvider; ) + treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null; + } + function warnIfNotHydrating() { + isHydrating || console.error( + "Expected to be hydrating. This is a bug in React. Please file an issue." + ); + } + function buildHydrationDiffNode(fiber, distanceFromLeaf) { + if (null === fiber.return) { + if (null === hydrationDiffRootDEV) + hydrationDiffRootDEV = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + else { + if (hydrationDiffRootDEV.fiber !== fiber) + throw Error( + "Saw multiple hydration diff roots in a pass. This is a bug in React." + ); + hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf); + } + return hydrationDiffRootDEV; + } + var siblings = buildHydrationDiffNode( + fiber.return, + distanceFromLeaf + 1 + ).children; + if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber) + return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings; + distanceFromLeaf = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + siblings.push(distanceFromLeaf); + return distanceFromLeaf; + } + function warnNonHydratedInstance(fiber, rejectedCandidate) { + didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate))); + } + function throwOnHydrationMismatch(fiber) { + var diff = "", diffRoot = hydrationDiffRootDEV; + null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot)); + queueHydrationError( + createCapturedValueAtFiber( + Error( + "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff + ), + fiber + ) + ); + throw HydrationMismatchException; + } + function prepareToHydrateHostInstance(fiber) { + var didHydrate = fiber.stateNode; + var type = fiber.type, props = fiber.memoizedProps; + didHydrate[internalInstanceKey] = fiber; + didHydrate[internalPropsKey] = props; + validatePropertiesInDevelopment(type, props); + switch (type) { + case "dialog": + listenToNonDelegatedEvent("cancel", didHydrate); + listenToNonDelegatedEvent("close", didHydrate); + break; + case "iframe": + case "object": + case "embed": + listenToNonDelegatedEvent("load", didHydrate); + break; + case "video": + case "audio": + for (type = 0; type < mediaEventTypes.length; type++) + listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate); + break; + case "source": + listenToNonDelegatedEvent("error", didHydrate); + break; + case "img": + case "image": + case "link": + listenToNonDelegatedEvent("error", didHydrate); + listenToNonDelegatedEvent("load", didHydrate); + break; + case "details": + listenToNonDelegatedEvent("toggle", didHydrate); + break; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateInputProps(didHydrate, props); + initInput( + didHydrate, + props.value, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name, + true + ); + track(didHydrate); + break; + case "option": + validateOptionProps(didHydrate, props); + break; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateSelectProps(didHydrate, props); + break; + case "textarea": + checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea( + didHydrate, + props.value, + props.defaultValue, + props.children + ), track(didHydrate); + } + type = props.children; + "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false; + didHydrate || throwOnHydrationMismatch(fiber); + } + function popToNextHostParent(fiber) { + for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) + switch (hydrationParentFiber.tag) { + case 5: + case 13: + rootOrSingletonContext = false; + return; + case 27: + case 3: + rootOrSingletonContext = true; + return; + default: + hydrationParentFiber = hydrationParentFiber.return; + } + } + function popHydrationState(fiber) { + if (fiber !== hydrationParentFiber) return false; + if (!isHydrating) + return popToNextHostParent(fiber), isHydrating = true, false; + var tag = fiber.tag, JSCompiler_temp; + if (JSCompiler_temp = 3 !== tag && 27 !== tag) { + if (JSCompiler_temp = 5 === tag) + JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps); + JSCompiler_temp = !JSCompiler_temp; + } + if (JSCompiler_temp && nextHydratableInstance) { + for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) { + var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp); + diffNode.serverTail.push(description); + JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling); + } + throwOnHydrationMismatch(fiber); + } + popToNextHostParent(fiber); + if (13 === tag) { + fiber = fiber.memoizedState; + fiber = null !== fiber ? fiber.dehydrated : null; + if (!fiber) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber); + } else + 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null; + return true; + } + function resetHydrationState() { + nextHydratableInstance = hydrationParentFiber = null; + didSuspendOrErrorDEV = isHydrating = false; + } + function upgradeHydrationErrorsToRecoverable() { + var queuedErrors = hydrationErrors; + null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + queuedErrors + ), hydrationErrors = null); + return queuedErrors; + } + function queueHydrationError(error) { + null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error); + } + function emitPendingHydrationWarnings() { + var diffRoot = hydrationDiffRootDEV; + if (null !== diffRoot) { + hydrationDiffRootDEV = null; + for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; ) + diffRoot = diffRoot.children[0]; + runWithFiberInDEV(diffRoot.fiber, function() { + console.error( + "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s", + "https://react.dev/link/hydration-mismatch", + diff + ); + }); + } + } + function resetContextDependencies() { + lastContextDependency = currentlyRenderingFiber$1 = null; + isDisallowedContextReadInDEV = false; + } + function pushProvider(providerFiber, context, nextValue) { + push(valueCursor, context._currentValue, providerFiber); + context._currentValue = nextValue; + push(rendererCursorDEV, context._currentRenderer, providerFiber); + void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error( + "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported." + ); + context._currentRenderer = rendererSigil; + } + function popProvider(context, providerFiber) { + context._currentValue = valueCursor.current; + var currentRenderer = rendererCursorDEV.current; + pop(rendererCursorDEV, providerFiber); + context._currentRenderer = currentRenderer; + pop(valueCursor, providerFiber); + } + function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) { + for (; null !== parent; ) { + var alternate = parent.alternate; + (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2); + if (parent === propagationRoot) break; + parent = parent.return; + } + parent !== propagationRoot && console.error( + "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue." + ); + } + function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) { + var fiber = workInProgress2.child; + null !== fiber && (fiber.return = workInProgress2); + for (; null !== fiber; ) { + var list = fiber.dependencies; + if (null !== list) { + var nextFiber = fiber.child; + list = list.firstContext; + a: for (; null !== list; ) { + var dependency = list; + list = fiber; + for (var i = 0; i < contexts.length; i++) + if (dependency.context === contexts[i]) { + list.lanes |= renderLanes2; + dependency = list.alternate; + null !== dependency && (dependency.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + list.return, + renderLanes2, + workInProgress2 + ); + forcePropagateEntireTree || (nextFiber = null); + break a; + } + list = dependency.next; + } + } else if (18 === fiber.tag) { + nextFiber = fiber.return; + if (null === nextFiber) + throw Error( + "We just came from a parent so we must have had a parent. This is a bug in React." + ); + nextFiber.lanes |= renderLanes2; + list = nextFiber.alternate; + null !== list && (list.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + nextFiber, + renderLanes2, + workInProgress2 + ); + nextFiber = null; + } else nextFiber = fiber.child; + if (null !== nextFiber) nextFiber.return = fiber; + else + for (nextFiber = fiber; null !== nextFiber; ) { + if (nextFiber === workInProgress2) { + nextFiber = null; + break; + } + fiber = nextFiber.sibling; + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) { + current2 = null; + for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) { + if (!isInsidePropagationBailout) { + if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true; + else if (0 !== (parent.flags & 262144)) break; + } + if (10 === parent.tag) { + var currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent = currentParent.memoizedProps; + if (null !== currentParent) { + var context = parent.type; + objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]); + } + } else if (parent === hostTransitionProviderCursor.current) { + currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]); + } + parent = parent.return; + } + null !== current2 && propagateContextChanges( + workInProgress2, + current2, + renderLanes2, + forcePropagateEntireTree + ); + workInProgress2.flags |= 262144; + } + function checkIfContextChanged(currentDependencies) { + for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) { + if (!objectIs( + currentDependencies.context._currentValue, + currentDependencies.memoizedValue + )) + return true; + currentDependencies = currentDependencies.next; + } + return false; + } + function prepareToReadContext(workInProgress2) { + currentlyRenderingFiber$1 = workInProgress2; + lastContextDependency = null; + workInProgress2 = workInProgress2.dependencies; + null !== workInProgress2 && (workInProgress2.firstContext = null); + } + function readContext(context) { + isDisallowedContextReadInDEV && console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + return readContextForConsumer(currentlyRenderingFiber$1, context); + } + function readContextDuringReconciliation(consumer, context) { + null === currentlyRenderingFiber$1 && prepareToReadContext(consumer); + return readContextForConsumer(consumer, context); + } + function readContextForConsumer(consumer, context) { + var value = context._currentValue; + context = { context, memoizedValue: value, next: null }; + if (null === lastContextDependency) { + if (null === consumer) + throw Error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + lastContextDependency = context; + consumer.dependencies = { + lanes: 0, + firstContext: context, + _debugThenableState: null + }; + consumer.flags |= 524288; + } else lastContextDependency = lastContextDependency.next = context; + return value; + } + function createCache() { + return { + controller: new AbortControllerLocal(), + data: /* @__PURE__ */ new Map(), + refCount: 0 + }; + } + function retainCache(cache) { + cache.controller.signal.aborted && console.warn( + "A cache instance was retained after it was already freed. This likely indicates a bug in React." + ); + cache.refCount++; + } + function releaseCache(cache) { + cache.refCount--; + 0 > cache.refCount && console.warn( + "A cache instance was released after it was already freed. This likely indicates a bug in React." + ); + 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() { + cache.controller.abort(); + }); + } + function pushNestedEffectDurations() { + var prevEffectDuration = profilerEffectDuration; + profilerEffectDuration = 0; + return prevEffectDuration; + } + function popNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration = prevEffectDuration; + return elapsedTime; + } + function bubbleNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration += prevEffectDuration; + return elapsedTime; + } + function startProfilerTimer(fiber) { + profilerStartTime = now(); + 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime); + } + function stopProfilerTimerIfRunningAndRecordDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + fiber.selfBaseDuration = elapsedTime; + profilerStartTime = -1; + } + } + function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + profilerStartTime = -1; + } + } + function recordEffectDuration() { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + profilerStartTime = -1; + profilerEffectDuration += elapsedTime; + } + } + function startEffectTimer() { + profilerStartTime = now(); + } + function transferActualDuration(fiber) { + for (var child = fiber.child; child; ) + fiber.actualDuration += child.actualDuration, child = child.sibling; + } + function entangleAsyncAction(transition, thenable) { + if (null === currentEntangledListeners) { + var entangledListeners = currentEntangledListeners = []; + currentEntangledPendingCount = 0; + currentEntangledLane = requestTransitionLane(); + currentEntangledActionThenable = { + status: "pending", + value: void 0, + then: function(resolve) { + entangledListeners.push(resolve); + } + }; + } + currentEntangledPendingCount++; + thenable.then(pingEngtangledActionScope, pingEngtangledActionScope); + return thenable; + } + function pingEngtangledActionScope() { + if (0 === --currentEntangledPendingCount && null !== currentEntangledListeners) { + null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled"); + var listeners = currentEntangledListeners; + currentEntangledListeners = null; + currentEntangledLane = 0; + currentEntangledActionThenable = null; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(); + } + } + function chainThenableValue(thenable, result) { + var listeners = [], thenableWithOverride = { + status: "pending", + value: null, + reason: null, + then: function(resolve) { + listeners.push(resolve); + } + }; + thenable.then( + function() { + thenableWithOverride.status = "fulfilled"; + thenableWithOverride.value = result; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result); + }, + function(error) { + thenableWithOverride.status = "rejected"; + thenableWithOverride.reason = error; + for (error = 0; error < listeners.length; error++) + (0, listeners[error])(void 0); + } + ); + return thenableWithOverride; + } + function peekCacheFromPool() { + var cacheResumedFromPreviousRender = resumedCache.current; + return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache; + } + function pushTransition(offscreenWorkInProgress, prevCachePool) { + null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress); + } + function getSuspendedCache() { + var cacheFromPool = peekCacheFromPool(); + return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool }; + } + function createThenableState() { + return { didWarnAboutUncachedPromise: false, thenables: [] }; + } + function isThenableResolved(thenable) { + thenable = thenable.status; + return "fulfilled" === thenable || "rejected" === thenable; + } + function noop$3() { + } + function trackUsedThenable(thenableState2, thenable, index) { + null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true); + var trackedThenables = thenableState2.thenables; + index = trackedThenables[index]; + void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error( + "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework." + )), thenable.then(noop$3, noop$3), thenable = index); + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + default: + if ("string" === typeof thenable.status) + thenable.then(noop$3, noop$3); + else { + thenableState2 = workInProgressRoot; + if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter) + throw Error( + "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + thenableState2 = thenable; + thenableState2.status = "pending"; + thenableState2.then( + function(fulfilledValue) { + if ("pending" === thenable.status) { + var fulfilledThenable = thenable; + fulfilledThenable.status = "fulfilled"; + fulfilledThenable.value = fulfilledValue; + } + }, + function(error) { + if ("pending" === thenable.status) { + var rejectedThenable = thenable; + rejectedThenable.status = "rejected"; + rejectedThenable.reason = error; + } + } + ); + } + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + } + suspendedThenable = thenable; + needsToResetSuspendedThenableDEV = true; + throw SuspenseException; + } + } + function getSuspendedThenable() { + if (null === suspendedThenable) + throw Error( + "Expected a suspended thenable. This is a bug in React. Please file an issue." + ); + var thenable = suspendedThenable; + suspendedThenable = null; + needsToResetSuspendedThenableDEV = false; + return thenable; + } + function checkIfUseWrappedInAsyncCatch(rejectedReason) { + if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException) + throw Error( + "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + } + function initializeUpdateQueue(fiber) { + fiber.updateQueue = { + baseState: fiber.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, lanes: 0, hiddenCallbacks: null }, + callbacks: null + }; + } + function cloneUpdateQueue(current2, workInProgress2) { + current2 = current2.updateQueue; + workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = { + baseState: current2.baseState, + firstBaseUpdate: current2.firstBaseUpdate, + lastBaseUpdate: current2.lastBaseUpdate, + shared: current2.shared, + callbacks: null + }); + } + function createUpdate(lane) { + return { + lane, + tag: UpdateState, + payload: null, + callback: null, + next: null + }; + } + function enqueueUpdate(fiber, update, lane) { + var updateQueue = fiber.updateQueue; + if (null === updateQueue) return null; + updateQueue = updateQueue.shared; + if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) { + var componentName2 = getComponentNameFromFiber(fiber); + console.error( + "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s", + componentName2 + ); + didWarnUpdateInsideUpdate = true; + } + if ((executionContext & RenderContext) !== NoContext) + return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update; + enqueueUpdate$1(fiber, updateQueue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function entangleTransitions(root2, fiber, lane) { + fiber = fiber.updateQueue; + if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) { + var queueLanes = fiber.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + fiber.lanes = lane; + markRootEntangled(root2, lane); + } + } + function enqueueCapturedUpdate(workInProgress2, capturedUpdate) { + var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate; + if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) { + var newFirst = null, newLast = null; + queue = queue.firstBaseUpdate; + if (null !== queue) { + do { + var clone = { + lane: queue.lane, + tag: queue.tag, + payload: queue.payload, + callback: null, + next: null + }; + null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone; + queue = queue.next; + } while (null !== queue); + null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate; + } else newFirst = newLast = capturedUpdate; + queue = { + baseState: current2.baseState, + firstBaseUpdate: newFirst, + lastBaseUpdate: newLast, + shared: current2.shared, + callbacks: current2.callbacks + }; + workInProgress2.updateQueue = queue; + return; + } + workInProgress2 = queue.lastBaseUpdate; + null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate; + queue.lastBaseUpdate = capturedUpdate; + } + function suspendIfUpdateReadFromEntangledAsyncAction() { + if (didReadFromEntangledAsyncAction) { + var entangledActionThenable = currentEntangledActionThenable; + if (null !== entangledActionThenable) throw entangledActionThenable; + } + } + function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) { + didReadFromEntangledAsyncAction = false; + var queue = workInProgress2.updateQueue; + hasForceUpdate = false; + currentlyProcessingQueue = queue.shared; + var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending; + if (null !== pendingQueue) { + queue.shared.pending = null; + var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next; + lastPendingUpdate.next = null; + null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate; + lastBaseUpdate = lastPendingUpdate; + var current2 = workInProgress2.alternate; + null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate)); + } + if (null !== firstBaseUpdate) { + var newState = queue.baseState; + lastBaseUpdate = 0; + current2 = firstPendingUpdate = lastPendingUpdate = null; + pendingQueue = firstBaseUpdate; + do { + var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane; + if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) { + 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true); + null !== current2 && (current2 = current2.next = { + lane: 0, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: null, + next: null + }); + a: { + updateLane = workInProgress2; + var partialState = pendingQueue; + var nextProps = props, instance = instance$jscomp$0; + switch (partialState.tag) { + case ReplaceState: + partialState = partialState.payload; + if ("function" === typeof partialState) { + isDisallowedContextReadInDEV = true; + var nextState = partialState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + newState = nextState; + break a; + } + newState = partialState; + break a; + case CaptureUpdate: + updateLane.flags = updateLane.flags & -65537 | 128; + case UpdateState: + nextState = partialState.payload; + if ("function" === typeof nextState) { + isDisallowedContextReadInDEV = true; + partialState = nextState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + nextState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + } else partialState = nextState; + if (null === partialState || void 0 === partialState) break a; + newState = assign({}, newState, partialState); + break a; + case ForceUpdate: + hasForceUpdate = true; + } + } + updateLane = pendingQueue.callback; + null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane)); + } else + isHiddenUpdate = { + lane: updateLane, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: pendingQueue.callback, + next: null + }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane; + pendingQueue = pendingQueue.next; + if (null === pendingQueue) + if (pendingQueue = queue.shared.pending, null === pendingQueue) + break; + else + isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null; + } while (1); + null === current2 && (lastPendingUpdate = newState); + queue.baseState = lastPendingUpdate; + queue.firstBaseUpdate = firstPendingUpdate; + queue.lastBaseUpdate = current2; + null === firstBaseUpdate && (queue.shared.lanes = 0); + workInProgressRootSkippedLanes |= lastBaseUpdate; + workInProgress2.lanes = lastBaseUpdate; + workInProgress2.memoizedState = newState; + } + currentlyProcessingQueue = null; + } + function callCallback(callback, context) { + if ("function" !== typeof callback) + throw Error( + "Invalid argument passed as callback. Expected a function. Instead received: " + callback + ); + callback.call(context); + } + function commitHiddenCallbacks(updateQueue, context) { + var hiddenCallbacks = updateQueue.shared.hiddenCallbacks; + if (null !== hiddenCallbacks) + for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++) + callCallback(hiddenCallbacks[updateQueue], context); + } + function commitCallbacks(updateQueue, context) { + var callbacks = updateQueue.callbacks; + if (null !== callbacks) + for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++) + callCallback(callbacks[updateQueue], context); + } + function pushHiddenContext(fiber, context) { + var prevEntangledRenderLanes = entangledRenderLanes; + push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber); + push(currentTreeHiddenStackCursor, context, fiber); + entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes; + } + function reuseHiddenContextOnStack(fiber) { + push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber); + push( + currentTreeHiddenStackCursor, + currentTreeHiddenStackCursor.current, + fiber + ); + } + function popHiddenContext(fiber) { + entangledRenderLanes = prevEntangledRenderLanesCursor.current; + pop(currentTreeHiddenStackCursor, fiber); + pop(prevEntangledRenderLanesCursor, fiber); + } + function mountHookTypesDev() { + var hookName = currentHookNameInDev; + null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName); + } + function updateHookTypesDev() { + var hookName = currentHookNameInDev; + if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) { + for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) { + var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName; + for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; ) + oldHookName += " "; + oldHookName += newHookName + "\n"; + table += oldHookName; + } + console.error( + "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + componentName2, + table + ); + } + } + } + function checkDepsAreArrayDev(deps) { + void 0 === deps || null === deps || isArrayImpl(deps) || console.error( + "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", + currentHookNameInDev, + typeof deps + ); + } + function warnOnUseFormStateInDev() { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error( + "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.", + componentName2 + )); + } + function throwInvalidHookError() { + throw Error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + } + function areHookInputsEqual(nextDeps, prevDeps) { + if (ignorePreviousDependencies) return false; + if (null === prevDeps) + return console.error( + "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", + currentHookNameInDev + ), false; + nextDeps.length !== prevDeps.length && console.error( + "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", + currentHookNameInDev, + "[" + prevDeps.join(", ") + "]", + "[" + nextDeps.join(", ") + "]" + ); + for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) + if (!objectIs(nextDeps[i], prevDeps[i])) return false; + return true; + } + function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) { + renderLanes = nextRenderLanes; + currentlyRenderingFiber = workInProgress2; + hookTypesDev = null !== current2 ? current2._debugHookTypes : null; + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component)) + nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error( + "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.", + null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">" + )); + workInProgress2.memoizedState = null; + workInProgress2.updateQueue = null; + workInProgress2.lanes = 0; + ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV; + shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode; + var children = callComponentInDEV(Component, props, secondArg); + shouldDoubleInvokeUserFnsInHooksDEV = false; + didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + )); + if (nextRenderLanes) { + setIsStrictModeForDevtools(true); + try { + children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + finishRenderingHooks(current2, workInProgress2); + return children; + } + function finishRenderingHooks(current2, workInProgress2) { + workInProgress2._debugHookTypes = hookTypesDev; + null === workInProgress2.dependencies ? null !== thenableState$1 && (workInProgress2.dependencies = { + lanes: 0, + firstContext: null, + _debugThenableState: thenableState$1 + }) : workInProgress2.dependencies._debugThenableState = thenableState$1; + ReactSharedInternals.H = ContextOnlyDispatcher; + var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next; + renderLanes = 0; + hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error( + "Internal React error: Expected static flag was missing. Please notify the React team." + ); + didScheduleRenderPhaseUpdate = false; + thenableIndexCounter$1 = 0; + thenableState$1 = null; + if (didRenderTooFewHooks) + throw Error( + "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." + ); + null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true)); + needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false; + current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error( + "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary." + ))); + } + function renderWithHooksAgain(workInProgress2, Component, props, secondArg) { + currentlyRenderingFiber = workInProgress2; + var numberOfReRenders = 0; + do { + didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null); + thenableIndexCounter$1 = 0; + didScheduleRenderPhaseUpdateDuringThisPass = false; + if (numberOfReRenders >= RE_RENDER_LIMIT) + throw Error( + "Too many re-renders. React limits the number of renders to prevent an infinite loop." + ); + numberOfReRenders += 1; + ignorePreviousDependencies = false; + workInProgressHook = currentHook = null; + if (null != workInProgress2.updateQueue) { + var children = workInProgress2.updateQueue; + children.lastEffect = null; + children.events = null; + children.stores = null; + null != children.memoCache && (children.memoCache.index = 0); + } + hookTypesUpdateIndexDev = -1; + ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV; + children = callComponentInDEV(Component, props, secondArg); + } while (didScheduleRenderPhaseUpdateDuringThisPass); + return children; + } + function TransitionAwareHostComponent() { + var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0]; + maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable; + dispatcher = dispatcher.useState()[0]; + (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024); + return maybeThenable; + } + function checkDidRenderIdHook() { + var didRenderIdHook = 0 !== localIdCounter; + localIdCounter = 0; + return didRenderIdHook; + } + function bailoutHooks(current2, workInProgress2, lanes) { + workInProgress2.updateQueue = current2.updateQueue; + workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053; + current2.lanes &= ~lanes; + } + function resetHooksOnUnwind(workInProgress2) { + if (didScheduleRenderPhaseUpdate) { + for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) { + var queue = workInProgress2.queue; + null !== queue && (queue.pending = null); + workInProgress2 = workInProgress2.next; + } + didScheduleRenderPhaseUpdate = false; + } + renderLanes = 0; + hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + currentHookNameInDev = null; + didScheduleRenderPhaseUpdateDuringThisPass = false; + thenableIndexCounter$1 = localIdCounter = 0; + thenableState$1 = null; + } + function mountWorkInProgressHook() { + var hook = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook; + return workInProgressHook; + } + function updateWorkInProgressHook() { + if (null === currentHook) { + var nextCurrentHook = currentlyRenderingFiber.alternate; + nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null; + } else nextCurrentHook = currentHook.next; + var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next; + if (null !== nextWorkInProgressHook) + workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook; + else { + if (null === nextCurrentHook) { + if (null === currentlyRenderingFiber.alternate) + throw Error( + "Update hook called on initial render. This is likely a bug in React. Please file an issue." + ); + throw Error("Rendered more hooks than during the previous render."); + } + currentHook = nextCurrentHook; + nextCurrentHook = { + memoizedState: currentHook.memoizedState, + baseState: currentHook.baseState, + baseQueue: currentHook.baseQueue, + queue: currentHook.queue, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook; + } + return workInProgressHook; + } + function createFunctionComponentUpdateQueue() { + return { lastEffect: null, events: null, stores: null, memoCache: null }; + } + function useThenable(thenable) { + var index = thenableIndexCounter$1; + thenableIndexCounter$1 += 1; + null === thenableState$1 && (thenableState$1 = createThenableState()); + thenable = trackUsedThenable(thenableState$1, thenable, index); + index = currentlyRenderingFiber; + null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV); + return thenable; + } + function use(usable) { + if (null !== usable && "object" === typeof usable) { + if ("function" === typeof usable.then) return useThenable(usable); + if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable); + } + throw Error("An unsupported type was passed to use(): " + String(usable)); + } + function useMemoCache(size) { + var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue; + null !== updateQueue && (memoCache = updateQueue.memoCache); + if (null == memoCache) { + var current2 = currentlyRenderingFiber.alternate; + null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = { + data: current2.data.map(function(array) { + return array.slice(); + }), + index: 0 + }))); + } + null == memoCache && (memoCache = { data: [], index: 0 }); + null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue); + updateQueue.memoCache = memoCache; + updateQueue = memoCache.data[memoCache.index]; + if (void 0 === updateQueue || ignorePreviousDependencies) + for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++) + updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL; + else + updateQueue.length !== size && console.error( + "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.", + updateQueue.length, + size + ); + memoCache.index++; + return updateQueue; + } + function basicStateReducer(state, action) { + return "function" === typeof action ? action(state) : action; + } + function mountReducer(reducer, initialArg, init) { + var hook = mountWorkInProgressHook(); + if (void 0 !== init) { + var initialState = init(initialArg); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + init(initialArg); + } finally { + setIsStrictModeForDevtools(false); + } + } + } else initialState = initialArg; + hook.memoizedState = hook.baseState = initialState; + reducer = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: reducer, + lastRenderedState: initialState + }; + hook.queue = reducer; + reducer = reducer.dispatch = dispatchReducerAction.bind( + null, + currentlyRenderingFiber, + reducer + ); + return [hook.memoizedState, reducer]; + } + function updateReducer(reducer) { + var hook = updateWorkInProgressHook(); + return updateReducerImpl(hook, currentHook, reducer); + } + function updateReducerImpl(hook, current2, reducer) { + var queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var baseQueue = hook.baseQueue, pendingQueue = queue.pending; + if (null !== pendingQueue) { + if (null !== baseQueue) { + var baseFirst = baseQueue.next; + baseQueue.next = pendingQueue.next; + pendingQueue.next = baseFirst; + } + current2.baseQueue !== baseQueue && console.error( + "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React." + ); + current2.baseQueue = baseQueue = pendingQueue; + queue.pending = null; + } + pendingQueue = hook.baseState; + if (null === baseQueue) hook.memoizedState = pendingQueue; + else { + current2 = baseQueue.next; + var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false; + do { + var updateLane = update.lane & -536870913; + if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) { + var revertLane = update.revertLane; + if (0 === revertLane) + null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = { + lane: 0, + revertLane: 0, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + else if ((renderLanes & revertLane) === revertLane) { + update = update.next; + revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + continue; + } else + updateLane = { + lane: 0, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane; + updateLane = update.action; + shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane); + pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane); + } else + revertLane = { + lane: updateLane, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane; + update = update.next; + } while (null !== update && update !== current2); + null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst; + if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer))) + throw reducer; + hook.memoizedState = pendingQueue; + hook.baseState = baseFirst; + hook.baseQueue = newBaseQueueLast; + queue.lastRenderedState = pendingQueue; + } + null === baseQueue && (queue.lanes = 0); + return [hook.memoizedState, queue.dispatch]; + } + function rerenderReducer(reducer) { + var hook = updateWorkInProgressHook(), queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState; + if (null !== lastRenderPhaseUpdate) { + queue.pending = null; + var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next; + do + newState = reducer(newState, update.action), update = update.next; + while (update !== lastRenderPhaseUpdate); + objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true); + hook.memoizedState = newState; + null === hook.baseQueue && (hook.baseState = newState); + queue.lastRenderedState = newState; + } + return [newState, dispatch]; + } + function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook(); + if (isHydrating) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + var nextSnapshot = getServerSnapshot(); + didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error( + "The result of getServerSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } else { + nextSnapshot = getSnapshot(); + didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true)); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + 0 !== (workInProgressRootRenderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); + } + hook.memoizedState = nextSnapshot; + getServerSnapshot = { value: nextSnapshot, getSnapshot }; + hook.queue = getServerSnapshot; + mountEffect( + subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe), + [subscribe] + ); + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + getServerSnapshot, + nextSnapshot, + getSnapshot + ), + null + ); + return nextSnapshot; + } + function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating; + if (isHydrating$jscomp$0) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + getServerSnapshot = getServerSnapshot(); + } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) { + var cachedSnapshot = getSnapshot(); + objectIs(getServerSnapshot, cachedSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } + if (cachedSnapshot = !objectIs( + (currentHook || hook).memoizedState, + getServerSnapshot + )) + hook.memoizedState = getServerSnapshot, didReceiveUpdate = true; + hook = hook.queue; + var create = subscribeToStore.bind(null, fiber, hook, subscribe); + updateEffectImpl(2048, Passive, create, [subscribe]); + if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) { + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + hook, + getServerSnapshot, + getSnapshot + ), + null + ); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + isHydrating$jscomp$0 || 0 !== (renderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); + } + return getServerSnapshot; + } + function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { + fiber.flags |= 16384; + fiber = { getSnapshot, value: renderedSnapshot }; + getSnapshot = currentlyRenderingFiber.updateQueue; + null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber)); + } + function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { + inst.value = nextSnapshot; + inst.getSnapshot = getSnapshot; + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + } + function subscribeToStore(fiber, inst, subscribe) { + return subscribe(function() { + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + }); + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + inst = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(inst, nextValue); + } catch (error) { + return true; + } + } + function forceStoreRerender(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + } + function mountStateImpl(initialState) { + var hook = mountWorkInProgressHook(); + if ("function" === typeof initialState) { + var initialStateInitializer = initialState; + initialState = initialStateInitializer(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + initialStateInitializer(); + } finally { + setIsStrictModeForDevtools(false); + } + } + } + hook.memoizedState = hook.baseState = initialState; + hook.queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialState + }; + return hook; + } + function mountState(initialState) { + initialState = mountStateImpl(initialState); + var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue); + queue.dispatch = dispatch; + return [initialState.memoizedState, dispatch]; + } + function mountOptimistic(passthrough) { + var hook = mountWorkInProgressHook(); + hook.memoizedState = hook.baseState = passthrough; + var queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: null, + lastRenderedState: null + }; + hook.queue = queue; + hook = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + true, + queue + ); + queue.dispatch = hook; + return [passthrough, hook]; + } + function updateOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + } + function updateOptimisticImpl(hook, current2, passthrough, reducer) { + hook.baseState = passthrough; + return updateReducerImpl( + hook, + currentHook, + "function" === typeof reducer ? reducer : basicStateReducer + ); + } + function rerenderOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + if (null !== currentHook) + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + hook.baseState = passthrough; + return [passthrough, hook.queue.dispatch]; + } + function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) { + if (isRenderPhaseUpdate(fiber)) + throw Error("Cannot update form state while rendering."); + fiber = actionQueue.action; + if (null !== fiber) { + var actionNode = { + payload, + action: fiber, + next: null, + isTransition: true, + status: "pending", + value: null, + reason: null, + listeners: [], + then: function(listener) { + actionNode.listeners.push(listener); + } + }; + null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false; + setState(actionNode); + setPendingState = actionQueue.pending; + null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode); + } + } + function runActionStateAction(actionQueue, node) { + var action = node.action, payload = node.payload, prevState = actionQueue.state; + if (node.isTransition) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + ReactSharedInternals.T._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + handleActionReturnValue(actionQueue, node, returnValue); + } catch (error) { + onActionError(actionQueue, node, error); + } finally { + ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } else + try { + currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition); + } catch (error$4) { + onActionError(actionQueue, node, error$4); + } + } + function handleActionReturnValue(actionQueue, node, returnValue) { + null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (returnValue.then( + function(nextState) { + onActionSuccess(actionQueue, node, nextState); + }, + function(error) { + return onActionError(actionQueue, node, error); + } + ), node.isTransition || console.error( + "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop." + )) : onActionSuccess(actionQueue, node, returnValue); + } + function onActionSuccess(actionQueue, actionNode, nextState) { + actionNode.status = "fulfilled"; + actionNode.value = nextState; + notifyActionListeners(actionNode); + actionQueue.state = nextState; + actionNode = actionQueue.pending; + null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState))); + } + function onActionError(actionQueue, actionNode, error) { + var last = actionQueue.pending; + actionQueue.pending = null; + if (null !== last) { + last = last.next; + do + actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next; + while (actionNode !== last); + } + actionQueue.action = null; + } + function notifyActionListeners(actionNode) { + actionNode = actionNode.listeners; + for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])(); + } + function actionStateReducer(oldState, newState) { + return newState; + } + function mountActionState(action, initialStateProp) { + if (isHydrating) { + var ssrFormState = workInProgressRoot.formState; + if (null !== ssrFormState) { + a: { + var isMatching = currentlyRenderingFiber; + if (isHydrating) { + if (nextHydratableInstance) { + b: { + var markerInstance = nextHydratableInstance; + for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) { + if (!inRootOrSingleton) { + markerInstance = null; + break b; + } + markerInstance = getNextHydratable( + markerInstance.nextSibling + ); + if (null === markerInstance) { + markerInstance = null; + break b; + } + } + inRootOrSingleton = markerInstance.data; + markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null; + } + if (markerInstance) { + nextHydratableInstance = getNextHydratable( + markerInstance.nextSibling + ); + isMatching = markerInstance.data === FORM_STATE_IS_MATCHING; + break a; + } + } + throwOnHydrationMismatch(isMatching); + } + isMatching = false; + } + isMatching && (initialStateProp = ssrFormState[0]); + } + } + ssrFormState = mountWorkInProgressHook(); + ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp; + isMatching = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: actionStateReducer, + lastRenderedState: initialStateProp + }; + ssrFormState.queue = isMatching; + ssrFormState = dispatchSetState.bind( + null, + currentlyRenderingFiber, + isMatching + ); + isMatching.dispatch = ssrFormState; + isMatching = mountStateImpl(false); + inRootOrSingleton = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + false, + isMatching.queue + ); + isMatching = mountWorkInProgressHook(); + markerInstance = { + state: initialStateProp, + dispatch: null, + action, + pending: null + }; + isMatching.queue = markerInstance; + ssrFormState = dispatchActionState.bind( + null, + currentlyRenderingFiber, + markerInstance, + inRootOrSingleton, + ssrFormState + ); + markerInstance.dispatch = ssrFormState; + isMatching.memoizedState = action; + return [initialStateProp, ssrFormState, false]; + } + function updateActionState(action) { + var stateHook = updateWorkInProgressHook(); + return updateActionStateImpl(stateHook, currentHook, action); + } + function updateActionStateImpl(stateHook, currentStateHook, action) { + currentStateHook = updateReducerImpl( + stateHook, + currentStateHook, + actionStateReducer + )[0]; + stateHook = updateReducer(basicStateReducer)[0]; + if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then) + try { + var state = useThenable(currentStateHook); + } catch (x) { + if (x === SuspenseException) throw SuspenseActionException; + throw x; + } + else state = currentStateHook; + currentStateHook = updateWorkInProgressHook(); + var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch; + action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + actionStateActionEffect.bind(null, actionQueue, action), + null + )); + return [state, dispatch, stateHook]; + } + function actionStateActionEffect(actionQueue, action) { + actionQueue.action = action; + } + function rerenderActionState(action) { + var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook; + if (null !== currentStateHook) + return updateActionStateImpl(stateHook, currentStateHook, action); + updateWorkInProgressHook(); + stateHook = stateHook.memoizedState; + currentStateHook = updateWorkInProgressHook(); + var dispatch = currentStateHook.queue.dispatch; + currentStateHook.memoizedState = action; + return [stateHook, dispatch, false]; + } + function pushSimpleEffect(tag, inst, create, createDeps) { + tag = { + tag, + create, + deps: createDeps, + inst, + next: null + }; + inst = currentlyRenderingFiber.updateQueue; + null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst); + create = inst.lastEffect; + null === create ? inst.lastEffect = tag.next = tag : (createDeps = create.next, create.next = tag, tag.next = createDeps, inst.lastEffect = tag); + return tag; + } + function createEffectInstance() { + return { destroy: void 0, resource: void 0 }; + } + function mountRef(initialValue) { + var hook = mountWorkInProgressHook(); + initialValue = { current: initialValue }; + return hook.memoizedState = initialValue; + } + function mountEffectImpl(fiberFlags, hookFlags, create, createDeps) { + var hook = mountWorkInProgressHook(); + createDeps = void 0 === createDeps ? null : createDeps; + currentlyRenderingFiber.flags |= fiberFlags; + hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + createEffectInstance(), + create, + createDeps + ); + } + function updateEffectImpl(fiberFlags, hookFlags, create, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var inst = hook.memoizedState.inst; + null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + inst, + create, + deps + )); + } + function mountEffect(create, createDeps) { + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode ? mountEffectImpl(276826112, Passive, create, createDeps) : mountEffectImpl(8390656, Passive, create, createDeps); + } + function mountLayoutEffect(create, deps) { + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + return mountEffectImpl(fiberFlags, Layout, create, deps); + } + function imperativeHandleEffect(create, ref) { + if ("function" === typeof ref) { + create = create(); + var refCleanup = ref(create); + return function() { + "function" === typeof refCleanup ? refCleanup() : ref(null); + }; + } + if (null !== ref && void 0 !== ref) + return ref.hasOwnProperty("current") || console.error( + "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", + "an object with keys {" + Object.keys(ref).join(", ") + "}" + ), create = create(), ref.current = create, function() { + ref.current = null; + }; + } + function mountImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + mountEffectImpl( + fiberFlags, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function updateImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + updateEffectImpl( + 4, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function mountCallback(callback, deps) { + mountWorkInProgressHook().memoizedState = [ + callback, + void 0 === deps ? null : deps + ]; + return callback; + } + function updateCallback(callback, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + hook.memoizedState = [callback, deps]; + return callback; + } + function mountMemo(nextCreate, deps) { + var hook = mountWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var nextValue = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [nextValue, deps]; + return nextValue; + } + function updateMemo(nextCreate, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + prevState = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [prevState, deps]; + return prevState; + } + function mountDeferredValue(value, initialValue) { + var hook = mountWorkInProgressHook(); + return mountDeferredValueImpl(hook, value, initialValue); + } + function updateDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function rerenderDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function mountDeferredValueImpl(hook, value, initialValue) { + if (void 0 === initialValue || 0 !== (renderLanes & 1073741824)) + return hook.memoizedState = value; + hook.memoizedState = initialValue; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return initialValue; + } + function updateDeferredValueImpl(hook, prevValue, value, initialValue) { + if (objectIs(value, prevValue)) return value; + if (null !== currentTreeHiddenStackCursor.current) + return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook; + if (0 === (renderLanes & 42)) + return didReceiveUpdate = true, hook.memoizedState = value; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return prevValue; + } + function startTransition(fiber, queue, pendingState, finishedState, callback) { + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority; + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + dispatchOptimisticSetState(fiber, false, queue, pendingState); + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) { + var thenableForFinishedState = chainThenableValue( + returnValue, + finishedState + ); + dispatchSetStateInternal( + fiber, + queue, + thenableForFinishedState, + requestUpdateLane(fiber) + ); + } else + dispatchSetStateInternal( + fiber, + queue, + finishedState, + requestUpdateLane(fiber) + ); + } catch (error) { + dispatchSetStateInternal( + fiber, + queue, + { then: function() { + }, status: "rejected", reason: error }, + requestUpdateLane(fiber) + ); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } + function startHostTransition(formFiber, pendingState, action, formData) { + if (5 !== formFiber.tag) + throw Error( + "Expected the form instance to be a HostComponent. This is a bug in React." + ); + var queue = ensureFormComponentIsStateful(formFiber).queue; + startTransition( + formFiber, + queue, + pendingState, + NotPendingTransition, + null === action ? noop$2 : function() { + requestFormReset$1(formFiber); + return action(formData); + } + ); + } + function ensureFormComponentIsStateful(formFiber) { + var existingStateHook = formFiber.memoizedState; + if (null !== existingStateHook) return existingStateHook; + existingStateHook = { + memoizedState: NotPendingTransition, + baseState: NotPendingTransition, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: NotPendingTransition + }, + next: null + }; + var initialResetState = {}; + existingStateHook.next = { + memoizedState: initialResetState, + baseState: initialResetState, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialResetState + }, + next: null + }; + formFiber.memoizedState = existingStateHook; + formFiber = formFiber.alternate; + null !== formFiber && (formFiber.memoizedState = existingStateHook); + return existingStateHook; + } + function requestFormReset$1(formFiber) { + null === ReactSharedInternals.T && console.error( + "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition." + ); + var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue; + dispatchSetStateInternal( + formFiber, + resetStateQueue, + {}, + requestUpdateLane(formFiber) + ); + } + function mountTransition() { + var stateHook = mountStateImpl(false); + stateHook = startTransition.bind( + null, + currentlyRenderingFiber, + stateHook.queue, + true, + false + ); + mountWorkInProgressHook().memoizedState = stateHook; + return [false, stateHook]; + } + function updateTransition() { + var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function rerenderTransition() { + var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function useHostTransitionStatus() { + return readContext(HostTransitionContext); + } + function mountId() { + var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix; + if (isHydrating) { + var treeId = treeContextOverflow; + var idWithLeadingBit = treeContextId; + treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId; + identifierPrefix = "\xAB" + identifierPrefix + "R" + treeId; + treeId = localIdCounter++; + 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); + identifierPrefix += "\xBB"; + } else + treeId = globalClientIdCounter++, identifierPrefix = "\xAB" + identifierPrefix + "r" + treeId.toString(32) + "\xBB"; + return hook.memoizedState = identifierPrefix; + } + function mountRefresh() { + return mountWorkInProgressHook().memoizedState = refreshCache.bind( + null, + currentlyRenderingFiber + ); + } + function refreshCache(fiber, seedKey) { + for (var provider = fiber.return; null !== provider; ) { + switch (provider.tag) { + case 24: + case 3: + var lane = requestUpdateLane(provider); + fiber = createUpdate(lane); + var root2 = enqueueUpdate(provider, fiber, lane); + null !== root2 && (scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane)); + provider = createCache(); + null !== seedKey && void 0 !== seedKey && null !== root2 && console.error( + "The seed argument is not enabled outside experimental channels." + ); + fiber.payload = { cache: provider }; + return; + } + provider = provider.return; + } + } + function dispatchReducerAction(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + var update = { + lane: args, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args))); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetState(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + dispatchSetStateInternal(fiber, queue, action, args); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetStateInternal(fiber, queue, action, lane) { + var update = { + lane, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); + else { + var alternate = fiber.alternate; + if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action); + update.hasEagerState = true; + update.eagerState = eagerState; + if (objectIs(eagerState, currentState)) + return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false; + } catch (error) { + } finally { + ReactSharedInternals.H = prevDispatcher; + } + } + action = enqueueConcurrentHookUpdate(fiber, queue, update, lane); + if (null !== action) + return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true; + } + return false; + } + function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) { + null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error( + "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition." + ); + action = { + lane: 2, + revertLane: requestTransitionLane(), + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) { + if (throwIfDuringRender) + throw Error("Cannot update optimistic state while rendering."); + console.error("Cannot call startTransition while rendering."); + } else + throwIfDuringRender = enqueueConcurrentHookUpdate( + fiber, + queue, + action, + 2 + ), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2); + markStateUpdateScheduled(fiber, 2); + } + function isRenderPhaseUpdate(fiber) { + var alternate = fiber.alternate; + return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber; + } + function enqueueRenderPhaseUpdate(queue, update) { + didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true; + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + function entangleTransitionUpdate(root2, queue, lane) { + if (0 !== (lane & 4194048)) { + var queueLanes = queue.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + queue.lanes = lane; + markRootEntangled(root2, lane); + } + } + function pushDebugInfo(debugInfo) { + var previousDebugInfo = currentDebugInfo; + null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo)); + return previousDebugInfo; + } + function validateFragmentProps(element, fiber, returnFiber) { + for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) { + var key = keys[i]; + if ("children" !== key && "key" !== key) { + null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber); + runWithFiberInDEV( + fiber, + function(erroredKey) { + console.error( + "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", + erroredKey + ); + }, + key + ); + break; + } + } + } + function unwrapThenable(thenable) { + var index = thenableIndexCounter; + thenableIndexCounter += 1; + null === thenableState && (thenableState = createThenableState()); + return trackUsedThenable(thenableState, thenable, index); + } + function coerceRef(workInProgress2, element) { + element = element.props.ref; + workInProgress2.ref = void 0 !== element ? element : null; + } + function throwOnInvalidObjectType(returnFiber, newChild) { + if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) + throw Error( + 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.' + ); + returnFiber = Object.prototype.toString.call(newChild); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead." + ); + } + function warnOnFunctionType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)", + invalidChild, + invalidChild, + invalidChild + ) : console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>", + invalidChild, + invalidChild, + parentName, + invalidChild, + parentName + )); + } + function warnOnSymbolType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error( + "Symbols are not valid as a React child.\n root.render(%s)", + invalidChild + ) : console.error( + "Symbols are not valid as a React child.\n <%s>%s</%s>", + parentName, + invalidChild, + parentName + )); + } + function createChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var deletions = returnFiber.deletions; + null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete); + } + } + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + for (; null !== currentFirstChild; ) + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return null; + } + function mapRemainingChildren(currentFirstChild) { + for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; ) + null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return existingChildren; + } + function useFiber(fiber, pendingProps) { + fiber = createWorkInProgress(fiber, pendingProps); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) + return newFiber.flags |= 1048576, lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) + return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex; + newFiber.flags |= 67108866; + return lastPlacedIndex; + } + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866); + return newFiber; + } + function updateTextNode(returnFiber, current2, textContent, lanes) { + if (null === current2 || 6 !== current2.tag) + return current2 = createFiberFromText( + textContent, + returnFiber.mode, + lanes + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, textContent); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateElement(returnFiber, current2, element, lanes) { + var elementType = element.type; + if (elementType === REACT_FRAGMENT_TYPE) + return current2 = updateFragment( + returnFiber, + current2, + element.props.children, + lanes, + element.key + ), validateFragmentProps(element, current2, returnFiber), current2; + if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type)) + return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2; + current2 = createFiberFromElement(element, returnFiber.mode, lanes); + coerceRef(current2, element); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updatePortal(returnFiber, current2, portal, lanes) { + if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation) + return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, portal.children || []); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateFragment(returnFiber, current2, fragment, lanes, key) { + if (null === current2 || 7 !== current2.tag) + return current2 = createFiberFromFragment( + fragment, + returnFiber.mode, + lanes, + key + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, fragment); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function createChild(returnFiber, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return newChild = createFiberFromText( + "" + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild; + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal( + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; + case REACT_LAZY_TYPE: + var _prevDebugInfo = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = createChild(returnFiber, newChild, lanes); + currentDebugInfo = _prevDebugInfo; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return lanes = createFiberFromFragment( + newChild, + returnFiber.mode, + lanes, + null + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + if ("function" === typeof newChild.then) + return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild( + returnFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return createChild( + returnFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateSlot(returnFiber, oldFiber, newChild, lanes) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber) : null; + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; + case REACT_LAZY_TYPE: + return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) { + if (null !== key) return null; + key = pushDebugInfo(newChild._debugInfo); + returnFiber = updateFragment( + returnFiber, + oldFiber, + newChild, + lanes, + null + ); + currentDebugInfo = key; + return returnFiber; + } + if ("function" === typeof newChild.then) + return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot( + returnFiber, + oldFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = key, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateSlot( + returnFiber, + oldFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newIdx = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + newIdx, + newChild, + lanes + ), currentDebugInfo = existingChildren, returnFiber; + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes); + case REACT_LAZY_TYPE: + var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + newChild, + lanes + ); + currentDebugInfo = _prevDebugInfo7; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment( + returnFiber, + newIdx, + newChild, + lanes, + null + ), currentDebugInfo = existingChildren, returnFiber; + if ("function" === typeof newChild.then) + return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo7, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateFromMap( + existingChildren, + returnFiber, + newIdx, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) { + if ("object" !== typeof child || null === child) return knownKeys; + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(returnFiber, workInProgress2, child); + var key = child.key; + if ("string" !== typeof key) break; + if (null === knownKeys) { + knownKeys = /* @__PURE__ */ new Set(); + knownKeys.add(key); + break; + } + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + runWithFiberInDEV(workInProgress2, function() { + console.error( + "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.", + key + ); + }); + break; + case REACT_LAZY_TYPE: + child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys); + } + return knownKeys; + } + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { + for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot( + returnFiber, + oldFiber, + newChildren[newIdx], + lanes + ); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + newChildren[newIdx], + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (newIdx === newChildren.length) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) + oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + newChildren[newIdx], + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + newChildren[newIdx], + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + newChildren[newIdx], + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) { + if (null == newChildren) + throw Error("An iterable object provided no iterator."); + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + step.value, + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (step.done) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildren.next()) + oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + step.value, + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next()) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + step.value, + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + step.value, + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) { + "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + var prevDebugInfo = pushDebugInfo(newChild._debugInfo); + a: { + for (var key = newChild.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === key) { + key = newChild.type; + if (key === REACT_FRAGMENT_TYPE) { + if (7 === currentFirstChild.tag) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + newChild.props.children + ); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + validateFragmentProps(newChild, lanes, returnFiber); + returnFiber = lanes; + break a; + } + } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading( + currentFirstChild, + newChild + ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber(currentFirstChild, newChild.props); + coerceRef(lanes, newChild); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + returnFiber = lanes; + break a; + } + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment( + newChild.props.children, + returnFiber.mode, + lanes, + newChild.key + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes); + } + returnFiber = placeSingleChild(returnFiber); + currentDebugInfo = prevDebugInfo; + return returnFiber; + case REACT_PORTAL_TYPE: + a: { + prevDebugInfo = newChild; + for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === newChild) + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + prevDebugInfo.children || [] + ); + lanes.return = returnFiber; + returnFiber = lanes; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + lanes = createFiberFromPortal( + prevDebugInfo, + returnFiber.mode, + lanes + ); + lanes.return = returnFiber; + returnFiber = lanes; + } + return placeSingleChild(returnFiber); + case REACT_LAZY_TYPE: + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + } + if (isArrayImpl(newChild)) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (getIteratorFn(newChild)) { + prevDebugInfo = pushDebugInfo(newChild._debugInfo); + key = getIteratorFn(newChild); + if ("function" !== typeof key) + throw Error( + "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." + ); + var newChildren = key.call(newChild); + if (newChildren === newChild) { + if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren)) + didWarnAboutGenerators || console.error( + "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items." + ), didWarnAboutGenerators = true; + } else + newChild.entries !== key || didWarnAboutMaps || (console.error( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true); + returnFiber = reconcileChildrenIterator( + returnFiber, + currentFirstChild, + newChildren, + lanes + ); + currentDebugInfo = prevDebugInfo; + return returnFiber; + } + if ("function" === typeof newChild.then) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText( + prevDebugInfo, + returnFiber.mode, + lanes + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber); + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + return function(returnFiber, currentFirstChild, newChild, lanes) { + var prevDebugInfo = currentDebugInfo; + currentDebugInfo = null; + try { + thenableIndexCounter = 0; + var firstChildFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ); + thenableState = null; + return firstChildFiber; + } catch (x) { + if (x === SuspenseException || x === SuspenseActionException) throw x; + var fiber = createFiber(29, x, null, returnFiber.mode); + fiber.lanes = lanes; + fiber.return = returnFiber; + var debugInfo = fiber._debugInfo = currentDebugInfo; + fiber._debugOwner = returnFiber._debugOwner; + fiber._debugTask = returnFiber._debugTask; + if (null != debugInfo) { + for (var i = debugInfo.length - 1; 0 <= i; i--) + if ("string" === typeof debugInfo[i].stack) { + fiber._debugOwner = debugInfo[i]; + fiber._debugTask = debugInfo[i].debugTask; + break; + } + } + return fiber; + } finally { + currentDebugInfo = prevDebugInfo; + } + }; + } + function pushPrimaryTreeSuspenseHandler(handler) { + var current2 = handler.alternate; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask, + handler + ); + push(suspenseHandlerStackCursor, handler, handler); + null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler)); + } + function pushOffscreenSuspenseHandler(fiber) { + if (22 === fiber.tag) { + if (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary) { + var current2 = fiber.alternate; + null !== current2 && null !== current2.memoizedState && (shellBoundary = fiber); + } + } else reuseSuspenseHandlerOnStack(fiber); + } + function reuseSuspenseHandlerOnStack(fiber) { + push(suspenseStackCursor, suspenseStackCursor.current, fiber); + push( + suspenseHandlerStackCursor, + suspenseHandlerStackCursor.current, + fiber + ); + } + function popSuspenseHandler(fiber) { + pop(suspenseHandlerStackCursor, fiber); + shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor, fiber); + } + function findFirstSuspended(row) { + for (var node = row; null !== node; ) { + if (13 === node.tag) { + var state = node.memoizedState; + if (null !== state && (state = state.dehydrated, null === state || state.data === SUSPENSE_PENDING_START_DATA || isSuspenseInstanceFallback(state))) + return node; + } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + if (0 !== (node.flags & 128)) return node; + } else if (null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === row) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === row) return null; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + return null; + } + function warnOnInvalidCallback(callback) { + if (null !== callback && "function" !== typeof callback) { + var key = String(callback); + didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + )); + } + } + function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState = getDerivedStateFromProps(nextProps, prevState); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error( + "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", + ctor + ))); + prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState); + workInProgress2.memoizedState = prevState; + 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState); + } + function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) { + var instance = workInProgress2.stateNode; + if ("function" === typeof instance.shouldComponentUpdate) { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === oldProps && console.error( + "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", + getComponentNameFromType(ctor) || "Component" + ); + return oldProps; + } + return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true; + } + function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) { + var oldState = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); + instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error( + "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + workInProgress2 + )), classComponentUpdater.enqueueReplaceState( + instance, + instance.state, + null + )); + } + function resolveClassComponentProps(Component, baseProps) { + var newProps = baseProps; + if ("ref" in baseProps) { + newProps = {}; + for (var propName in baseProps) + "ref" !== propName && (newProps[propName] = baseProps[propName]); + } + if (Component = Component.defaultProps) { + newProps === baseProps && (newProps = assign({}, newProps)); + for (var _propName in Component) + void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]); + } + return newProps; + } + function defaultOnUncaughtError(error) { + reportGlobalError(error); + console.warn( + "%s\n\n%s\n", + componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.", + "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries." + ); + } + function defaultOnCaughtError(error) { + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + "."); + if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) { + var JSCompiler_inline_result = error.environmentName; + error = [ + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ].slice(0); + "string" === typeof error[0] ? error.splice( + 0, + 1, + badgeFormat + error[0], + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ) : error.splice( + 0, + 0, + badgeFormat, + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ); + error.unshift(console); + JSCompiler_inline_result = bind.apply(console.error, error); + JSCompiler_inline_result(); + } else + console.error( + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ); + } + function defaultOnRecoverableError(error) { + reportGlobalError(error); + } + function logUncaughtError(root2, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = null; + var error = errorInfo.value; + if (null !== ReactSharedInternals.actQueue) + ReactSharedInternals.thrownErrors.push(error); + else { + var onUncaughtError = root2.onUncaughtError; + onUncaughtError(error, { componentStack: errorInfo.stack }); + } + } catch (e$5) { + setTimeout(function() { + throw e$5; + }); + } + } + function logCaughtError(root2, boundary, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = getComponentNameFromFiber(boundary); + var onCaughtError = root2.onCaughtError; + onCaughtError(errorInfo.value, { + componentStack: errorInfo.stack, + errorBoundary: 1 === boundary.tag ? boundary.stateNode : null + }); + } catch (e$6) { + setTimeout(function() { + throw e$6; + }); + } + } + function createRootErrorUpdate(root2, errorInfo, lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + lane.payload = { element: null }; + lane.callback = function() { + runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo); + }; + return lane; + } + function createClassErrorUpdate(lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + return lane; + } + function initializeClassErrorUpdate(update, root2, fiber, errorInfo) { + var getDerivedStateFromError = fiber.type.getDerivedStateFromError; + if ("function" === typeof getDerivedStateFromError) { + var error = errorInfo.value; + update.payload = function() { + return getDerivedStateFromError(error); + }; + update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + }; + } + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this)); + callComponentDidCatchInDEV(this, errorInfo); + "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error( + "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", + getComponentNameFromFiber(fiber) || "Unknown" + ); + }); + } + function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) { + sourceFiber.flags |= 32768; + isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes); + if (null !== value && "object" === typeof value && "function" === typeof value.then) { + returnFiber = sourceFiber.alternate; + null !== returnFiber && propagateParentContextChanges( + returnFiber, + sourceFiber, + rootRenderLanes, + true + ); + isHydrating && (didSuspendOrErrorDEV = true); + sourceFiber = suspenseHandlerStackCursor.current; + if (null !== sourceFiber) { + switch (sourceFiber.tag) { + case 13: + return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false; + case 22: + return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = { + transitions: null, + markerInstances: null, + retryQueue: /* @__PURE__ */ new Set([value]) + }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false; + } + throw Error( + "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React." + ); + } + attachPingListener(root2, value, rootRenderLanes); + renderDidSuspendDelayIfPossible(); + return false; + } + if (isHydrating) + return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.", + { cause: value } + ), + sourceFiber + ) + )) : (value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering the entire root.", + { cause: value } + ), + sourceFiber + ) + ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate( + root2.stateNode, + value, + rootRenderLanes + ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false; + var error = createCapturedValueAtFiber( + Error( + "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.", + { cause: value } + ), + sourceFiber + ); + null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error); + workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored); + if (null === returnFiber) return true; + value = createCapturedValueAtFiber(value, sourceFiber); + sourceFiber = returnFiber; + do { + switch (sourceFiber.tag) { + case 3: + return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate( + sourceFiber.stateNode, + value, + root2 + ), enqueueCapturedUpdate(sourceFiber, root2), false; + case 1: + if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error)))) + return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate( + rootRenderLanes, + root2, + sourceFiber, + value + ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false; + } + sourceFiber = sourceFiber.return; + } while (null !== sourceFiber); + return false; + } + function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) { + workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers( + workInProgress2, + current2.child, + nextChildren, + renderLanes2 + ); + } + function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) { + Component = Component.render; + var ref = workInProgress2.ref; + if ("ref" in nextProps) { + var propsWithoutRef = {}; + for (var key in nextProps) + "ref" !== key && (propsWithoutRef[key] = nextProps[key]); + } else propsWithoutRef = nextProps; + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + nextProps = renderWithHooks( + current2, + workInProgress2, + Component, + propsWithoutRef, + ref, + renderLanes2 + ); + key = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && key && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null === current2) { + var type = Component.type; + if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare) + return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + current2 = createFiberFromTypeAndProps( + Component.type, + null, + nextProps, + workInProgress2, + workInProgress2.mode, + renderLanes2 + ); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + type = current2.child; + if (!checkScheduledUpdateOrContext(current2, renderLanes2)) { + var prevProps = type.memoizedProps; + Component = Component.compare; + Component = null !== Component ? Component : shallowEqual; + if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref) + return bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + } + workInProgress2.flags |= 1; + current2 = createWorkInProgress(type, nextProps); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null !== current2) { + var prevProps = current2.memoizedProps; + if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type) + if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2)) + 0 !== (current2.flags & 131072) && (didReceiveUpdate = true); + else + return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + return updateFunctionComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + } + function updateOffscreenComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null; + if ("hidden" === nextProps.mode) { + if (0 !== (workInProgress2.flags & 128)) { + nextProps = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2; + if (null !== current2) { + nextChildren = workInProgress2.child = current2.child; + for (prevState = 0; null !== nextChildren; ) + prevState = prevState | nextChildren.lanes | nextChildren.childLanes, nextChildren = nextChildren.sibling; + workInProgress2.childLanes = prevState & ~nextProps; + } else workInProgress2.childLanes = 0, workInProgress2.child = null; + return deferHiddenOffscreenComponent( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + } + if (0 !== (renderLanes2 & 536870912)) + workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition( + workInProgress2, + null !== prevState ? prevState.cachePool : null + ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2); + else + return workInProgress2.lanes = workInProgress2.childLanes = 536870912, deferHiddenOffscreenComponent( + current2, + workInProgress2, + null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2, + renderLanes2 + ); + } else + null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2)); + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2) { + var JSCompiler_inline_result = peekCacheFromPool(); + JSCompiler_inline_result = null === JSCompiler_inline_result ? null : { + parent: CacheContext._currentValue, + pool: JSCompiler_inline_result + }; + workInProgress2.memoizedState = { + baseLanes: nextBaseLanes, + cachePool: JSCompiler_inline_result + }; + null !== current2 && pushTransition(workInProgress2, null); + reuseHiddenContextOnStack(workInProgress2); + pushOffscreenSuspenseHandler(workInProgress2); + null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true); + return null; + } + function markRef(current2, workInProgress2) { + var ref = workInProgress2.ref; + if (null === ref) + null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816); + else { + if ("function" !== typeof ref && "object" !== typeof ref) + throw Error( + "Expected ref to be a function, an object returned by React.createRef(), or undefined/null." + ); + if (null === current2 || current2.ref !== ref) + workInProgress2.flags |= 4194816; + } + } + function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (Component.prototype && "function" === typeof Component.prototype.render) { + var componentName2 = getComponentNameFromType(Component) || "Unknown"; + didWarnAboutBadClass[componentName2] || (console.error( + "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", + componentName2, + componentName2 + ), didWarnAboutBadClass[componentName2] = true); + } + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + null + ); + null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)", + componentName2 + )))); + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + Component = renderWithHooks( + current2, + workInProgress2, + Component, + nextProps, + void 0, + renderLanes2 + ); + nextProps = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && nextProps && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, Component, renderLanes2); + return workInProgress2.child; + } + function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) { + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + workInProgress2.updateQueue = null; + nextProps = renderWithHooksAgain( + workInProgress2, + Component, + nextProps, + secondArg + ); + finishRenderingHooks(current2, workInProgress2); + Component = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && Component && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + switch (shouldErrorImpl(workInProgress2)) { + case false: + var _instance = workInProgress2.stateNode, state = new workInProgress2.type( + workInProgress2.memoizedProps, + _instance.context + ).state; + _instance.updater.enqueueSetState(_instance, state, null); + break; + case true: + workInProgress2.flags |= 128; + workInProgress2.flags |= 65536; + _instance = Error("Simulated error coming from DevTools"); + var lane = renderLanes2 & -renderLanes2; + workInProgress2.lanes |= lane; + state = workInProgressRoot; + if (null === state) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + lane = createClassErrorUpdate(lane); + initializeClassErrorUpdate( + lane, + state, + workInProgress2, + createCapturedValueAtFiber(_instance, workInProgress2) + ); + enqueueCapturedUpdate(workInProgress2, lane); + } + prepareToReadContext(workInProgress2); + if (null === workInProgress2.stateNode) { + state = emptyContextObject; + _instance = Component.contextType; + "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error( + "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", + getComponentNameFromType(Component) || "Component", + lane + )); + "object" === typeof _instance && null !== _instance && (state = readContext(_instance)); + _instance = new Component(nextProps, state); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + _instance = new Component(nextProps, state); + } finally { + setIsStrictModeForDevtools(false); + } + } + state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null; + _instance.updater = classComponentUpdater; + workInProgress2.stateNode = _instance; + _instance._reactInternals = workInProgress2; + _instance._reactInternalInstance = fakeInternalInstance; + "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error( + "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", + state, + null === _instance.state ? "null" : "undefined", + state + ))); + if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) { + var foundWillUpdateName = lane = state = null; + "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount"); + "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps"); + "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate"); + if (null !== state || null !== lane || null !== foundWillUpdateName) { + _instance = getComponentNameFromType(Component) || "Component"; + var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error( + "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles", + _instance, + newApiName, + null !== state ? "\n " + state : "", + null !== lane ? "\n " + lane : "", + null !== foundWillUpdateName ? "\n " + foundWillUpdateName : "" + )); + } + } + _instance = workInProgress2.stateNode; + state = getComponentNameFromType(Component) || "Component"; + _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error( + "No `render` method found on the %s instance: did you accidentally return an object from the constructor?", + state + ) : console.error( + "No `render` method found on the %s instance: you may have forgotten to define `render`.", + state + )); + !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error( + "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", + state + ); + _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error( + "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", + state + ); + _instance.contextType && console.error( + "contextType was defined as an instance property on %s. Use a static property to define contextType instead.", + state + ); + Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error( + "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)", + state + )); + Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)", + state + )); + "function" === typeof _instance.componentShouldUpdate && console.error( + "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", + state + ); + Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error( + "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", + getComponentNameFromType(Component) || "A pure component" + ); + "function" === typeof _instance.componentDidUnmount && console.error( + "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", + state + ); + "function" === typeof _instance.componentDidReceiveProps && console.error( + "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", + state + ); + "function" === typeof _instance.componentWillRecieveProps && console.error( + "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", + state + ); + "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error( + "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", + state + ); + lane = _instance.props !== nextProps; + void 0 !== _instance.props && lane && console.error( + "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", + state + ); + _instance.defaultProps && console.error( + "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", + state, + state + ); + "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error( + "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", + getComponentNameFromType(Component) + )); + "function" === typeof _instance.getDerivedStateFromProps && console.error( + "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof _instance.getDerivedStateFromError && console.error( + "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof Component.getSnapshotBeforeUpdate && console.error( + "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", + state + ); + (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state); + "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error( + "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", + state + ); + _instance = workInProgress2.stateNode; + _instance.props = nextProps; + _instance.state = workInProgress2.memoizedState; + _instance.refs = {}; + initializeUpdateQueue(workInProgress2); + state = Component.contextType; + _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject; + _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error( + "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", + state + ))); + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + _instance + ); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings( + workInProgress2, + _instance + ); + _instance.state = workInProgress2.memoizedState; + state = Component.getDerivedStateFromProps; + "function" === typeof state && (applyDerivedStateFromProps( + workInProgress2, + Component, + state, + nextProps + ), _instance.state = workInProgress2.memoizedState); + "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error( + "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + getComponentNameFromFiber(workInProgress2) || "Component" + ), classComponentUpdater.enqueueReplaceState( + _instance, + _instance.state, + null + )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState); + "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308); + (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728); + _instance = true; + } else if (null === current2) { + _instance = workInProgress2.stateNode; + var unresolvedOldProps = workInProgress2.memoizedProps; + lane = resolveClassComponentProps(Component, unresolvedOldProps); + _instance.props = lane; + var oldContext = _instance.context; + foundWillUpdateName = Component.contextType; + state = emptyContextObject; + "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName)); + newApiName = Component.getDerivedStateFromProps; + foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate; + unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps; + foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + state + ); + hasForceUpdate = false; + var oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + oldContext = workInProgress2.memoizedState; + unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps( + workInProgress2, + Component, + newApiName, + nextProps + ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + lane, + nextProps, + oldState, + oldContext, + state + )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false); + } else { + _instance = workInProgress2.stateNode; + cloneUpdateQueue(current2, workInProgress2); + state = workInProgress2.memoizedProps; + foundWillUpdateName = resolveClassComponentProps(Component, state); + _instance.props = foundWillUpdateName; + newApiName = workInProgress2.pendingProps; + oldState = _instance.context; + oldContext = Component.contextType; + lane = emptyContextObject; + "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext)); + unresolvedOldProps = Component.getDerivedStateFromProps; + (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + lane + ); + hasForceUpdate = false; + oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + var newState = workInProgress2.memoizedState; + state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps( + workInProgress2, + Component, + unresolvedOldProps, + nextProps + ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + foundWillUpdateName, + nextProps, + oldState, + newState, + lane + ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate( + nextProps, + newState, + lane + )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false); + } + lane = _instance; + markRef(current2, workInProgress2); + state = 0 !== (workInProgress2.flags & 128); + if (lane || state) { + lane = workInProgress2.stateNode; + setCurrentFiber(workInProgress2); + if (state && "function" !== typeof Component.getDerivedStateFromError) + Component = null, profilerStartTime = -1; + else { + markComponentRenderStarted(workInProgress2); + Component = callRenderInDEV(lane); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + callRenderInDEV(lane); + } finally { + setIsStrictModeForDevtools(false); + } + } + markComponentRenderStopped(); + } + workInProgress2.flags |= 1; + null !== current2 && state ? (workInProgress2.child = reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + Component, + renderLanes2 + )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2); + workInProgress2.memoizedState = lane.state; + current2 = workInProgress2.child; + } else + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + renderLanes2 = workInProgress2.stateNode; + _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error( + "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", + getComponentNameFromFiber(workInProgress2) || "a component" + ), didWarnAboutReassigningProps = true); + return current2; + } + function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) { + resetHydrationState(); + workInProgress2.flags |= 256; + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function validateFunctionComponentInDev(workInProgress2, Component) { + Component && Component.childContextTypes && console.error( + "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...", + Component.displayName || Component.name || "Component" + ); + "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error( + "%s: Function components do not support getDerivedStateFromProps.", + workInProgress2 + ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true)); + "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error( + "%s: Function components do not support contextType.", + Component + ), didWarnAboutContextTypeOnFunctionComponent[Component] = true)); + } + function mountSuspenseOffscreenState(renderLanes2) { + return { baseLanes: renderLanes2, cachePool: getSuspendedCache() }; + } + function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) { + current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0; + primaryTreeDidDefer && (current2 |= workInProgressDeferredLane); + return current2; + } + function updateSuspenseComponent(current2, workInProgress2, renderLanes2) { + var JSCompiler_object_inline_digest_2451; + var JSCompiler_object_inline_stack_2452 = workInProgress2.pendingProps; + shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128); + var JSCompiler_object_inline_componentStack_2453 = false; + var didSuspend = 0 !== (workInProgress2.flags & 128); + (JSCompiler_object_inline_digest_2451 = didSuspend) || (JSCompiler_object_inline_digest_2451 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); + JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_componentStack_2453 = true, workInProgress2.flags &= -129); + JSCompiler_object_inline_digest_2451 = 0 !== (workInProgress2.flags & 32); + workInProgress2.flags &= -33; + if (null === current2) { + if (isHydrating) { + JSCompiler_object_inline_componentStack_2453 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2); + if (isHydrating) { + var JSCompiler_object_inline_message_2450 = nextHydratableInstance; + var JSCompiler_temp; + if (!(JSCompiler_temp = !JSCompiler_object_inline_message_2450)) { + c: { + var instance = JSCompiler_object_inline_message_2450; + for (JSCompiler_temp = rootOrSingletonContext; 8 !== instance.nodeType; ) { + if (!JSCompiler_temp) { + JSCompiler_temp = null; + break c; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) { + JSCompiler_temp = null; + break c; + } + } + JSCompiler_temp = instance; + } + null !== JSCompiler_temp ? (warnIfNotHydrating(), workInProgress2.memoizedState = { + dehydrated: JSCompiler_temp, + treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, + retryLane: 536870912, + hydrationErrors: null + }, instance = createFiber(18, null, null, NoMode), instance.stateNode = JSCompiler_temp, instance.return = workInProgress2, workInProgress2.child = instance, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, JSCompiler_temp = true) : JSCompiler_temp = false; + JSCompiler_temp = !JSCompiler_temp; + } + JSCompiler_temp && (warnNonHydratedInstance( + workInProgress2, + JSCompiler_object_inline_message_2450 + ), throwOnHydrationMismatch(workInProgress2)); + } + JSCompiler_object_inline_message_2450 = workInProgress2.memoizedState; + if (null !== JSCompiler_object_inline_message_2450 && (JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_message_2450.dehydrated, null !== JSCompiler_object_inline_message_2450)) + return isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912, null; + popSuspenseHandler(workInProgress2); + } + JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_stack_2452.children; + JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_stack_2452.fallback; + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = workInProgress2.mode, JSCompiler_object_inline_message_2450 = mountWorkInProgressOffscreenFiber( + { + mode: "hidden", + children: JSCompiler_object_inline_message_2450 + }, + JSCompiler_object_inline_componentStack_2453 + ), JSCompiler_object_inline_stack_2452 = createFiberFromFragment( + JSCompiler_object_inline_stack_2452, + JSCompiler_object_inline_componentStack_2453, + renderLanes2, + null + ), JSCompiler_object_inline_message_2450.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_message_2450.sibling = JSCompiler_object_inline_stack_2452, workInProgress2.child = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_componentStack_2453.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + return mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_message_2450 + ); + } + var prevState = current2.memoizedState; + if (null !== prevState && (JSCompiler_object_inline_message_2450 = prevState.dehydrated, null !== JSCompiler_object_inline_message_2450)) { + if (didSuspend) + workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_object_inline_stack_2452 = mountWorkInProgressOffscreenFiber( + { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }, + JSCompiler_object_inline_message_2450 + ), JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), JSCompiler_object_inline_stack_2452 = workInProgress2.child, JSCompiler_object_inline_stack_2452.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2452.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = JSCompiler_object_inline_componentStack_2453); + else if (pushPrimaryTreeSuspenseHandler(workInProgress2), isHydrating && console.error( + "We should not be hydrating here. This is a bug in React. Please file a bug." + ), isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450)) { + JSCompiler_object_inline_digest_2451 = JSCompiler_object_inline_message_2450.nextSibling && JSCompiler_object_inline_message_2450.nextSibling.dataset; + if (JSCompiler_object_inline_digest_2451) { + JSCompiler_temp = JSCompiler_object_inline_digest_2451.dgst; + var message = JSCompiler_object_inline_digest_2451.msg; + instance = JSCompiler_object_inline_digest_2451.stck; + var componentStack = JSCompiler_object_inline_digest_2451.cstck; + } + JSCompiler_object_inline_message_2450 = message; + JSCompiler_object_inline_digest_2451 = JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = instance; + JSCompiler_temp = JSCompiler_object_inline_componentStack_2453 = componentStack; + JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_message_2450 ? Error(JSCompiler_object_inline_message_2450) : Error( + "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." + ); + JSCompiler_object_inline_componentStack_2453.stack = JSCompiler_object_inline_stack_2452 || ""; + JSCompiler_object_inline_componentStack_2453.digest = JSCompiler_object_inline_digest_2451; + JSCompiler_object_inline_digest_2451 = void 0 === JSCompiler_temp ? null : JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = { + value: JSCompiler_object_inline_componentStack_2453, + source: null, + stack: JSCompiler_object_inline_digest_2451 + }; + "string" === typeof JSCompiler_object_inline_digest_2451 && CapturedStacks.set( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_stack_2452 + ); + queueHydrationError(JSCompiler_object_inline_stack_2452); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else if (didReceiveUpdate || propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), JSCompiler_object_inline_digest_2451 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2451) { + JSCompiler_object_inline_digest_2451 = workInProgressRoot; + if (null !== JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_stack_2452 = renderLanes2 & -renderLanes2, JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & 42) ? 1 : getBumpedLaneForHydrationByLane( + JSCompiler_object_inline_stack_2452 + ), JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & (JSCompiler_object_inline_digest_2451.suspendedLanes | renderLanes2)) ? 0 : JSCompiler_object_inline_stack_2452, 0 !== JSCompiler_object_inline_stack_2452 && JSCompiler_object_inline_stack_2452 !== prevState.retryLane)) + throw prevState.retryLane = JSCompiler_object_inline_stack_2452, enqueueConcurrentRenderForLane( + current2, + JSCompiler_object_inline_stack_2452 + ), scheduleUpdateOnFiber( + JSCompiler_object_inline_digest_2451, + current2, + JSCompiler_object_inline_stack_2452 + ), SelectiveHydrationException; + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA || renderDidSuspendDelayIfPossible(); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable( + JSCompiler_object_inline_message_2450.nextSibling + ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && (warnIfNotHydrating(), idStack[idStackIndex++] = treeContextId, idStack[idStackIndex++] = treeContextOverflow, idStack[idStackIndex++] = treeContextProvider, treeContextId = current2.id, treeContextOverflow = current2.overflow, treeContextProvider = workInProgress2), workInProgress2 = mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_stack_2452.children + ), workInProgress2.flags |= 4096); + return workInProgress2; + } + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_temp = current2.child, instance = JSCompiler_temp.sibling, JSCompiler_object_inline_stack_2452 = createWorkInProgress( + JSCompiler_temp, + { + mode: "hidden", + children: JSCompiler_object_inline_stack_2452.children + } + ), JSCompiler_object_inline_stack_2452.subtreeFlags = JSCompiler_temp.subtreeFlags & 65011712, null !== instance ? JSCompiler_object_inline_componentStack_2453 = createWorkInProgress( + instance, + JSCompiler_object_inline_componentStack_2453 + ) : (JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2), JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_componentStack_2453, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_message_2450 = current2.child.memoizedState, null === JSCompiler_object_inline_message_2450 ? JSCompiler_object_inline_message_2450 = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp = JSCompiler_object_inline_message_2450.cachePool, null !== JSCompiler_temp ? (instance = CacheContext._currentValue, JSCompiler_temp = JSCompiler_temp.parent !== instance ? { parent: instance, pool: instance } : JSCompiler_temp) : JSCompiler_temp = getSuspendedCache(), JSCompiler_object_inline_message_2450 = { + baseLanes: JSCompiler_object_inline_message_2450.baseLanes | renderLanes2, + cachePool: JSCompiler_temp + }), JSCompiler_object_inline_componentStack_2453.memoizedState = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + renderLanes2 = current2.child; + current2 = renderLanes2.sibling; + renderLanes2 = createWorkInProgress(renderLanes2, { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }); + renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + null !== current2 && (JSCompiler_object_inline_digest_2451 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2451 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2451.push(current2)); + workInProgress2.child = renderLanes2; + workInProgress2.memoizedState = null; + return renderLanes2; + } + function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) { + primaryChildren = mountWorkInProgressOffscreenFiber( + { mode: "visible", children: primaryChildren }, + workInProgress2.mode + ); + primaryChildren.return = workInProgress2; + return workInProgress2.child = primaryChildren; + } + function mountWorkInProgressOffscreenFiber(offscreenProps, mode) { + offscreenProps = createFiber(22, offscreenProps, null, mode); + offscreenProps.lanes = 0; + offscreenProps.stateNode = { + _visibility: OffscreenVisible, + _pendingMarkers: null, + _retryCache: null, + _transitions: null + }; + return offscreenProps; + } + function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) { + reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2); + current2 = mountSuspensePrimaryChildren( + workInProgress2, + workInProgress2.pendingProps.children + ); + current2.flags |= 2; + workInProgress2.memoizedState = null; + return current2; + } + function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) { + fiber.lanes |= renderLanes2; + var alternate = fiber.alternate; + null !== alternate && (alternate.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + fiber.return, + renderLanes2, + propagationRoot + ); + } + function validateSuspenseListNestedChild(childSlot, index) { + var isAnArray = isArrayImpl(childSlot); + childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot); + return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error( + "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", + isAnArray, + index, + isAnArray + ), false) : true; + } + function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) { + var renderState = workInProgress2.memoizedState; + null === renderState ? workInProgress2.memoizedState = { + isBackwards, + rendering: null, + renderingStartTime: 0, + last: lastContentRow, + tail, + tailMode + } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode); + } + function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail; + nextProps = nextProps.children; + if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder]) + if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder) + switch (revealOrder.toLowerCase()) { + case "together": + case "forwards": + case "backwards": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + case "forward": + case "backward": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + default: + console.error( + '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + } + else + console.error( + '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error( + '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?', + tailMode + )) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error( + '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + ))); + a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps) + if (isArrayImpl(nextProps)) + for (var i = 0; i < nextProps.length; i++) { + if (!validateSuspenseListNestedChild(nextProps[i], i)) break a; + } + else if (i = getIteratorFn(nextProps), "function" === typeof i) { + if (i = i.call(nextProps)) + for (var step = i.next(), _i = 0; !step.done; step = i.next()) { + if (!validateSuspenseListNestedChild(step.value, _i)) break a; + _i++; + } + } else + console.error( + 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', + revealOrder + ); + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + nextProps = suspenseStackCursor.current; + if (0 !== (nextProps & ForceSuspenseFallback)) + nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128; + else { + if (null !== current2 && 0 !== (current2.flags & 128)) + a: for (current2 = workInProgress2.child; null !== current2; ) { + if (13 === current2.tag) + null !== current2.memoizedState && scheduleSuspenseWorkOnFiber( + current2, + renderLanes2, + workInProgress2 + ); + else if (19 === current2.tag) + scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2); + else if (null !== current2.child) { + current2.child.return = current2; + current2 = current2.child; + continue; + } + if (current2 === workInProgress2) break a; + for (; null === current2.sibling; ) { + if (null === current2.return || current2.return === workInProgress2) + break a; + current2 = current2.return; + } + current2.sibling.return = current2.return; + current2 = current2.sibling; + } + nextProps &= SubtreeSuspenseContextMask; + } + push(suspenseStackCursor, nextProps, workInProgress2); + switch (revealOrder) { + case "forwards": + renderLanes2 = workInProgress2.child; + for (revealOrder = null; null !== renderLanes2; ) + current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling; + renderLanes2 = revealOrder; + null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null); + initSuspenseListRenderState( + workInProgress2, + false, + revealOrder, + renderLanes2, + tailMode + ); + break; + case "backwards": + renderLanes2 = null; + revealOrder = workInProgress2.child; + for (workInProgress2.child = null; null !== revealOrder; ) { + current2 = revealOrder.alternate; + if (null !== current2 && null === findFirstSuspended(current2)) { + workInProgress2.child = revealOrder; + break; + } + current2 = revealOrder.sibling; + revealOrder.sibling = renderLanes2; + renderLanes2 = revealOrder; + revealOrder = current2; + } + initSuspenseListRenderState( + workInProgress2, + true, + renderLanes2, + null, + tailMode + ); + break; + case "together": + initSuspenseListRenderState(workInProgress2, false, null, null, void 0); + break; + default: + workInProgress2.memoizedState = null; + } + return workInProgress2.child; + } + function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) { + null !== current2 && (workInProgress2.dependencies = current2.dependencies); + profilerStartTime = -1; + workInProgressRootSkippedLanes |= workInProgress2.lanes; + if (0 === (renderLanes2 & workInProgress2.childLanes)) + if (null !== current2) { + if (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), 0 === (renderLanes2 & workInProgress2.childLanes)) + return null; + } else return null; + if (null !== current2 && workInProgress2.child !== current2.child) + throw Error("Resuming work not yet implemented."); + if (null !== workInProgress2.child) { + current2 = workInProgress2.child; + renderLanes2 = createWorkInProgress(current2, current2.pendingProps); + workInProgress2.child = renderLanes2; + for (renderLanes2.return = workInProgress2; null !== current2.sibling; ) + current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + } + return workInProgress2.child; + } + function checkScheduledUpdateOrContext(current2, renderLanes2) { + if (0 !== (current2.lanes & renderLanes2)) return true; + current2 = current2.dependencies; + return null !== current2 && checkIfContextChanged(current2) ? true : false; + } + function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) { + switch (workInProgress2.tag) { + case 3: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + resetHydrationState(); + break; + case 27: + case 5: + pushHostContext(workInProgress2); + break; + case 4: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + break; + case 10: + pushProvider( + workInProgress2, + workInProgress2.type, + workInProgress2.memoizedProps.value + ); + break; + case 12: + 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4); + workInProgress2.flags |= 2048; + var stateNode = workInProgress2.stateNode; + stateNode.effectDuration = -0; + stateNode.passiveEffectDuration = -0; + break; + case 13: + stateNode = workInProgress2.memoizedState; + if (null !== stateNode) { + if (null !== stateNode.dehydrated) + return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null; + if (0 !== (renderLanes2 & workInProgress2.child.childLanes)) + return updateSuspenseComponent( + current2, + workInProgress2, + renderLanes2 + ); + pushPrimaryTreeSuspenseHandler(workInProgress2); + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + return null !== current2 ? current2.sibling : null; + } + pushPrimaryTreeSuspenseHandler(workInProgress2); + break; + case 19: + var didSuspendBefore = 0 !== (current2.flags & 128); + stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes); + stateNode || (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes)); + if (didSuspendBefore) { + if (stateNode) + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + workInProgress2.flags |= 128; + } + didSuspendBefore = workInProgress2.memoizedState; + null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null); + push( + suspenseStackCursor, + suspenseStackCursor.current, + workInProgress2 + ); + if (stateNode) break; + else return null; + case 22: + case 23: + return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + } + return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + function beginWork(current2, workInProgress2, renderLanes2) { + if (workInProgress2._debugNeedsRemount && null !== current2) { + renderLanes2 = createFiberFromTypeAndProps( + workInProgress2.type, + workInProgress2.key, + workInProgress2.pendingProps, + workInProgress2._debugOwner || null, + workInProgress2.mode, + workInProgress2.lanes + ); + renderLanes2._debugStack = workInProgress2._debugStack; + renderLanes2._debugTask = workInProgress2._debugTask; + var returnFiber = workInProgress2.return; + if (null === returnFiber) throw Error("Cannot swap the root fiber."); + current2.alternate = null; + workInProgress2.alternate = null; + renderLanes2.index = workInProgress2.index; + renderLanes2.sibling = workInProgress2.sibling; + renderLanes2.return = workInProgress2.return; + renderLanes2.ref = workInProgress2.ref; + renderLanes2._debugInfo = workInProgress2._debugInfo; + if (workInProgress2 === returnFiber.child) + returnFiber.child = renderLanes2; + else { + var prevSibling = returnFiber.child; + if (null === prevSibling) + throw Error("Expected parent to have a child."); + for (; prevSibling.sibling !== workInProgress2; ) + if (prevSibling = prevSibling.sibling, null === prevSibling) + throw Error("Expected to find the previous sibling."); + prevSibling.sibling = renderLanes2; + } + workInProgress2 = returnFiber.deletions; + null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2); + renderLanes2.flags |= 2; + return renderLanes2; + } + if (null !== current2) + if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type) + didReceiveUpdate = true; + else { + if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128)) + return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate( + current2, + workInProgress2, + renderLanes2 + ); + didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false; + } + else { + didReceiveUpdate = false; + if (returnFiber = isHydrating) + warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576); + returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber)); + } + workInProgress2.lanes = 0; + switch (workInProgress2.tag) { + case 16: + a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2) + shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps( + current2, + returnFiber + ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )); + else { + if (void 0 !== current2 && null !== current2) { + if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) { + workInProgress2.tag = 11; + workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2); + workInProgress2 = updateForwardRef( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } else if (prevSibling === REACT_MEMO_TYPE) { + workInProgress2.tag = 14; + workInProgress2 = updateMemoComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } + } + workInProgress2 = ""; + null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?"); + current2 = getComponentNameFromType(current2) || current2; + throw Error( + "Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2 + ); + } + return workInProgress2; + case 0: + return updateFunctionComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 1: + return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps( + returnFiber, + workInProgress2.pendingProps + ), updateClassComponent( + current2, + workInProgress2, + returnFiber, + prevSibling, + renderLanes2 + ); + case 3: + a: { + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + if (null === current2) + throw Error( + "Should have a current fiber. This is a bug in React." + ); + returnFiber = workInProgress2.pendingProps; + var prevState = workInProgress2.memoizedState; + prevSibling = prevState.element; + cloneUpdateQueue(current2, workInProgress2); + processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2); + var nextState = workInProgress2.memoizedState; + returnFiber = nextState.cache; + pushProvider(workInProgress2, CacheContext, returnFiber); + returnFiber !== prevState.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ); + suspendIfUpdateReadFromEntangledAsyncAction(); + returnFiber = nextState.element; + if (prevState.isDehydrated) + if (prevState = { + element: returnFiber, + isDehydrated: false, + cache: nextState.cache + }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) { + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else if (returnFiber !== prevSibling) { + prevSibling = createCapturedValueAtFiber( + Error( + "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering." + ), + workInProgress2 + ); + queueHydrationError(prevSibling); + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else { + current2 = workInProgress2.stateNode.containerInfo; + switch (current2.nodeType) { + case 9: + current2 = current2.body; + break; + default: + current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2; + } + nextHydratableInstance = getNextHydratable(current2.firstChild); + hydrationParentFiber = workInProgress2; + isHydrating = true; + hydrationErrors = null; + didSuspendOrErrorDEV = false; + hydrationDiffRootDEV = null; + rootOrSingletonContext = true; + current2 = mountChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ); + for (workInProgress2.child = current2; current2; ) + current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling; + } + else { + resetHydrationState(); + if (returnFiber === prevSibling) { + workInProgress2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + break a; + } + reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + } + workInProgress2 = workInProgress2.child; + } + return workInProgress2; + case 26: + return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource( + workInProgress2.type, + null, + workInProgress2.pendingProps, + null + )) ? workInProgress2.memoizedState = current2 : isHydrating || (current2 = workInProgress2.type, renderLanes2 = workInProgress2.pendingProps, returnFiber = requiredContext( + rootInstanceStackCursor.current + ), returnFiber = getOwnerDocumentFromRootContainer( + returnFiber + ).createElement(current2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = renderLanes2, setInitialProperties(returnFiber, current2, renderLanes2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource( + workInProgress2.type, + current2.memoizedProps, + workInProgress2.pendingProps, + current2.memoizedState + ), null; + case 27: + return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance( + workInProgress2.type, + workInProgress2.pendingProps, + returnFiber, + prevSibling, + false + ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties( + returnFiber, + workInProgress2.type, + workInProgress2.pendingProps, + prevSibling + ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable( + returnFiber.firstChild + )) : nextHydratableInstance = prevSibling), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child; + case 5: + return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting( + workInProgress2.type, + prevState.ancestorInfo + ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance( + prevSibling, + workInProgress2.type, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties( + nextState, + workInProgress2.type, + workInProgress2.pendingProps, + prevState + ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable( + nextState.firstChild + ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks( + current2, + workInProgress2, + TransitionAwareHostComponent, + null, + null, + renderLanes2 + ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 6: + return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), returnFiber = renderLanes2.ancestorInfo.current, current2 = null != returnFiber ? validateTextNesting( + current2, + returnFiber.tag, + renderLanes2.ancestorInfo.implicitRootScope + ) : true, renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance( + renderLanes2, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null; + case 13: + return updateSuspenseComponent(current2, workInProgress2, renderLanes2); + case 4: + return pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ) : reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 11: + return updateForwardRef( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 7: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps, + renderLanes2 + ), workInProgress2.child; + case 8: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 12: + return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 10: + return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error( + "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?" + )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren( + current2, + workInProgress2, + prevSibling.children, + renderLanes2 + ), workInProgress2.child; + case 9: + return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error( + "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it." + ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV( + returnFiber, + prevSibling, + void 0 + ), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 14: + return updateMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 15: + return updateSimpleMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 19: + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + case 31: + return returnFiber = workInProgress2.pendingProps, renderLanes2 = workInProgress2.mode, returnFiber = { + mode: returnFiber.mode, + children: returnFiber.children + }, null === current2 ? (current2 = mountWorkInProgressOffscreenFiber( + returnFiber, + renderLanes2 + ), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2) : (current2 = createWorkInProgress(current2.child, returnFiber), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2), workInProgress2; + case 22: + return updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = { + parent: returnFiber, + cache: prevSibling + }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = { + parent: returnFiber, + cache: returnFiber + }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ))), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 29: + throw workInProgress2.pendingProps; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function markUpdate(workInProgress2) { + workInProgress2.flags |= 4; + } + function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) { + if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded) + workInProgress2.flags &= -16777217; + else if (workInProgress2.flags |= 16777216, !preloadResource(resource)) { + resource = suspenseHandlerStackCursor.current; + if (null !== resource && ((workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null !== shellBoundary : (workInProgressRootRenderLanes & 62914560) !== workInProgressRootRenderLanes && 0 === (workInProgressRootRenderLanes & 536870912) || resource !== shellBoundary)) + throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException; + workInProgress2.flags |= 8192; + } + } + function scheduleRetryEffect(workInProgress2, retryQueue) { + null !== retryQueue && (workInProgress2.flags |= 4); + workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue); + } + function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { + if (!isHydrating) + switch (renderState.tailMode) { + case "hidden": + hasRenderedATailFallback = renderState.tail; + for (var lastTailNode = null; null !== hasRenderedATailFallback; ) + null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling; + null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null; + break; + case "collapsed": + lastTailNode = renderState.tail; + for (var _lastTailNode = null; null !== lastTailNode; ) + null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling; + null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null; + } + } + function bubbleProperties(completedWork) { + var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0; + if (didBailout) + if ((completedWork.mode & ProfileMode) !== NoMode) { + for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; ) + newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling; + completedWork.treeBaseDuration = _treeBaseDuration; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + else if ((completedWork.mode & ProfileMode) !== NoMode) { + _treeBaseDuration = completedWork.actualDuration; + _child2 = completedWork.selfBaseDuration; + for (var child = completedWork.child; null !== child; ) + newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling; + completedWork.actualDuration = _treeBaseDuration; + completedWork.treeBaseDuration = _child2; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + completedWork.subtreeFlags |= subtreeFlags; + completedWork.childLanes = newChildLanes; + return didBailout; + } + function completeWork(current2, workInProgress2, renderLanes2) { + var newProps = workInProgress2.pendingProps; + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 31: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return bubbleProperties(workInProgress2), null; + case 1: + return bubbleProperties(workInProgress2), null; + case 3: + renderLanes2 = workInProgress2.stateNode; + newProps = null; + null !== current2 && (newProps = current2.memoizedState.cache); + workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048); + popProvider(CacheContext, workInProgress2); + popHostContainer(workInProgress2); + renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null); + if (null === current2 || null === current2.child) + popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable()); + bubbleProperties(workInProgress2); + return null; + case 26: + return renderLanes2 = workInProgress2.memoizedState, null === current2 ? (markUpdate(workInProgress2), null !== renderLanes2 ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217)) : renderLanes2 ? renderLanes2 !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2.memoizedProps !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217), null; + case 27: + popHostContext(workInProgress2); + renderLanes2 = requiredContext(rootInstanceStackCursor.current); + var _type = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + current2 = getHostContext(); + popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance( + _type, + newProps, + renderLanes2, + current2, + true + ), workInProgress2.stateNode = current2, markUpdate(workInProgress2)); + } + bubbleProperties(workInProgress2); + return null; + case 5: + popHostContext(workInProgress2); + renderLanes2 = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + _type = getHostContext(); + if (popHydrationState(workInProgress2)) + prepareToHydrateHostInstance(workInProgress2, _type); + else { + current2 = requiredContext(rootInstanceStackCursor.current); + validateDOMNesting(renderLanes2, _type.ancestorInfo); + _type = _type.context; + current2 = getOwnerDocumentFromRootContainer(current2); + switch (_type) { + case HostContextNamespaceSvg: + current2 = current2.createElementNS(SVG_NAMESPACE, renderLanes2); + break; + case HostContextNamespaceMath: + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + default: + switch (renderLanes2) { + case "svg": + current2 = current2.createElementNS( + SVG_NAMESPACE, + renderLanes2 + ); + break; + case "math": + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + case "script": + current2 = current2.createElement("div"); + current2.innerHTML = "<script><\/script>"; + current2 = current2.removeChild(current2.firstChild); + break; + case "select": + current2 = "string" === typeof newProps.is ? current2.createElement("select", { is: newProps.is }) : current2.createElement("select"); + newProps.multiple ? current2.multiple = true : newProps.size && (current2.size = newProps.size); + break; + default: + current2 = "string" === typeof newProps.is ? current2.createElement(renderLanes2, { + is: newProps.is + }) : current2.createElement(renderLanes2), -1 === renderLanes2.indexOf("-") && (renderLanes2 !== renderLanes2.toLowerCase() && console.error( + "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", + renderLanes2 + ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(current2) || hasOwnProperty.call( + warnedUnknownTags, + renderLanes2 + ) || (warnedUnknownTags[renderLanes2] = true, console.error( + "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.", + renderLanes2 + ))); + } + } + current2[internalInstanceKey] = workInProgress2; + current2[internalPropsKey] = newProps; + a: for (_type = workInProgress2.child; null !== _type; ) { + if (5 === _type.tag || 6 === _type.tag) + current2.appendChild(_type.stateNode); + else if (4 !== _type.tag && 27 !== _type.tag && null !== _type.child) { + _type.child.return = _type; + _type = _type.child; + continue; + } + if (_type === workInProgress2) break a; + for (; null === _type.sibling; ) { + if (null === _type.return || _type.return === workInProgress2) + break a; + _type = _type.return; + } + _type.sibling.return = _type.return; + _type = _type.sibling; + } + workInProgress2.stateNode = current2; + a: switch (setInitialProperties(current2, renderLanes2, newProps), renderLanes2) { + case "button": + case "input": + case "select": + case "textarea": + current2 = !!newProps.autoFocus; + break a; + case "img": + current2 = true; + break a; + default: + current2 = false; + } + current2 && markUpdate(workInProgress2); + } + } + bubbleProperties(workInProgress2); + workInProgress2.flags &= -16777217; + return null; + case 6: + if (current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if ("string" !== typeof newProps && null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + current2 = requiredContext(rootInstanceStackCursor.current); + renderLanes2 = getHostContext(); + if (popHydrationState(workInProgress2)) { + current2 = workInProgress2.stateNode; + renderLanes2 = workInProgress2.memoizedProps; + _type = !didSuspendOrErrorDEV; + newProps = null; + var returnFiber = hydrationParentFiber; + if (null !== returnFiber) + switch (returnFiber.tag) { + case 3: + _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = _type)); + break; + case 27: + case 5: + newProps = returnFiber.memoizedProps, _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode( + workInProgress2, + 0 + ).serverProps = _type)); + } + current2[internalInstanceKey] = workInProgress2; + current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false; + current2 || throwOnHydrationMismatch(workInProgress2); + } else + _type = renderLanes2.ancestorInfo.current, null != _type && validateTextNesting( + newProps, + _type.tag, + renderLanes2.ancestorInfo.implicitRootScope + ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode( + newProps + ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2; + } + bubbleProperties(workInProgress2); + return null; + case 13: + newProps = workInProgress2.memoizedState; + if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) { + _type = popHydrationState(workInProgress2); + if (null !== newProps && null !== newProps.dehydrated) { + if (null === current2) { + if (!_type) + throw Error( + "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React." + ); + _type = workInProgress2.memoizedState; + _type = null !== _type ? _type.dehydrated : null; + if (!_type) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + _type[internalInstanceKey] = workInProgress2; + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + } else + emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + _type = false; + } else + _type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = _type), _type = true; + if (!_type) { + if (workInProgress2.flags & 256) + return popSuspenseHandler(workInProgress2), workInProgress2; + popSuspenseHandler(workInProgress2); + return null; + } + } + popSuspenseHandler(workInProgress2); + if (0 !== (workInProgress2.flags & 128)) + return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2; + renderLanes2 = null !== newProps; + current2 = null !== current2 && null !== current2.memoizedState; + renderLanes2 && (newProps = workInProgress2.child, _type = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (_type = newProps.alternate.memoizedState.cachePool.pool), returnFiber = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (returnFiber = newProps.memoizedState.cachePool.pool), returnFiber !== _type && (newProps.flags |= 2048)); + renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192); + scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue); + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration)); + return null; + case 4: + return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents( + workInProgress2.stateNode.containerInfo + ), bubbleProperties(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null; + case 19: + pop(suspenseStackCursor, workInProgress2); + _type = workInProgress2.memoizedState; + if (null === _type) return bubbleProperties(workInProgress2), null; + newProps = 0 !== (workInProgress2.flags & 128); + returnFiber = _type.rendering; + if (null === returnFiber) + if (newProps) cutOffTailIfNeeded(_type, false); + else { + if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128)) + for (current2 = workInProgress2.child; null !== current2; ) { + returnFiber = findFirstSuspended(current2); + if (null !== returnFiber) { + workInProgress2.flags |= 128; + cutOffTailIfNeeded(_type, false); + current2 = returnFiber.updateQueue; + workInProgress2.updateQueue = current2; + scheduleRetryEffect(workInProgress2, current2); + workInProgress2.subtreeFlags = 0; + current2 = renderLanes2; + for (renderLanes2 = workInProgress2.child; null !== renderLanes2; ) + resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback, + workInProgress2 + ); + return workInProgress2.child; + } + current2 = current2.sibling; + } + null !== _type.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + } + else { + if (!newProps) + if (current2 = findFirstSuspended(returnFiber), null !== current2) { + if (workInProgress2.flags |= 128, newProps = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(_type, true), null === _type.tail && "hidden" === _type.tailMode && !returnFiber.alternate && !isHydrating) + return bubbleProperties(workInProgress2), null; + } else + 2 * now$1() - _type.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + _type.isBackwards ? (returnFiber.sibling = workInProgress2.child, workInProgress2.child = returnFiber) : (current2 = _type.last, null !== current2 ? current2.sibling = returnFiber : workInProgress2.child = returnFiber, _type.last = returnFiber); + } + if (null !== _type.tail) + return current2 = _type.tail, _type.rendering = current2, _type.tail = current2.sibling, _type.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = newProps ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), current2; + bubbleProperties(workInProgress2); + return null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null; + case 24: + return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null; + case 25: + return null; + case 30: + return null; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function unwindWork(current2, workInProgress2) { + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 1: + return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 3: + return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null; + case 26: + case 27: + case 5: + return popHostContext(workInProgress2), null; + case 13: + popSuspenseHandler(workInProgress2); + current2 = workInProgress2.memoizedState; + if (null !== current2 && null !== current2.dehydrated) { + if (null === workInProgress2.alternate) + throw Error( + "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue." + ); + resetHydrationState(); + } + current2 = workInProgress2.flags; + return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 19: + return pop(suspenseStackCursor, workInProgress2), null; + case 4: + return popHostContainer(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 24: + return popProvider(CacheContext, workInProgress2), null; + case 25: + return null; + default: + return null; + } + } + function unwindInterruptedWork(current2, interruptedWork) { + popTreeContext(interruptedWork); + switch (interruptedWork.tag) { + case 3: + popProvider(CacheContext, interruptedWork); + popHostContainer(interruptedWork); + break; + case 26: + case 27: + case 5: + popHostContext(interruptedWork); + break; + case 4: + popHostContainer(interruptedWork); + break; + case 13: + popSuspenseHandler(interruptedWork); + break; + case 19: + pop(suspenseStackCursor, interruptedWork); + break; + case 10: + popProvider(interruptedWork.type, interruptedWork); + break; + case 22: + case 23: + popSuspenseHandler(interruptedWork); + popHiddenContext(interruptedWork); + null !== current2 && pop(resumedCache, interruptedWork); + break; + case 24: + popProvider(CacheContext, interruptedWork); + } + } + function shouldProfile(current2) { + return (current2.mode & ProfileMode) !== NoMode; + } + function commitHookLayoutEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitHookEffectListMount(flags, finishedWork) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted( + finishedWork + ), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV( + finishedWork, + callCreateInDEV, + updateQueue + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) { + var hookName = void 0; + hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect"; + var addendum = void 0; + addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect; + runWithFiberInDEV( + finishedWork, + function(n, a) { + console.error( + "%s must not return anything besides a function, which is used for clean-up.%s", + n, + a + ); + }, + hookName, + addendum + ); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags) { + var inst = updateQueue.inst, destroy = inst.destroy; + void 0 !== destroy && (inst.destroy = void 0, (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted && injectedProfilingHooks.markComponentPassiveEffectUnmountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted && injectedProfilingHooks.markComponentLayoutEffectUnmountStarted( + finishedWork + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV( + lastEffect, + callDestroyInDEV, + lastEffect, + nearestMountedAncestor, + destroy + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped && injectedProfilingHooks.markComponentPassiveEffectUnmountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped && injectedProfilingHooks.markComponentLayoutEffectUnmountStopped()); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookPassiveMountEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitClassCallbacks(finishedWork) { + var updateQueue = finishedWork.updateQueue; + if (null !== updateQueue) { + var instance = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), instance.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + updateQueue, + instance + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + } + function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) { + return instance.getSnapshotBeforeUpdate(prevProps, prevState); + } + function commitClassSnapshot(finishedWork, current2) { + var prevProps = current2.memoizedProps, prevState = current2.memoizedState; + current2 = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), current2.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + var resolvedPrevProps = resolveClassComponentProps( + finishedWork.type, + prevProps, + finishedWork.elementType === finishedWork.type + ); + var snapshot = runWithFiberInDEV( + finishedWork, + callGetSnapshotBeforeUpdates, + current2, + resolvedPrevProps, + prevState + ); + prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate; + void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() { + console.error( + "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", + getComponentNameFromFiber(finishedWork) + ); + })); + current2.__reactInternalSnapshotBeforeUpdate = snapshot; + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) { + instance.props = resolveClassComponentProps( + current2.type, + current2.memoizedProps + ); + instance.state = current2.memoizedState; + shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ), recordEffectDuration()) : runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ); + } + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + if (null !== ref) { + switch (finishedWork.tag) { + case 26: + case 27: + case 5: + var instanceToUse = finishedWork.stateNode; + break; + case 30: + instanceToUse = finishedWork.stateNode; + break; + default: + instanceToUse = finishedWork.stateNode; + } + if ("function" === typeof ref) + if (shouldProfile(finishedWork)) + try { + startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse); + } finally { + recordEffectDuration(); + } + else finishedWork.refCleanup = ref(instanceToUse); + else + "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error( + "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", + getComponentNameFromFiber(finishedWork) + ), ref.current = instanceToUse; + } + } + function safelyAttachRef(current2, nearestMountedAncestor) { + try { + runWithFiberInDEV(current2, commitAttachRef, current2); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + function safelyDetachRef(current2, nearestMountedAncestor) { + var ref = current2.ref, refCleanup = current2.refCleanup; + if (null !== ref) + if ("function" === typeof refCleanup) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, refCleanup); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, refCleanup); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } finally { + current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null); + } + else if ("function" === typeof ref) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, ref, null); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, ref, null); + } catch (error$7) { + captureCommitPhaseError(current2, nearestMountedAncestor, error$7); + } + else ref.current = null; + } + function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) { + var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit; + _finishedWork$memoize = _finishedWork$memoize.onRender; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize && _finishedWork$memoize( + id, + current2, + finishedWork.actualDuration, + finishedWork.treeBaseDuration, + finishedWork.actualStartTime, + commitStartTime2 + ); + "function" === typeof onCommit && onCommit( + finishedWork.memoizedProps.id, + current2, + effectDuration, + commitStartTime2 + ); + } + function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) { + var _finishedWork$memoize2 = finishedWork.memoizedProps; + finishedWork = _finishedWork$memoize2.id; + _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2( + finishedWork, + current2, + passiveEffectDuration, + commitStartTime2 + ); + } + function commitHostMount(finishedWork) { + var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitMount, + instance, + type, + props, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHostUpdate(finishedWork, newProps, oldProps) { + try { + runWithFiberInDEV( + finishedWork, + commitUpdate, + finishedWork.stateNode, + finishedWork.type, + oldProps, + newProps, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function isHostParent(fiber) { + return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag; + } + function getHostSibling(fiber) { + a: for (; ; ) { + for (; null === fiber.sibling; ) { + if (null === fiber.return || isHostParent(fiber.return)) return null; + fiber = fiber.return; + } + fiber.sibling.return = fiber.return; + for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) { + if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a; + if (fiber.flags & 2) continue a; + if (null === fiber.child || 4 === fiber.tag) continue a; + else fiber.child.return = fiber, fiber = fiber.child; + } + if (!(fiber.flags & 2)) return fiber.stateNode; + } + } + function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1)); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node)) + for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; + } + function insertOrAppendPlacementNode(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node)) + for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNode(node, before, parent), node = node.sibling; + } + function commitPlacement(finishedWork) { + for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) { + if (isHostParent(parentFiber)) { + hostParentFiber = parentFiber; + break; + } + parentFiber = parentFiber.return; + } + if (null == hostParentFiber) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + switch (hostParentFiber.tag) { + case 27: + hostParentFiber = hostParentFiber.stateNode; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + case 5: + parentFiber = hostParentFiber.stateNode; + hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33); + hostParentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + hostParentFiber, + parentFiber + ); + break; + case 3: + case 4: + hostParentFiber = hostParentFiber.stateNode.containerInfo; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNodeIntoContainer( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + default: + throw Error( + "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." + ); + } + } + function commitHostSingletonAcquisition(finishedWork) { + var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps; + try { + runWithFiberInDEV( + finishedWork, + acquireSingletonInstance, + finishedWork.type, + props, + singleton, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitBeforeMutationEffects(root2, firstChild) { + root2 = root2.containerInfo; + eventsEnabled = _enabled; + root2 = getActiveElementDeep(root2); + if (hasSelectionCapabilities(root2)) { + if ("selectionStart" in root2) + var JSCompiler_temp = { + start: root2.selectionStart, + end: root2.selectionEnd + }; + else + a: { + JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window; + var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection(); + if (selection && 0 !== selection.rangeCount) { + JSCompiler_temp = selection.anchorNode; + var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode; + selection = selection.focusOffset; + try { + JSCompiler_temp.nodeType, focusNode.nodeType; + } catch (e$2) { + JSCompiler_temp = null; + break a; + } + var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null; + b: for (; ; ) { + for (var next; ; ) { + node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset); + node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection); + 3 === node.nodeType && (length += node.nodeValue.length); + if (null === (next = node.firstChild)) break; + parentNode = node; + node = next; + } + for (; ; ) { + if (node === root2) break b; + parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length); + parentNode === focusNode && ++indexWithinFocus === selection && (end = length); + if (null !== (next = node.nextSibling)) break; + node = parentNode; + parentNode = node.parentNode; + } + node = next; + } + JSCompiler_temp = -1 === start || -1 === end ? null : { start, end }; + } else JSCompiler_temp = null; + } + JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 }; + } else JSCompiler_temp = null; + selectionInformation = { + focusedElem: root2, + selectionRange: JSCompiler_temp + }; + _enabled = false; + for (nextEffect = firstChild; null !== nextEffect; ) + if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1024) && null !== root2) + root2.return = firstChild, nextEffect = root2; + else + for (; null !== nextEffect; ) { + root2 = firstChild = nextEffect; + JSCompiler_temp = root2.alternate; + anchorOffset = root2.flags; + switch (root2.tag) { + case 0: + break; + case 11: + case 15: + break; + case 1: + 0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root2, JSCompiler_temp); + break; + case 3: + if (0 !== (anchorOffset & 1024)) { + if (root2 = root2.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp) + clearContainerSparingly(root2); + else if (1 === JSCompiler_temp) + switch (root2.nodeName) { + case "HEAD": + case "HTML": + case "BODY": + clearContainerSparingly(root2); + break; + default: + root2.textContent = ""; + } + } + break; + case 5: + case 26: + case 27: + case 6: + case 4: + case 17: + break; + default: + if (0 !== (anchorOffset & 1024)) + throw Error( + "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." + ); + } + root2 = firstChild.sibling; + if (null !== root2) { + root2.return = firstChild.return; + nextEffect = root2; + break; + } + nextEffect = firstChild.return; + } + } + function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect); + break; + case 1: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 4) + if (finishedRoot = finishedWork.stateNode, null === current2) + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ); + else { + var prevProps = resolveClassComponentProps( + finishedWork.type, + current2.memoizedProps + ); + current2 = current2.memoizedState; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ); + } + flags & 64 && commitClassCallbacks(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 3: + current2 = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) { + prevProps = null; + if (null !== finishedWork.child) + switch (finishedWork.child.tag) { + case 27: + case 5: + prevProps = finishedWork.child.stateNode; + break; + case 1: + prevProps = finishedWork.child.stateNode; + } + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + flags, + prevProps + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + finishedRoot.effectDuration += popNestedEffectDurations(current2); + break; + case 27: + null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + null === current2 && flags & 4 && commitHostMount(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + finishedRoot = finishedWork.stateNode; + finishedRoot.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + finishedRoot.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + break; + case 13: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (finishedWork = retryDehydratedSuspenseBoundary.bind( + null, + finishedWork + ), registerSuspenseInstanceRetry(finishedRoot, finishedWork)))); + break; + case 22: + flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden; + if (!flags) { + current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden; + prevProps = offscreenSubtreeIsHidden; + var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = flags; + (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + 0 !== (finishedWork.subtreeFlags & 8772) + ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + offscreenSubtreeIsHidden = prevProps; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + } + break; + case 30: + break; + default: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + } + } + function detachFiberAfterEffects(fiber) { + var alternate = fiber.alternate; + null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate)); + fiber.child = null; + fiber.deletions = null; + fiber.sibling = null; + 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate)); + fiber.stateNode = null; + fiber._debugOwner = null; + fiber.return = null; + fiber.dependencies = null; + fiber.memoizedProps = null; + fiber.memoizedState = null; + fiber.pendingProps = null; + fiber.stateNode = null; + fiber.updateQueue = null; + } + function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) { + for (parent = parent.child; null !== parent; ) + commitDeletionEffectsOnFiber( + finishedRoot, + nearestMountedAncestor, + parent + ), parent = parent.sibling; + } + function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) { + if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) + try { + injectedHook.onCommitFiberUnmount(rendererID, deletedFiber); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + switch (deletedFiber.tag) { + case 26: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber)); + break; + case 27: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer; + isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + runWithFiberInDEV( + deletedFiber, + releaseSingletonInstance, + deletedFiber.stateNode + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 5: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + case 6: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = null; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + if (null !== hostParent) + if (hostParentIsContainer) + try { + runWithFiberInDEV( + deletedFiber, + removeChildFromContainer, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + else + try { + runWithFiberInDEV( + deletedFiber, + removeChild, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + break; + case 18: + null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearSuspenseBoundary( + 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot, + deletedFiber.stateNode + ), retryIfBlockedOn(finishedRoot)) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode)); + break; + case 4: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = deletedFiber.stateNode.containerInfo; + hostParentIsContainer = true; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 0: + case 11: + case 14: + case 15: + offscreenSubtreeWasHidden || commitHookEffectListUnmount( + Insertion, + deletedFiber, + nearestMountedAncestor + ); + offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects( + deletedFiber, + nearestMountedAncestor, + Layout + ); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 1: + offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount( + deletedFiber, + nearestMountedAncestor, + prevHostParent + )); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 21: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 22: + offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + offscreenSubtreeWasHidden = prevHostParent; + break; + default: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + } + } + function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { + if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot)))) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedSuspenseInstance, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function getRetryCache(finishedWork) { + switch (finishedWork.tag) { + case 13: + case 19: + var retryCache = finishedWork.stateNode; + null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet()); + return retryCache; + case 22: + return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache; + default: + throw Error( + "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React." + ); + } + } + function attachSuspenseRetryListeners(finishedWork, wakeables) { + var retryCache = getRetryCache(finishedWork); + wakeables.forEach(function(wakeable) { + var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable); + if (!retryCache.has(wakeable)) { + retryCache.add(wakeable); + if (isDevToolsPresent) + if (null !== inProgressLanes && null !== inProgressRoot) + restorePendingUpdaters(inProgressRoot, inProgressLanes); + else + throw Error( + "Expected finished root and lanes to be set. This is a bug in React." + ); + wakeable.then(retry, retry); + } + }); + } + function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) { + var deletions = parentFiber.deletions; + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], parent = returnFiber; + a: for (; null !== parent; ) { + switch (parent.tag) { + case 27: + if (isSingletonScope(parent.type)) { + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + } + break; + case 5: + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + case 3: + case 4: + hostParent = parent.stateNode.containerInfo; + hostParentIsContainer = true; + break a; + } + parent = parent.return; + } + if (null === hostParent) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber); + hostParent = null; + hostParentIsContainer = false; + root2 = deletedFiber; + returnFiber = root2.alternate; + null !== returnFiber && (returnFiber.return = null); + root2.return = null; + } + if (parentFiber.subtreeFlags & 13878) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling; + } + function commitMutationEffectsOnFiber(finishedWork, root2) { + var current2 = finishedWork.alternate, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (commitHookEffectListUnmount( + Insertion | HasEffect, + finishedWork, + finishedWork.return + ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout | HasEffect + )); + break; + case 1: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current2 = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current2 ? flags : current2.concat(flags)))); + break; + case 26: + var hoistableRoot = currentHoistableRoot; + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (flags & 4) + if (root2 = null !== current2 ? current2.memoizedState : null, flags = finishedWork.memoizedState, null === current2) + if (null === flags) + if (null === finishedWork.stateNode) { + a: { + flags = finishedWork.type; + current2 = finishedWork.memoizedProps; + root2 = hoistableRoot.ownerDocument || hoistableRoot; + b: switch (flags) { + case "title": + hoistableRoot = root2.getElementsByTagName("title")[0]; + if (!hoistableRoot || hoistableRoot[internalHoistableMarker] || hoistableRoot[internalInstanceKey] || hoistableRoot.namespaceURI === SVG_NAMESPACE || hoistableRoot.hasAttribute("itemprop")) + hoistableRoot = root2.createElement(flags), root2.head.insertBefore( + hoistableRoot, + root2.querySelector("head > title") + ); + setInitialProperties(hoistableRoot, flags, current2); + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + break a; + case "link": + var maybeNodes = getHydratableHoistableCache( + "link", + "href", + root2 + ).get(flags + (current2.href || "")); + if (maybeNodes) { + for (var i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], hoistableRoot.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && hoistableRoot.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && hoistableRoot.getAttribute("title") === (null == current2.title ? null : current2.title) && hoistableRoot.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + case "meta": + if (maybeNodes = getHydratableHoistableCache( + "meta", + "content", + root2 + ).get(flags + (current2.content || ""))) { + for (i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], checkAttributeStringCoercion( + current2.content, + "content" + ), hoistableRoot.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && hoistableRoot.getAttribute("name") === (null == current2.name ? null : current2.name) && hoistableRoot.getAttribute("property") === (null == current2.property ? null : current2.property) && hoistableRoot.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && hoistableRoot.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + default: + throw Error( + 'getNodesForType encountered a type it did not expect: "' + flags + '". This is a bug in React.' + ); + } + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + } + finishedWork.stateNode = flags; + } else + mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ); + else + finishedWork.stateNode = acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + ); + else + root2 !== flags ? (null === root2 ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : root2.count--, null === flags ? mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ) : acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 27: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + null !== current2 && flags & 4 && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 5: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (finishedWork.flags & 32) { + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV(finishedWork, resetTextContent, root2); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate( + finishedWork, + root2, + null !== current2 ? current2.memoizedProps : root2 + )); + flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error( + "Unexpected host component type. Expected a form. This is a bug in React." + )); + break; + case 6: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + if (flags & 4) { + if (null === finishedWork.stateNode) + throw Error( + "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." + ); + flags = finishedWork.memoizedProps; + current2 = null !== current2 ? current2.memoizedProps : flags; + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitTextUpdate, + root2, + current2, + flags + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + break; + case 3: + hoistableRoot = pushNestedEffectDurations(); + tagCaches = null; + maybeNodes = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot(root2.containerInfo); + recursivelyTraverseMutationEffects(root2, finishedWork); + currentHoistableRoot = maybeNodes; + commitReconciliationEffects(finishedWork); + if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedContainer, + root2.containerInfo + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork)); + root2.effectDuration += popNestedEffectDurations(hoistableRoot); + break; + case 4: + flags = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + finishedWork.stateNode.containerInfo + ); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + currentHoistableRoot = flags; + break; + case 12: + flags = pushNestedEffectDurations(); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags); + break; + case 13: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1()); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 22: + hoistableRoot = null !== finishedWork.memoizedState; + var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden; + recursivelyTraverseMutationEffects(root2, finishedWork); + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; + commitReconciliationEffects(finishedWork); + if (flags & 8192) + a: for (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, hoistableRoot && (null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || recursivelyTraverseDisappearLayoutEffects(finishedWork)), current2 = null, root2 = finishedWork; ; ) { + if (5 === root2.tag || 26 === root2.tag) { + if (null === current2) { + wasHidden = current2 = root2; + try { + maybeNodes = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, maybeNodes) : runWithFiberInDEV( + wasHidden, + unhideInstance, + wasHidden.stateNode, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if (6 === root2.tag) { + if (null === current2) { + wasHidden = root2; + try { + i = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideTextInstance, i) : runWithFiberInDEV( + wasHidden, + unhideTextInstance, + i, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) { + root2.child.return = root2; + root2 = root2.child; + continue; + } + if (root2 === finishedWork) break a; + for (; null === root2.sibling; ) { + if (null === root2.return || root2.return === finishedWork) + break a; + current2 === root2 && (current2 = null); + root2 = root2.return; + } + current2 === root2 && (current2 = null); + root2.sibling.return = root2.return; + root2 = root2.sibling; + } + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2)))); + break; + case 19: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 30: + break; + case 21: + break; + default: + recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork); + } + } + function commitReconciliationEffects(finishedWork) { + var flags = finishedWork.flags; + if (flags & 2) { + try { + runWithFiberInDEV(finishedWork, commitPlacement, finishedWork); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + finishedWork.flags &= -3; + } + flags & 4096 && (finishedWork.flags &= -4097); + } + function recursivelyResetForms(parentFiber) { + if (parentFiber.subtreeFlags & 1024) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var fiber = parentFiber; + recursivelyResetForms(fiber); + 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset(); + parentFiber = parentFiber.sibling; + } + } + function recursivelyTraverseLayoutEffects(root2, parentFiber) { + if (parentFiber.subtreeFlags & 8772) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling; + } + function disappearLayoutEffects(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 1: + safelyDetachRef(finishedWork, finishedWork.return); + var instance = finishedWork.stateNode; + "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount( + finishedWork, + finishedWork.return, + instance + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 27: + runWithFiberInDEV( + finishedWork, + releaseSingletonInstance, + finishedWork.stateNode + ); + case 26: + case 5: + safelyDetachRef(finishedWork, finishedWork.return); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 30: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + default: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + } + } + function recursivelyTraverseDisappearLayoutEffects(parentFiber) { + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling; + } + function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + commitHookLayoutEffects(finishedWork, Layout); + break; + case 1: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + current2 = finishedWork.stateNode; + "function" === typeof current2.componentDidMount && runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + current2 + ); + current2 = finishedWork.updateQueue; + if (null !== current2) { + finishedRoot = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitHiddenCallbacks, + current2, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 27: + commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (includeWorkInProgressEffects && flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects = finishedWork.stateNode; + includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + includeWorkInProgressEffects.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + break; + case 13: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 30: + break; + default: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reappearLayoutEffects( + finishedRoot, + parentFiber.alternate, + parentFiber, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function commitOffscreenPassiveMountEffects(current2, finishedWork) { + var previousCache = null; + null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool); + current2 = null; + null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool); + current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache)); + } + function commitCachePassiveMountEffect(current2, finishedWork) { + current2 = null; + null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache); + finishedWork = finishedWork.memoizedState.cache; + finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2)); + } + function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveMountOnFiber( + root2, + parentFiber, + committedLanes, + committedTransitions + ), parentFiber = parentFiber.sibling; + } + function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect); + break; + case 1: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== committedLanes && (retainCache(finishedWork), null != committedLanes && releaseCache(committedLanes))); + finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + if (flags & 2048) { + flags = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + finishedRoot = finishedWork.stateNode; + finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfilerPostCommitImpl, + finishedWork, + finishedWork.alternate, + commitStartTime, + finishedRoot.passiveEffectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 13: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 23: + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + var _current = finishedWork.alternate; + null !== finishedWork.memoizedState ? prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : (prevEffectDuration._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + 0 !== (finishedWork.subtreeFlags & 10256) + )); + flags & 2048 && commitOffscreenPassiveMountEffects(_current, finishedWork); + break; + case 24: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + } + } + function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reconnectPassiveEffects( + finishedRoot, + parentFiber, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + commitHookPassiveMountEffects(finishedWork, Passive); + break; + case 23: + break; + case 22: + var _instance2 = finishedWork.stateNode; + null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + )); + includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 22: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitCachePassiveMountEffect( + finishedWork.alternate, + finishedWork + ); + break; + default: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + } + parentFiber = parentFiber.sibling; + } + } + function recursivelyAccumulateSuspenseyCommit(parentFiber) { + if (parentFiber.subtreeFlags & suspenseyCommitFlag) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + accumulateSuspenseyCommitOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function accumulateSuspenseyCommitOnFiber(fiber) { + switch (fiber.tag) { + case 26: + recursivelyAccumulateSuspenseyCommit(fiber); + fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource( + currentHoistableRoot, + fiber.memoizedState, + fiber.memoizedProps + ); + break; + case 5: + recursivelyAccumulateSuspenseyCommit(fiber); + break; + case 3: + case 4: + var previousHoistableRoot = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + fiber.stateNode.containerInfo + ); + recursivelyAccumulateSuspenseyCommit(fiber); + currentHoistableRoot = previousHoistableRoot; + break; + case 22: + null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(fiber)); + break; + default: + recursivelyAccumulateSuspenseyCommit(fiber); + } + } + function detachAlternateSiblings(parentFiber) { + var previousFiber = parentFiber.alternate; + if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) { + previousFiber.child = null; + do + previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber; + while (null !== parentFiber); + } + } + function recursivelyTraversePassiveUnmountEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function commitPassiveUnmountOnFiber(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.flags & 2048 && commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive | HasEffect + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration); + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + null !== finishedWork.memoizedState && prevEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)) : recursivelyTraversePassiveUnmountEffects(finishedWork); + break; + default: + recursivelyTraversePassiveUnmountEffects(finishedWork); + } + } + function recursivelyTraverseDisconnectPassiveEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling; + } + function disconnectPassiveEffect(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive + ); + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + break; + case 22: + var instance = finishedWork.stateNode; + instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)); + break; + default: + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + } + } + function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) { + for (; null !== nextEffect; ) { + var fiber = nextEffect, current2 = fiber; + switch (current2.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + current2, + nearestMountedAncestor, + Passive + ); + break; + case 23: + case 22: + null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (current2 = current2.memoizedState.cachePool.pool, null != current2 && retainCache(current2)); + break; + case 24: + releaseCache(current2.memoizedState.cache); + } + current2 = fiber.child; + if (null !== current2) current2.return = fiber, nextEffect = current2; + else + a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) { + current2 = nextEffect; + var sibling = current2.sibling, returnFiber = current2.return; + detachFiberAfterEffects(current2); + if (current2 === fiber) { + nextEffect = null; + break a; + } + if (null !== sibling) { + sibling.return = returnFiber; + nextEffect = sibling; + break a; + } + nextEffect = returnFiber; + } + } + } + function onCommitRoot() { + commitHooks.forEach(function(commitHook) { + return commitHook(); + }); + } + function isConcurrentActEnvironment() { + var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0; + isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error( + "The current testing environment is not configured to support act(...)" + ); + return isReactActEnvironmentGlobal; + } + function requestUpdateLane(fiber) { + if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes) + return workInProgressRootRenderLanes & -workInProgressRootRenderLanes; + var transition = ReactSharedInternals.T; + return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), fiber = currentEntangledLane, 0 !== fiber ? fiber : requestTransitionLane()) : resolveUpdatePriority(); + } + function requestDeferredLane() { + 0 === workInProgressDeferredLane && (workInProgressDeferredLane = 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating ? claimNextTransitionLane() : 536870912); + var suspenseHandler = suspenseHandlerStackCursor.current; + null !== suspenseHandler && (suspenseHandler.flags |= 32); + return workInProgressDeferredLane; + } + function scheduleUpdateOnFiber(root2, fiber, lane) { + isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates."); + isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true); + if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + prepareFreshStack(root2, 0), markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + markRootUpdated$1(root2, lane); + if (0 !== (executionContext & RenderContext) && root2 === workInProgressRoot) { + if (isRendering) + switch (fiber.tag) { + case 0: + case 11: + case 15: + root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown"; + didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error( + "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render", + fiber, + root2, + root2 + )); + break; + case 1: + didWarnAboutUpdateInRender || (console.error( + "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state." + ), didWarnAboutUpdateInRender = true); + } + } else + isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + )), ensureRootIsScheduled(root2); + } + function performWorkOnRoot(root2, lanes, forceSync) { + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + var shouldTimeSlice = !forceSync && 0 === (lanes & 124) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes), exitStatus = shouldTimeSlice ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true), renderWasConcurrent = shouldTimeSlice; + do { + if (exitStatus === RootInProgress) { + workInProgressRootIsPrerendering && !shouldTimeSlice && markRootSuspended(root2, lanes, 0, false); + break; + } else { + forceSync = root2.current.alternate; + if (renderWasConcurrent && !isRenderConsistentWithExternalStores(forceSync)) { + exitStatus = renderRootSync(root2, lanes, false); + renderWasConcurrent = false; + continue; + } + if (exitStatus === RootErrored) { + renderWasConcurrent = lanes; + if (root2.errorRecoveryDisabledLanes & renderWasConcurrent) + var errorRetryLanes = 0; + else + errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0; + if (0 !== errorRetryLanes) { + lanes = errorRetryLanes; + a: { + exitStatus = root2; + var errorRetryLanes$jscomp$0 = errorRetryLanes; + errorRetryLanes = workInProgressRootConcurrentErrors; + var wasRootDehydrated = exitStatus.current.memoizedState.isDehydrated; + wasRootDehydrated && (prepareFreshStack( + exitStatus, + errorRetryLanes$jscomp$0 + ).flags |= 256); + errorRetryLanes$jscomp$0 = renderRootSync( + exitStatus, + errorRetryLanes$jscomp$0, + false + ); + if (errorRetryLanes$jscomp$0 !== RootErrored) { + if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) { + exitStatus.errorRecoveryDisabledLanes |= renderWasConcurrent; + workInProgressRootInterleavedUpdatedLanes |= renderWasConcurrent; + exitStatus = RootSuspendedWithDelay; + break a; + } + exitStatus = workInProgressRootRecoverableErrors; + workInProgressRootRecoverableErrors = errorRetryLanes; + null !== exitStatus && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = exitStatus : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + exitStatus + )); + } + exitStatus = errorRetryLanes$jscomp$0; + } + renderWasConcurrent = false; + if (exitStatus !== RootErrored) continue; + } + } + if (exitStatus === RootFatalErrored) { + prepareFreshStack(root2, 0); + markRootSuspended(root2, lanes, 0, true); + break; + } + a: { + shouldTimeSlice = root2; + switch (exitStatus) { + case RootInProgress: + case RootFatalErrored: + throw Error("Root did not complete. This is a bug in React."); + case RootSuspendedWithDelay: + if ((lanes & 4194048) !== lanes) break; + case RootSuspendedAtTheShell: + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + break a; + case RootErrored: + workInProgressRootRecoverableErrors = null; + break; + case RootSuspended: + case RootCompleted: + break; + default: + throw Error("Unknown root exit status."); + } + if (null !== ReactSharedInternals.actQueue) + commitRoot( + shouldTimeSlice, + forceSync, + lanes, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes + ); + else { + if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) { + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + if (0 !== getNextLanes(shouldTimeSlice, 0, true)) break a; + shouldTimeSlice.timeoutHandle = scheduleTimeout( + commitRootWhenReady.bind( + null, + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + THROTTLED_COMMIT, + renderStartTime, + 0 + ), + renderWasConcurrent + ); + break a; + } + commitRootWhenReady( + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + IMMEDIATE_COMMIT, + renderStartTime, + 0 + ); + } + } + } + break; + } while (1); + ensureRootIsScheduled(root2); + } + function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { + root2.timeoutHandle = noTimeout; + suspendedCommitReason = finishedWork.subtreeFlags; + if (suspendedCommitReason & 8192 || 16785408 === (suspendedCommitReason & 16785408)) { + if (suspendedState = { stylesheets: null, count: 0, unsuspend: noop }, accumulateSuspenseyCommitOnFiber(finishedWork), suspendedCommitReason = waitForCommitToBeReady(), null !== suspendedCommitReason) { + root2.cancelPendingCommit = suspendedCommitReason( + commitRoot.bind( + null, + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + exitStatus, + SUSPENDED_COMMIT, + completedRenderStartTime, + completedRenderEndTime + ) + ); + markRootSuspended( + root2, + lanes, + spawnedLane, + !didSkipSuspendedSiblings + ); + return; + } + } + commitRoot( + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + } + function isRenderConsistentWithExternalStores(finishedWork) { + for (var node = finishedWork; ; ) { + var tag = node.tag; + if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag))) + for (var i = 0; i < tag.length; i++) { + var check = tag[i], getSnapshot = check.getSnapshot; + check = check.value; + try { + if (!objectIs(getSnapshot(), check)) return false; + } catch (error) { + return false; + } + } + tag = node.child; + if (node.subtreeFlags & 16384 && null !== tag) + tag.return = node, node = tag; + else { + if (node === finishedWork) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === finishedWork) return true; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + return true; + } + function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) { + suspendedLanes &= ~workInProgressRootPingedLanes; + suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes; + root2.suspendedLanes |= suspendedLanes; + root2.pingedLanes &= ~suspendedLanes; + didAttemptEntireTree && (root2.warmLanes |= suspendedLanes); + didAttemptEntireTree = root2.expirationTimes; + for (var lanes = suspendedLanes; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + didAttemptEntireTree[index] = -1; + lanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes); + } + function flushSyncWork$1() { + return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true; + } + function resetWorkInProgressStack() { + if (null !== workInProgress) { + if (workInProgressSuspendedReason === NotSuspended) + var interruptedWork = workInProgress.return; + else + interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState = null, thenableIndexCounter = 0, interruptedWork = workInProgress; + for (; null !== interruptedWork; ) + unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return; + workInProgress = null; + } + } + function prepareFreshStack(root2, lanes) { + var timeoutHandle = root2.timeoutHandle; + timeoutHandle !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle)); + timeoutHandle = root2.cancelPendingCommit; + null !== timeoutHandle && (root2.cancelPendingCommit = null, timeoutHandle()); + resetWorkInProgressStack(); + workInProgressRoot = root2; + workInProgress = timeoutHandle = createWorkInProgress(root2.current, null); + workInProgressRootRenderLanes = lanes; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + workInProgressRootDidSkipSuspendedSiblings = false; + workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes); + workInProgressRootDidAttachPingListener = false; + workInProgressRootExitStatus = RootInProgress; + workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0; + workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null; + workInProgressRootDidIncludeRecursiveRenderUpdate = false; + 0 !== (lanes & 8) && (lanes |= lanes & 32); + var allEntangledLanes = root2.entangledLanes; + if (0 !== allEntangledLanes) + for (root2 = root2.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) { + var index = 31 - clz32(allEntangledLanes), lane = 1 << index; + lanes |= root2[index]; + allEntangledLanes &= ~lane; + } + entangledRenderLanes = lanes; + finishQueueingConcurrentUpdates(); + lanes = getCurrentTime(); + 1e3 < lanes - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = lanes); + ReactStrictModeWarnings.discardPendingWarnings(); + return timeoutHandle; + } + function handleThrow(root2, thrownValue) { + currentlyRenderingFiber = null; + ReactSharedInternals.H = ContextOnlyDispatcher; + ReactSharedInternals.getCurrentStack = null; + isRendering = false; + current = null; + thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError; + workInProgressThrownValue = thrownValue; + var erroredWork = workInProgress; + if (null === erroredWork) + workInProgressRootExitStatus = RootFatalErrored, logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + else + switch (erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) { + case SuspendedOnError: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnImmediate: + case SuspendedOnDeprecatedThrowPromise: + case SuspendedAndReadyToContinue: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + } + } + function pushDispatcher() { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = ContextOnlyDispatcher; + return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher; + } + function pushAsyncDispatcher() { + var prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; + return prevAsyncDispatcher; + } + function renderDidSuspendDelayIfPossible() { + workInProgressRootExitStatus = RootSuspendedWithDelay; + workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true); + 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended( + workInProgressRoot, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + } + function renderRootSync(root2, lanes, shouldYieldForPrerendering) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + prepareFreshStack(root2, lanes); + } + markRenderStarted(lanes); + lanes = false; + memoizedUpdaters = workInProgressRootExitStatus; + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) { + var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue; + switch (workInProgressSuspendedReason) { + case SuspendedOnHydration: + resetWorkInProgressStack(); + memoizedUpdaters = RootSuspendedAtTheShell; + break a; + case SuspendedOnImmediate: + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnDeprecatedThrowPromise: + null === suspenseHandlerStackCursor.current && (lanes = true); + var reason = workInProgressSuspendedReason; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) { + memoizedUpdaters = RootInProgress; + break a; + } + break; + default: + reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + } + } + workLoopSync(); + memoizedUpdaters = workInProgressRootExitStatus; + break; + } catch (thrownValue$8) { + handleThrow(root2, thrownValue$8); + } + while (1); + lanes && root2.shellSuspendCounter++; + resetContextDependencies(); + executionContext = prevExecutionContext; + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + markRenderStopped(); + null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates()); + return memoizedUpdaters; + } + function workLoopSync() { + for (; null !== workInProgress; ) performUnitOfWork(workInProgress); + } + function renderRootConcurrent(root2, lanes) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS; + prepareFreshStack(root2, lanes); + } else + workInProgressRootIsPrerendering = checkIfRootIsPrerendering( + root2, + lanes + ); + markRenderStarted(lanes); + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) + b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) { + case SuspendedOnError: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnError + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + if (isThenableResolved(memoizedUpdaters)) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + replaySuspendedUnitOfWork(lanes); + break; + } + lanes = function() { + workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue); + ensureRootIsScheduled(root2); + }; + memoizedUpdaters.then(lanes, lanes); + break a; + case SuspendedOnImmediate: + workInProgressSuspendedReason = SuspendedAndReadyToContinue; + break a; + case SuspendedOnInstance: + workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue; + break a; + case SuspendedAndReadyToContinue: + isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedAndReadyToContinue + )); + break; + case SuspendedOnInstanceAndReadyToContinue: + var resource = null; + switch (workInProgress.tag) { + case 26: + resource = workInProgress.memoizedState; + case 5: + case 27: + var hostFiber = workInProgress; + if (resource ? preloadResource(resource) : 1) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + var sibling = hostFiber.sibling; + if (null !== sibling) workInProgress = sibling; + else { + var returnFiber = hostFiber.return; + null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null; + } + break b; + } + break; + default: + console.error( + "Unexpected type of fiber triggered a suspensey commit. This is a bug in React." + ); + } + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnInstanceAndReadyToContinue + ); + break; + case SuspendedOnDeprecatedThrowPromise: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnDeprecatedThrowPromise + ); + break; + case SuspendedOnHydration: + resetWorkInProgressStack(); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + break a; + default: + throw Error( + "Unexpected SuspendedReason. This is a bug in React." + ); + } + null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler(); + break; + } catch (thrownValue$9) { + handleThrow(root2, thrownValue$9); + } + while (1); + resetContextDependencies(); + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + executionContext = prevExecutionContext; + if (null !== workInProgress) + return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress; + markRenderStopped(); + workInProgressRoot = null; + workInProgressRootRenderLanes = 0; + finishQueueingConcurrentUpdates(); + return workInProgressRootExitStatus; + } + function workLoopConcurrentByScheduler() { + for (; null !== workInProgress && !shouldYield(); ) + performUnitOfWork(workInProgress); + } + function performUnitOfWork(unitOfWork) { + var current2 = unitOfWork.alternate; + (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2; + } + function replaySuspendedUnitOfWork(unitOfWork) { + var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next; + } + function replayBeginWork(unitOfWork) { + var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode; + isProfilingMode && startProfilerTimer(unitOfWork); + switch (unitOfWork.tag) { + case 15: + case 0: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type, + void 0, + workInProgressRootRenderLanes + ); + break; + case 11: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type.render, + unitOfWork.ref, + workInProgressRootRenderLanes + ); + break; + case 5: + resetHooksOnUnwind(unitOfWork); + default: + unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes); + } + isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork); + return current2; + } + function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) { + resetContextDependencies(); + resetHooksOnUnwind(unitOfWork); + thenableState = null; + thenableIndexCounter = 0; + var returnFiber = unitOfWork.return; + try { + if (throwException( + root2, + returnFiber, + unitOfWork, + thrownValue, + workInProgressRootRenderLanes + )) { + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + } catch (error) { + if (null !== returnFiber) throw workInProgress = returnFiber, error; + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + if (unitOfWork.flags & 32768) { + if (isHydrating || suspendedReason === SuspendedOnError) root2 = true; + else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912)) + root2 = false; + else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise) + suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384); + unwindUnitOfWork(unitOfWork, root2); + } else completeUnitOfWork(unitOfWork); + } + function completeUnitOfWork(unitOfWork) { + var completedWork = unitOfWork; + do { + if (0 !== (completedWork.flags & 32768)) { + unwindUnitOfWork( + completedWork, + workInProgressRootDidSkipSuspendedSiblings + ); + return; + } + var current2 = completedWork.alternate; + unitOfWork = completedWork.return; + startProfilerTimer(completedWork); + current2 = runWithFiberInDEV( + completedWork, + completeWork, + current2, + completedWork, + entangledRenderLanes + ); + (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork); + if (null !== current2) { + workInProgress = current2; + return; + } + completedWork = completedWork.sibling; + if (null !== completedWork) { + workInProgress = completedWork; + return; + } + workInProgress = completedWork = unitOfWork; + } while (null !== completedWork); + workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted); + } + function unwindUnitOfWork(unitOfWork, skipSiblings) { + do { + var next = unwindWork(unitOfWork.alternate, unitOfWork); + if (null !== next) { + next.flags &= 32767; + workInProgress = next; + return; + } + if ((unitOfWork.mode & ProfileMode) !== NoMode) { + stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork); + next = unitOfWork.actualDuration; + for (var child = unitOfWork.child; null !== child; ) + next += child.actualDuration, child = child.sibling; + unitOfWork.actualDuration = next; + } + next = unitOfWork.return; + null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null); + if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) { + workInProgress = unitOfWork; + return; + } + workInProgress = unitOfWork = next; + } while (null !== unitOfWork); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + workInProgress = null; + } + function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes) { + root2.cancelPendingCommit = null; + do + flushPendingEffects(); + while (pendingEffectsStatus !== NO_PENDING_EFFECTS); + ReactStrictModeWarnings.flushLegacyContextWarning(); + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(lanes); + if (null === finishedWork) markCommitStopped(); + else { + 0 === lanes && console.error( + "finishedLanes should not be empty during a commit. This is a bug in React." + ); + if (finishedWork === root2.current) + throw Error( + "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." + ); + didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes; + didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes; + markRootFinished( + root2, + lanes, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0); + pendingFinishedWork = finishedWork; + pendingEffectsRoot = root2; + pendingEffectsLanes = lanes; + pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate; + pendingPassiveTransitions = transitions; + pendingRecoverableErrors = recoverableErrors; + 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() { + flushPassiveEffects(true); + return null; + })) : (root2.callbackNode = null, root2.callbackPriority = 0); + commitStartTime = now(); + recoverableErrors = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) { + recoverableErrors = ReactSharedInternals.T; + ReactSharedInternals.T = null; + transitions = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + spawnedLane = executionContext; + executionContext |= CommitContext; + try { + commitBeforeMutationEffects(root2, finishedWork, lanes); + } finally { + executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors; + } + } + pendingEffectsStatus = PENDING_MUTATION_PHASE; + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + } + } + function flushMutationEffects() { + if (pendingEffectsStatus === PENDING_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) { + rootMutationHasEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + inProgressLanes = lanes; + inProgressRoot = root2; + commitMutationEffectsOnFiber(finishedWork, root2); + inProgressRoot = inProgressLanes = null; + lanes = selectionInformation; + var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange; + if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode( + priorFocusedElem.ownerDocument.documentElement, + priorFocusedElem + )) { + if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) { + var start = priorSelectionRange.start, end = priorSelectionRange.end; + void 0 === end && (end = start); + if ("selectionStart" in priorFocusedElem) + priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min( + end, + priorFocusedElem.value.length + ); + else { + var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window; + if (win.getSelection) { + var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min( + priorSelectionRange.start, + length + ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length); + !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem); + var startMarker = getNodeForCharacterOffset( + priorFocusedElem, + start$jscomp$0 + ), endMarker = getNodeForCharacterOffset( + priorFocusedElem, + end$jscomp$0 + ); + if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) { + var range = doc.createRange(); + range.setStart(startMarker.node, startMarker.offset); + selection.removeAllRanges(); + start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range)); + } + } + } + } + doc = []; + for (selection = priorFocusedElem; selection = selection.parentNode; ) + 1 === selection.nodeType && doc.push({ + element: selection, + left: selection.scrollLeft, + top: selection.scrollTop + }); + "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus(); + for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) { + var info = doc[priorFocusedElem]; + info.element.scrollLeft = info.left; + info.element.scrollTop = info.top; + } + } + _enabled = !!eventsEnabled; + selectionInformation = eventsEnabled = null; + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect; + } + } + root2.current = finishedWork; + pendingEffectsStatus = PENDING_LAYOUT_PHASE; + } + } + function flushLayoutEffects() { + if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772); + if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) { + rootHasLayoutEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted(lanes), inProgressLanes = lanes, inProgressRoot = root2, commitLayoutEffectOnFiber( + root2, + finishedWork.alternate, + finishedWork + ), inProgressRoot = inProgressLanes = null, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped(); + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootHasLayoutEffect; + } + } + pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE; + } + } + function flushSpawnedWork() { + if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + requestPaint(); + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, recoverableErrors = pendingRecoverableErrors, rootDidHavePassiveEffects = 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256); + rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(root2, root2.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null); + var remainingLanes = root2.pendingLanes; + 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null); + rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(root2); + rootDidHavePassiveEffects = lanesToEventPriority(lanes); + finishedWork = finishedWork.stateNode; + if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) + try { + var didError = 128 === (finishedWork.current.flags & 128); + switch (rootDidHavePassiveEffects) { + case DiscreteEventPriority: + var schedulerPriority = ImmediatePriority; + break; + case ContinuousEventPriority: + schedulerPriority = UserBlockingPriority; + break; + case DefaultEventPriority: + schedulerPriority = NormalPriority$1; + break; + case IdleEventPriority: + schedulerPriority = IdlePriority; + break; + default: + schedulerPriority = NormalPriority$1; + } + injectedHook.onCommitFiberRoot( + rendererID, + finishedWork, + schedulerPriority, + didError + ); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + isDevToolsPresent && root2.memoizedUpdaters.clear(); + onCommitRoot(); + if (null !== recoverableErrors) { + didError = ReactSharedInternals.T; + schedulerPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + ReactSharedInternals.T = null; + try { + var onRecoverableError = root2.onRecoverableError; + for (finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) { + var recoverableError = recoverableErrors[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack); + runWithFiberInDEV( + recoverableError.source, + onRecoverableError, + recoverableError.value, + errorInfo + ); + } + } finally { + ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority; + } + } + 0 !== (pendingEffectsLanes & 3) && flushPendingEffects(); + ensureRootIsScheduled(root2); + remainingLanes = root2.pendingLanes; + 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root2 === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root2)) : nestedUpdateCount = 0; + flushSyncWorkAcrossRoots_impl(0, false); + markCommitStopped(); + } + } + function makeErrorInfo(componentStack) { + componentStack = { componentStack }; + Object.defineProperty(componentStack, "digest", { + get: function() { + console.error( + 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.' + ); + } + }); + return componentStack; + } + function releaseRootPooledCache(root2, remainingLanes) { + 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes))); + } + function flushPendingEffects(wasDelayedCommit) { + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + return flushPassiveEffects(wasDelayedCommit); + } + function flushPassiveEffects() { + if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false; + var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes; + pendingEffectsRemainingLanes = 0; + var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority; + renderPriority = ReactSharedInternals.T; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = priority; + ReactSharedInternals.T = null; + priority = pendingPassiveTransitions; + pendingPassiveTransitions = null; + var root$jscomp$0 = pendingEffectsRoot, lanes = pendingEffectsLanes; + pendingEffectsStatus = NO_PENDING_EFFECTS; + pendingFinishedWork = pendingEffectsRoot = null; + pendingEffectsLanes = 0; + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Cannot flush passive effects while already rendering."); + isFlushingPassiveEffects = true; + didScheduleUpdateDuringPassiveEffects = false; + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes); + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + commitPassiveUnmountOnFiber(root$jscomp$0.current); + commitPassiveMountOnFiber( + root$jscomp$0, + root$jscomp$0.current, + lanes, + priority + ); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped(); + commitDoubleInvokeEffectsInDEV(root$jscomp$0); + executionContext = prevExecutionContext; + flushSyncWorkAcrossRoots_impl(0, false); + didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0; + didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false; + if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) + try { + injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + var stateNode = root$jscomp$0.current.stateNode; + stateNode.effectDuration = 0; + stateNode.passiveEffectDuration = 0; + return true; + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes); + } + } + function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2); + rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2); + null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber)); + } + function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) { + isRunningInsertionEffect = false; + if (3 === sourceFiber.tag) + captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); + else { + for (; null !== nearestMountedAncestor; ) { + if (3 === nearestMountedAncestor.tag) { + captureCommitPhaseErrorOnRoot( + nearestMountedAncestor, + sourceFiber, + error + ); + return; + } + if (1 === nearestMountedAncestor.tag) { + var instance = nearestMountedAncestor.stateNode; + if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + error = createClassErrorUpdate(2); + instance = enqueueUpdate(nearestMountedAncestor, error, 2); + null !== instance && (initializeClassErrorUpdate( + error, + instance, + nearestMountedAncestor, + sourceFiber + ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance)); + return; + } + } + nearestMountedAncestor = nearestMountedAncestor.return; + } + console.error( + "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", + error + ); + } + } + function attachPingListener(root2, wakeable, lanes) { + var pingCache = root2.pingCache; + if (null === pingCache) { + pingCache = root2.pingCache = new PossiblyWeakMap(); + var threadIDs = /* @__PURE__ */ new Set(); + pingCache.set(wakeable, threadIDs); + } else + threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs)); + threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache)); + } + function pingSuspendedRoot(root2, wakeable, pingedLanes) { + var pingCache = root2.pingCache; + null !== pingCache && pingCache.delete(wakeable); + root2.pingedLanes |= root2.suspendedLanes & pingedLanes; + root2.warmLanes &= ~pingedLanes; + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error( + "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act" + ); + workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0)); + ensureRootIsScheduled(root2); + } + function retryTimedOutBoundary(boundaryFiber, retryLane) { + 0 === retryLane && (retryLane = claimNextRetryLane()); + boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); + null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber)); + } + function retryDehydratedSuspenseBoundary(boundaryFiber) { + var suspenseState = boundaryFiber.memoizedState, retryLane = 0; + null !== suspenseState && (retryLane = suspenseState.retryLane); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function resolveRetryWakeable(boundaryFiber, wakeable) { + var retryLane = 0; + switch (boundaryFiber.tag) { + case 13: + var retryCache = boundaryFiber.stateNode; + var suspenseState = boundaryFiber.memoizedState; + null !== suspenseState && (retryLane = suspenseState.retryLane); + break; + case 19: + retryCache = boundaryFiber.stateNode; + break; + case 22: + retryCache = boundaryFiber.stateNode._retryCache; + break; + default: + throw Error( + "Pinged unknown suspense boundary type. This is probably a bug in React." + ); + } + null !== retryCache && retryCache.delete(wakeable); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) { + if (0 !== (parentFiber.subtreeFlags & 67117056)) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + isStrictModeFiber = isInStrictMode || isStrictModeFiber; + 22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + fiber, + isStrictModeFiber + ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber + ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV( + fiber, + recursivelyTraverseAndDoubleInvokeEffectsInDEV, + root2, + fiber, + isStrictModeFiber + )); + parentFiber = parentFiber.sibling; + } + } + function doubleInvokeEffectsOnFiber(root2, fiber) { + var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true; + setIsStrictModeForDevtools(true); + try { + disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root2, fiber, 0, null, false, 0); + } finally { + setIsStrictModeForDevtools(false); + } + } + function commitDoubleInvokeEffectsInDEV(root2) { + var doubleInvokeEffects = true; + root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false); + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + root2.current, + doubleInvokeEffects + ); + } + function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { + if ((executionContext & RenderContext) === NoContext) { + var tag = fiber.tag; + if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) { + tag = getComponentNameFromFiber(fiber) || "ReactComponent"; + if (null !== didWarnStateUpdateForNotYetMountedComponent) { + if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return; + didWarnStateUpdateForNotYetMountedComponent.add(tag); + } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]); + runWithFiberInDEV(fiber, function() { + console.error( + "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead." + ); + }); + } + } + } + function restorePendingUpdaters(root2, lanes) { + isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) { + addFiberToLanesMap(root2, schedulingFiber, lanes); + }); + } + function scheduleCallback$1(priorityLevel, callback) { + var actQueue = ReactSharedInternals.actQueue; + return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback); + } + function warnIfUpdatesNotWrappedWithActDEV(fiber) { + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() { + console.error( + "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act", + getComponentNameFromFiber(fiber) + ); + }); + } + function ensureRootIsScheduled(root2) { + root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2); + mightHavePendingSyncWork = true; + null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask()); + } + function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) { + if (!isFlushingWork && mightHavePendingSyncWork) { + isFlushingWork = true; + do { + var didPerformSomeWork = false; + for (var root2 = firstScheduledRoot; null !== root2; ) { + if (!onlyLegacy) + if (0 !== syncTransitionLanes) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) var nextLanes = 0; + else { + var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1; + nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes); + nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0; + } + 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + } else + nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes( + root2, + root2 === workInProgressRoot ? nextLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + root2 = root2.next; + } + } while (didPerformSomeWork); + isFlushingWork = false; + } + } + function processRootScheduleInImmediateTask() { + processRootScheduleInMicrotask(); + } + function processRootScheduleInMicrotask() { + mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false; + var syncTransitionLanes = 0; + 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0); + for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) { + var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime); + if (0 === nextLanes) + root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev); + else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3)) + mightHavePendingSyncWork = true; + root2 = next; + } + flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false); + } + function scheduleTaskForRootDuringMicrotask(root2, currentTime) { + for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index]; + if (-1 === expirationTime) { + if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) + expirationTimes[index] = computeExpirationTime(lane, currentTime); + } else expirationTime <= currentTime && (root2.expiredLanes |= lane); + lanes &= ~lane; + } + currentTime = workInProgressRoot; + suspendedLanes = workInProgressRootRenderLanes; + suspendedLanes = getNextLanes( + root2, + root2 === currentTime ? suspendedLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + pingedLanes = root2.callbackNode; + if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0; + if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) { + currentTime = suspendedLanes & -suspendedLanes; + if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode) + cancelCallback(pingedLanes); + else return currentTime; + switch (lanesToEventPriority(suspendedLanes)) { + case DiscreteEventPriority: + case ContinuousEventPriority: + suspendedLanes = UserBlockingPriority; + break; + case DefaultEventPriority: + suspendedLanes = NormalPriority$1; + break; + case IdleEventPriority: + suspendedLanes = IdlePriority; + break; + default: + suspendedLanes = NormalPriority$1; + } + pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2); + null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes); + root2.callbackPriority = currentTime; + root2.callbackNode = suspendedLanes; + return currentTime; + } + null !== pingedLanes && cancelCallback(pingedLanes); + root2.callbackPriority = 2; + root2.callbackNode = null; + return 2; + } + function performWorkOnRootViaSchedulerTask(root2, didTimeout) { + nestedUpdateScheduled = currentUpdateIsNested = false; + if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE) + return root2.callbackNode = null, root2.callbackPriority = 0, null; + var originalCallbackNode = root2.callbackNode; + if (flushPendingEffects(true) && root2.callbackNode !== originalCallbackNode) + return null; + var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes; + workInProgressRootRenderLanes$jscomp$0 = getNextLanes( + root2, + root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + if (0 === workInProgressRootRenderLanes$jscomp$0) return null; + performWorkOnRoot( + root2, + workInProgressRootRenderLanes$jscomp$0, + didTimeout + ); + scheduleTaskForRootDuringMicrotask(root2, now$1()); + return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null; + } + function performSyncWorkOnRoot(root2, lanes) { + if (flushPendingEffects()) return null; + currentUpdateIsNested = nestedUpdateScheduled; + nestedUpdateScheduled = false; + performWorkOnRoot(root2, lanes, true); + } + function cancelCallback(callbackNode) { + callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode); + } + function scheduleImmediateRootScheduleTask() { + null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() { + processRootScheduleInMicrotask(); + return null; + }); + scheduleMicrotask(function() { + (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3( + ImmediatePriority, + processRootScheduleInImmediateTask + ) : processRootScheduleInMicrotask(); + }); + } + function requestTransitionLane() { + 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane()); + return currentEventTransitionLane; + } + function coerceFormActionProp(actionProp) { + if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp) + return null; + if ("function" === typeof actionProp) return actionProp; + checkAttributeStringCoercion(actionProp, "action"); + return sanitizeURL("" + actionProp); + } + function createFormDataWithSubmitter(form, submitter) { + var temp = submitter.ownerDocument.createElement("input"); + temp.name = submitter.name; + temp.value = submitter.value; + form.id && temp.setAttribute("form", form.id); + submitter.parentNode.insertBefore(temp, submitter); + form = new FormData(form); + temp.parentNode.removeChild(temp); + return form; + } + function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) { + if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) { + var action = coerceFormActionProp( + (nativeEventTarget[internalPropsKey] || null).action + ), submitter = nativeEvent.submitter; + submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null)); + var event = new SyntheticEvent( + "action", + "action", + null, + nativeEvent, + nativeEventTarget + ); + dispatchQueue.push({ + event, + listeners: [ + { + instance: null, + listener: function() { + if (nativeEvent.defaultPrevented) { + if (0 !== currentEventTransitionLane) { + var formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }; + Object.freeze(pendingState); + startHostTransition( + maybeTargetInst, + pendingState, + null, + formData + ); + } + } else + "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }, Object.freeze(pendingState), startHostTransition( + maybeTargetInst, + pendingState, + action, + formData + )); + }, + currentTarget: nativeEventTarget + } + ] + }); + } + } + function executeDispatch(event, listener, currentTarget) { + event.currentTarget = currentTarget; + try { + listener(event); + } catch (error) { + reportGlobalError(error); + } + event.currentTarget = null; + } + function processDispatchQueue(dispatchQueue, eventSystemFlags) { + eventSystemFlags = 0 !== (eventSystemFlags & 4); + for (var i = 0; i < dispatchQueue.length; i++) { + var _dispatchQueue$i = dispatchQueue[i]; + a: { + var previousInstance = void 0, event = _dispatchQueue$i.event; + _dispatchQueue$i = _dispatchQueue$i.listeners; + if (eventSystemFlags) + for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) { + var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + else + for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) { + _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0]; + instance = _dispatchListeners$i.instance; + currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + } + } + } + function listenToNonDelegatedEvent(domEventName, targetElement) { + nonDelegatedEvents.has(domEventName) || console.error( + 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.', + domEventName + ); + var listenerSet = targetElement[internalEventHandlersKey]; + void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set()); + var listenerSetKey = domEventName + "__bubble"; + listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey)); + } + function listenToNativeEvent(domEventName, isCapturePhaseListener, target) { + nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error( + 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.', + domEventName + ); + var eventSystemFlags = 0; + isCapturePhaseListener && (eventSystemFlags |= 4); + addTrappedEventListener( + target, + domEventName, + eventSystemFlags, + isCapturePhaseListener + ); + } + function listenToAllSupportedEvents(rootContainerElement) { + if (!rootContainerElement[listeningMarker]) { + rootContainerElement[listeningMarker] = true; + allNativeEvents.forEach(function(domEventName) { + "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement)); + }); + var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument)); + } + } + function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) { + switch (getEventPriority(domEventName)) { + case DiscreteEventPriority: + var listenerWrapper = dispatchDiscreteEvent; + break; + case ContinuousEventPriority: + listenerWrapper = dispatchContinuousEvent; + break; + default: + listenerWrapper = dispatchEvent; + } + eventSystemFlags = listenerWrapper.bind( + null, + domEventName, + eventSystemFlags, + targetContainer + ); + listenerWrapper = void 0; + !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true); + isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + capture: true, + passive: listenerWrapper + }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + passive: listenerWrapper + }) : targetContainer.addEventListener( + domEventName, + eventSystemFlags, + false + ); + } + function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) { + var ancestorInst = targetInst$jscomp$0; + if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0) + a: for (; ; ) { + if (null === targetInst$jscomp$0) return; + var nodeTag = targetInst$jscomp$0.tag; + if (3 === nodeTag || 4 === nodeTag) { + var container = targetInst$jscomp$0.stateNode.containerInfo; + if (container === targetContainer) break; + if (4 === nodeTag) + for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) { + var grandTag = nodeTag.tag; + if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer) + return; + nodeTag = nodeTag.return; + } + for (; null !== container; ) { + nodeTag = getClosestInstanceFromNode(container); + if (null === nodeTag) return; + grandTag = nodeTag.tag; + if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) { + targetInst$jscomp$0 = ancestorInst = nodeTag; + continue a; + } + container = container.parentNode; + } + } + targetInst$jscomp$0 = targetInst$jscomp$0.return; + } + batchedUpdates$1(function() { + var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = []; + a: { + var reactName = topLevelEventsToReactNames.get(domEventName); + if (void 0 !== reactName) { + var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName; + switch (domEventName) { + case "keypress": + if (0 === getEventCharCode(nativeEvent)) break a; + case "keydown": + case "keyup": + SyntheticEventCtor = SyntheticKeyboardEvent; + break; + case "focusin": + reactEventType = "focus"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "focusout": + reactEventType = "blur"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "beforeblur": + case "afterblur": + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "click": + if (2 === nativeEvent.button) break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + SyntheticEventCtor = SyntheticMouseEvent; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + SyntheticEventCtor = SyntheticDragEvent; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + SyntheticEventCtor = SyntheticTouchEvent; + break; + case ANIMATION_END: + case ANIMATION_ITERATION: + case ANIMATION_START: + SyntheticEventCtor = SyntheticAnimationEvent; + break; + case TRANSITION_END: + SyntheticEventCtor = SyntheticTransitionEvent; + break; + case "scroll": + case "scrollend": + SyntheticEventCtor = SyntheticUIEvent; + break; + case "wheel": + SyntheticEventCtor = SyntheticWheelEvent; + break; + case "copy": + case "cut": + case "paste": + SyntheticEventCtor = SyntheticClipboardEvent; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + SyntheticEventCtor = SyntheticPointerEvent; + break; + case "toggle": + case "beforetoggle": + SyntheticEventCtor = SyntheticToggleEvent; + } + var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName; + inCapturePhase = []; + for (var instance = targetInst, lastHostComponent; null !== instance; ) { + var _instance2 = instance; + lastHostComponent = _instance2.stateNode; + _instance2 = _instance2.tag; + 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push( + createDispatchListener( + instance, + _instance2, + lastHostComponent + ) + )); + if (accumulateTargetOnly) break; + instance = instance.return; + } + 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor( + reactName, + reactEventType, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: reactName, + listeners: inCapturePhase + })); + } + } + if (0 === (eventSystemFlags & 7)) { + a: { + reactName = "mouseover" === domEventName || "pointerover" === domEventName; + SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName; + if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey])) + break a; + if (SyntheticEventCtor || reactName) { + reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window; + if (SyntheticEventCtor) { + if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase)) + reactEventType = null; + } else SyntheticEventCtor = null, reactEventType = targetInst; + if (SyntheticEventCtor !== reactEventType) { + inCapturePhase = SyntheticMouseEvent; + _instance2 = "onMouseLeave"; + reactEventName = "onMouseEnter"; + instance = "mouse"; + if ("pointerout" === domEventName || "pointerover" === domEventName) + inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer"; + accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor); + lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType); + reactName = new inCapturePhase( + _instance2, + instance + "leave", + SyntheticEventCtor, + nativeEvent, + nativeEventTarget + ); + reactName.target = accumulateTargetOnly; + reactName.relatedTarget = lastHostComponent; + _instance2 = null; + getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase( + reactEventName, + instance + "enter", + reactEventType, + nativeEvent, + nativeEventTarget + ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase); + accumulateTargetOnly = _instance2; + if (SyntheticEventCtor && reactEventType) + b: { + inCapturePhase = SyntheticEventCtor; + reactEventName = reactEventType; + instance = 0; + for (lastHostComponent = inCapturePhase; lastHostComponent; lastHostComponent = getParent(lastHostComponent)) + instance++; + lastHostComponent = 0; + for (_instance2 = reactEventName; _instance2; _instance2 = getParent(_instance2)) + lastHostComponent++; + for (; 0 < instance - lastHostComponent; ) + inCapturePhase = getParent(inCapturePhase), instance--; + for (; 0 < lastHostComponent - instance; ) + reactEventName = getParent(reactEventName), lastHostComponent--; + for (; instance--; ) { + if (inCapturePhase === reactEventName || null !== reactEventName && inCapturePhase === reactEventName.alternate) + break b; + inCapturePhase = getParent(inCapturePhase); + reactEventName = getParent(reactEventName); + } + inCapturePhase = null; + } + else inCapturePhase = null; + null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + reactName, + SyntheticEventCtor, + inCapturePhase, + false + ); + null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + accumulateTargetOnly, + reactEventType, + inCapturePhase, + true + ); + } + } + } + a: { + reactName = targetInst ? getNodeFromInstance(targetInst) : window; + SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase(); + if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type) + var getTargetInstFunc = getTargetInstForChangeEvent; + else if (isTextInputElement(reactName)) + if (isInputEventSupported) + getTargetInstFunc = getTargetInstForInputOrChangeEvent; + else { + getTargetInstFunc = getTargetInstForInputEventPolyfill; + var handleEventFunc = handleEventsForInputEventPolyfill; + } + else + SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent; + if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) { + createAndAccumulateChangeEvent( + dispatchQueue, + getTargetInstFunc, + nativeEvent, + nativeEventTarget + ); + break a; + } + handleEventFunc && handleEventFunc(domEventName, reactName, targetInst); + "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value); + } + handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window; + switch (domEventName) { + case "focusin": + if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable) + activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null; + break; + case "focusout": + lastSelection = activeElementInst = activeElement = null; + break; + case "mousedown": + mouseDown = true; + break; + case "contextmenu": + case "mouseup": + case "dragend": + mouseDown = false; + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + break; + case "selectionchange": + if (skipSelectionChangeEvent) break; + case "keydown": + case "keyup": + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + } + var fallbackData; + if (canUseCompositionEvent) + b: { + switch (domEventName) { + case "compositionstart": + var eventType = "onCompositionStart"; + break b; + case "compositionend": + eventType = "onCompositionEnd"; + break b; + case "compositionupdate": + eventType = "onCompositionUpdate"; + break b; + } + eventType = void 0; + } + else + isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart"); + eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root = nativeEventTarget, startText = "value" in root ? root.value : root.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners( + targetInst, + eventType + ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent( + eventType, + domEventName, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: eventType, + listeners: handleEventFunc + }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData)))); + if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent)) + eventType = accumulateTwoPhaseListeners( + targetInst, + "onBeforeInput" + ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent( + "onBeforeInput", + "beforeinput", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: handleEventFunc, + listeners: eventType + }), handleEventFunc.data = fallbackData); + extractEvents$1( + dispatchQueue, + domEventName, + targetInst, + nativeEvent, + nativeEventTarget + ); + } + processDispatchQueue(dispatchQueue, eventSystemFlags); + }); + } + function createDispatchListener(instance, listener, currentTarget) { + return { + instance, + listener, + currentTarget + }; + } + function accumulateTwoPhaseListeners(targetFiber, reactName) { + for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) { + var _instance3 = targetFiber, stateNode = _instance3.stateNode; + _instance3 = _instance3.tag; + 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift( + createDispatchListener(targetFiber, _instance3, stateNode) + ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push( + createDispatchListener(targetFiber, _instance3, stateNode) + )); + if (3 === targetFiber.tag) return listeners; + targetFiber = targetFiber.return; + } + return []; + } + function getParent(inst) { + if (null === inst) return null; + do + inst = inst.return; + while (inst && 5 !== inst.tag && 27 !== inst.tag); + return inst ? inst : null; + } + function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) { + for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) { + var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode; + _instance4 = _instance4.tag; + if (null !== alternate && alternate === common) break; + 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift( + createDispatchListener(target, stateNode, alternate) + )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push( + createDispatchListener(target, stateNode, alternate) + ))); + target = target.return; + } + 0 !== listeners.length && dispatchQueue.push({ event, listeners }); + } + function validatePropertiesInDevelopment(type, props) { + validateProperties$2(type, props); + "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error( + "`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", + type + ) : console.error( + "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", + type + )); + var eventRegistry = { + registrationNameDependencies, + possibleRegistrationNames + }; + isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry); + props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error( + "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional." + ); + } + function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) { + serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue)); + } + function warnForExtraAttributes(domElement, attributeNames, serverDifferences) { + attributeNames.forEach(function(attributeName) { + serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName); + }); + } + function warnForInvalidEventListener(registrationName, listener) { + false === listener ? console.error( + "Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", + registrationName, + registrationName, + registrationName + ) : console.error( + "Expected `%s` listener to be a function, instead got a value of `%s` type.", + registrationName, + typeof listener + ); + } + function normalizeHTML(parent, html) { + parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS( + parent.namespaceURI, + parent.tagName + ) : parent.ownerDocument.createElement(parent.tagName); + parent.innerHTML = html; + return parent.innerHTML; + } + function normalizeMarkupForTextOrAttribute(markup) { + willCoercionThrow(markup) && (console.error( + "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.", + typeName(markup) + ), testStringCoercion(markup)); + return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ""); + } + function checkForUnmatchedText(serverText, clientText) { + clientText = normalizeMarkupForTextOrAttribute(clientText); + return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false; + } + function noop$1() { + } + function setProp(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "children": + if ("string" === typeof value) + validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value); + else if ("number" === typeof value || "bigint" === typeof value) + validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value); + break; + case "className": + setValueForKnownAttribute(domElement, "class", value); + break; + case "tabIndex": + setValueForKnownAttribute(domElement, "tabindex", value); + break; + case "dir": + case "role": + case "viewBox": + case "width": + case "height": + setValueForKnownAttribute(domElement, key, value); + break; + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "data": + if ("object" !== tag) { + setValueForKnownAttribute(domElement, "data", value); + break; + } + case "src": + case "href": + if ("" === value && ("a" !== tag || "href" !== key)) { + "src" === key ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ); + domElement.removeAttribute(key); + break; + } + if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "action": + case "formAction": + null != value && ("form" === tag ? "formAction" === key ? console.error( + "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>." + ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden." + )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window." + ))) : "input" === tag || "button" === tag ? "action" === key ? console.error( + "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>." + ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error( + 'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.' + )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden." + )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window." + ))) : (didWarnFormActionType = true, console.error( + 'A button can only specify a formAction along with type="submit" or no type.' + )) : (didWarnFormActionType = true, console.error( + 'An input can only specify a formAction along with type="submit" or type="image".' + )) : "action" === key ? console.error( + "You can only pass the action prop to <form>." + ) : console.error( + "You can only pass the formAction prop to <input> or <button>." + )); + if ("function" === typeof value) { + domElement.setAttribute( + key, + "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')" + ); + break; + } else + "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp( + domElement, + tag, + "formEncType", + props.formEncType, + props, + null + ), setProp( + domElement, + tag, + "formMethod", + props.formMethod, + props, + null + ), setProp( + domElement, + tag, + "formTarget", + props.formTarget, + props, + null + )) : (setProp( + domElement, + tag, + "encType", + props.encType, + props, + null + ), setProp(domElement, tag, "method", props.method, props, null), setProp( + domElement, + tag, + "target", + props.target, + props, + null + ))); + if (null == value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "multiple": + domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "muted": + domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + break; + case "autoFocus": + break; + case "xlinkHref": + if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) { + domElement.removeAttribute("xlink:href"); + break; + } + checkAttributeStringCoercion(value, key); + key = sanitizeURL("" + value); + domElement.setAttributeNS(xlinkNamespace, "xlink:href", key); + break; + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key); + break; + case "inert": + "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + key + )); + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key); + break; + case "capture": + case "download": + true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "cols": + case "rows": + case "size": + case "span": + null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "rowSpan": + case "start": + null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)); + break; + case "popover": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + setValueForAttribute(domElement, "popover", value); + break; + case "xlinkActuate": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:actuate", + value + ); + break; + case "xlinkArcrole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:arcrole", + value + ); + break; + case "xlinkRole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:role", + value + ); + break; + case "xlinkShow": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:show", + value + ); + break; + case "xlinkTitle": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:title", + value + ); + break; + case "xlinkType": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:type", + value + ); + break; + case "xmlBase": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:base", + value + ); + break; + case "xmlLang": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:lang", + value + ); + break; + case "xmlSpace": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:space", + value + ); + break; + case "is": + null != prevValue && console.error( + 'Cannot update the "is" prop after it has been initialized.' + ); + setValueForAttribute(domElement, "is", value); + break; + case "innerText": + case "textContent": + break; + case "popoverTarget": + didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error( + "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.", + value + )); + default: + !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + } + } + function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "children": + "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "innerHTML": + case "ref": + break; + case "innerText": + case "textContent": + break; + default: + if (registrationNameDependencies.hasOwnProperty(key)) + null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + else + a: { + if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) { + "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key)); + domElement.addEventListener(tag, value, props); + break a; + } + key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value); + } + } + } + function setInitialProperties(domElement, tag, props) { + validatePropertiesInDevelopment(tag, props); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "img": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + var hasSrc = false, hasSrcSet = false, propKey; + for (propKey in props) + if (props.hasOwnProperty(propKey)) { + var propValue = props[propKey]; + if (null != propValue) + switch (propKey) { + case "src": + hasSrc = true; + break; + case "srcSet": + hasSrcSet = true; + break; + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, propKey, propValue, props, null); + } + } + hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null); + hasSrc && setProp(domElement, tag, "src", props.src, props, null); + return; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", domElement); + var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null; + for (hasSrc in props) + if (props.hasOwnProperty(hasSrc)) { + var _propValue = props[hasSrc]; + if (null != _propValue) + switch (hasSrc) { + case "name": + hasSrcSet = _propValue; + break; + case "type": + propValue = _propValue; + break; + case "checked": + checked = _propValue; + break; + case "defaultChecked": + defaultChecked = _propValue; + break; + case "value": + propKey = _propValue; + break; + case "defaultValue": + defaultValue = _propValue; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != _propValue) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp(domElement, tag, hasSrc, _propValue, props, null); + } + } + validateInputProps(domElement, props); + initInput( + domElement, + propKey, + defaultValue, + checked, + defaultChecked, + propValue, + hasSrcSet, + false + ); + track(domElement); + return; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", domElement); + hasSrc = propValue = propKey = null; + for (hasSrcSet in props) + if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue)) + switch (hasSrcSet) { + case "value": + propKey = defaultValue; + break; + case "defaultValue": + propValue = defaultValue; + break; + case "multiple": + hasSrc = defaultValue; + default: + setProp( + domElement, + tag, + hasSrcSet, + defaultValue, + props, + null + ); + } + validateSelectProps(domElement, props); + tag = propKey; + props = propValue; + domElement.multiple = !!hasSrc; + null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true); + return; + case "textarea": + checkControlledValueProps("textarea", props); + listenToNonDelegatedEvent("invalid", domElement); + propKey = hasSrcSet = hasSrc = null; + for (propValue in props) + if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue)) + switch (propValue) { + case "value": + hasSrc = defaultValue; + break; + case "defaultValue": + hasSrcSet = defaultValue; + break; + case "children": + propKey = defaultValue; + break; + case "dangerouslySetInnerHTML": + if (null != defaultValue) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + setProp( + domElement, + tag, + propValue, + defaultValue, + props, + null + ); + } + validateTextareaProps(domElement, props); + initTextarea(domElement, hasSrc, hasSrcSet, propKey); + track(domElement); + return; + case "option": + validateOptionProps(domElement, props); + for (checked in props) + if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc)) + switch (checked) { + case "selected": + domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc; + break; + default: + setProp(domElement, tag, checked, hasSrc, props, null); + } + return; + case "dialog": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + listenToNonDelegatedEvent("cancel", domElement); + listenToNonDelegatedEvent("close", domElement); + break; + case "iframe": + case "object": + listenToNonDelegatedEvent("load", domElement); + break; + case "video": + case "audio": + for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++) + listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement); + break; + case "image": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + break; + case "details": + listenToNonDelegatedEvent("toggle", domElement); + break; + case "embed": + case "source": + case "link": + listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement); + case "area": + case "base": + case "br": + case "col": + case "hr": + case "keygen": + case "meta": + case "param": + case "track": + case "wbr": + case "menuitem": + for (defaultChecked in props) + if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc)) + switch (defaultChecked) { + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, defaultChecked, hasSrc, props, null); + } + return; + default: + if (isCustomElement(tag)) { + for (_propValue in props) + props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement( + domElement, + tag, + _propValue, + hasSrc, + props, + void 0 + )); + return; + } + } + for (defaultValue in props) + props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null)); + } + function updateProperties(domElement, tag, lastProps, nextProps) { + validatePropertiesInDevelopment(tag, nextProps); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "input": + var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null; + for (propKey in lastProps) { + var lastProp = lastProps[propKey]; + if (lastProps.hasOwnProperty(propKey) && null != lastProp) + switch (propKey) { + case "checked": + break; + case "value": + break; + case "defaultValue": + lastDefaultValue = lastProp; + default: + nextProps.hasOwnProperty(propKey) || setProp( + domElement, + tag, + propKey, + null, + nextProps, + lastProp + ); + } + } + for (var _propKey8 in nextProps) { + var propKey = nextProps[_propKey8]; + lastProp = lastProps[_propKey8]; + if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp)) + switch (_propKey8) { + case "type": + type = propKey; + break; + case "name": + name = propKey; + break; + case "checked": + checked = propKey; + break; + case "defaultChecked": + defaultChecked = propKey; + break; + case "value": + value = propKey; + break; + case "defaultValue": + defaultValue = propKey; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != propKey) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + propKey !== lastProp && setProp( + domElement, + tag, + _propKey8, + propKey, + nextProps, + lastProp + ); + } + } + tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value; + nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value; + tag || !nextProps || didWarnUncontrolledToControlled || (console.error( + "A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnUncontrolledToControlled = true); + !tag || nextProps || didWarnControlledToUncontrolled || (console.error( + "A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnControlledToUncontrolled = true); + updateInput( + domElement, + value, + defaultValue, + lastDefaultValue, + checked, + defaultChecked, + type, + name + ); + return; + case "select": + propKey = value = defaultValue = _propKey8 = null; + for (type in lastProps) + if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue) + switch (type) { + case "value": + break; + case "multiple": + propKey = lastDefaultValue; + default: + nextProps.hasOwnProperty(type) || setProp( + domElement, + tag, + type, + null, + nextProps, + lastDefaultValue + ); + } + for (name in nextProps) + if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue)) + switch (name) { + case "value": + _propKey8 = type; + break; + case "defaultValue": + defaultValue = type; + break; + case "multiple": + value = type; + default: + type !== lastDefaultValue && setProp( + domElement, + tag, + name, + type, + nextProps, + lastDefaultValue + ); + } + nextProps = defaultValue; + tag = value; + lastProps = propKey; + null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false)); + return; + case "textarea": + propKey = _propKey8 = null; + for (defaultValue in lastProps) + if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue)) + switch (defaultValue) { + case "value": + break; + case "children": + break; + default: + setProp(domElement, tag, defaultValue, null, nextProps, name); + } + for (value in nextProps) + if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type)) + switch (value) { + case "value": + _propKey8 = name; + break; + case "defaultValue": + propKey = name; + break; + case "children": + break; + case "dangerouslySetInnerHTML": + if (null != name) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + name !== type && setProp(domElement, tag, value, name, nextProps, type); + } + updateTextarea(domElement, _propKey8, propKey); + return; + case "option": + for (var _propKey13 in lastProps) + if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13)) + switch (_propKey13) { + case "selected": + domElement.selected = false; + break; + default: + setProp( + domElement, + tag, + _propKey13, + null, + nextProps, + _propKey8 + ); + } + for (lastDefaultValue in nextProps) + if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (lastDefaultValue) { + case "selected": + domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8; + break; + default: + setProp( + domElement, + tag, + lastDefaultValue, + _propKey8, + nextProps, + propKey + ); + } + return; + case "img": + case "link": + case "area": + case "base": + case "br": + case "col": + case "embed": + case "hr": + case "keygen": + case "meta": + case "param": + case "source": + case "track": + case "wbr": + case "menuitem": + for (var _propKey15 in lastProps) + _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp( + domElement, + tag, + _propKey15, + null, + nextProps, + _propKey8 + ); + for (checked in nextProps) + if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (checked) { + case "children": + case "dangerouslySetInnerHTML": + if (null != _propKey8) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp( + domElement, + tag, + checked, + _propKey8, + nextProps, + propKey + ); + } + return; + default: + if (isCustomElement(tag)) { + for (var _propKey17 in lastProps) + _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement( + domElement, + tag, + _propKey17, + void 0, + nextProps, + _propKey8 + ); + for (defaultChecked in nextProps) + _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement( + domElement, + tag, + defaultChecked, + _propKey8, + nextProps, + propKey + ); + return; + } + } + for (var _propKey19 in lastProps) + _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8); + for (lastProp in nextProps) + _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey); + } + function getPropNameFromAttributeName(attrName) { + switch (attrName) { + case "class": + return "className"; + case "for": + return "htmlFor"; + default: + return attrName; + } + } + function getStylesObjectFromElement(domElement) { + var serverValueInObjectForm = {}; + domElement = domElement.style; + for (var i = 0; i < domElement.length; i++) { + var styleName = domElement[i]; + serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName); + } + return serverValueInObjectForm; + } + function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) { + if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0) + console.error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + else { + var clientValue; + var delimiter = clientValue = "", styleName; + for (styleName in value$jscomp$0) + if (value$jscomp$0.hasOwnProperty(styleName)) { + var value = value$jscomp$0[styleName]; + null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter = ";"); + } + clientValue = clientValue || null; + value$jscomp$0 = domElement.getAttribute("style"); + value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement))); + } + } + function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) { + switch (typeof value) { + case "function": + case "symbol": + return; + } + if (!value) return; + } else + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (value) return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + default: + if (isNaN(value)) return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value)) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function diffHydratedProperties(domElement, tag, props, hostContext) { + for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++) + switch (attributes[i].name.toLowerCase()) { + case "value": + break; + case "checked": + break; + case "selected": + break; + default: + extraAttributes.add(attributes[i].name); + } + if (isCustomElement(tag)) + for (var propKey in props) { + if (props.hasOwnProperty(propKey)) { + var value = props[propKey]; + if (null != value) { + if (registrationNameDependencies.hasOwnProperty(propKey)) + "function" !== typeof value && warnForInvalidEventListener(propKey, value); + else if (true !== props.suppressHydrationWarning) + switch (propKey) { + case "children": + "string" !== typeof value && "number" !== typeof value || warnForPropDifference( + "children", + domElement.textContent, + value, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + value = value ? value.__html : void 0; + null != value && (value = normalizeHTML(domElement, value), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + )); + continue; + case "style": + extraAttributes.delete(propKey); + diffHydratedStyles(domElement, value, serverDifferences); + continue; + case "offsetParent": + case "offsetTop": + case "offsetLeft": + case "offsetWidth": + case "offsetHeight": + case "isContentEditable": + case "outerText": + case "outerHTML": + extraAttributes.delete(propKey.toLowerCase()); + console.error( + "Assignment to read-only property will result in a no-op: `%s`", + propKey + ); + continue; + case "className": + extraAttributes.delete("class"); + attributes = getValueForAttributeOnCustomComponent( + domElement, + "class", + value + ); + warnForPropDifference( + "className", + attributes, + value, + serverDifferences + ); + continue; + default: + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent( + domElement, + propKey, + value + ), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + ); + } + } + } + } + else + for (value in props) + if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) { + if (registrationNameDependencies.hasOwnProperty(value)) + "function" !== typeof propKey && warnForInvalidEventListener(value, propKey); + else if (true !== props.suppressHydrationWarning) + switch (value) { + case "children": + "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference( + "children", + domElement.textContent, + propKey, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "value": + case "checked": + case "selected": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + propKey = propKey ? propKey.__html : void 0; + null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes })); + continue; + case "className": + hydrateAttribute( + domElement, + value, + "class", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "tabIndex": + hydrateAttribute( + domElement, + value, + "tabindex", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "style": + extraAttributes.delete(value); + diffHydratedStyles(domElement, propKey, serverDifferences); + continue; + case "multiple": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.multiple, + propKey, + serverDifferences + ); + continue; + case "muted": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.muted, + propKey, + serverDifferences + ); + continue; + case "autoFocus": + extraAttributes.delete("autofocus"); + warnForPropDifference( + value, + domElement.autofocus, + propKey, + serverDifferences + ); + continue; + case "data": + if ("object" !== tag) { + extraAttributes.delete(value); + attributes = domElement.getAttribute("data"); + warnForPropDifference( + value, + attributes, + propKey, + serverDifferences + ); + continue; + } + case "src": + case "href": + if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) { + "src" === value ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "action": + case "formAction": + attributes = domElement.getAttribute(value); + if ("function" === typeof propKey) { + extraAttributes.delete(value.toLowerCase()); + "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target")); + continue; + } else if (attributes === EXPECTED_FORM_ACTION_URL) { + extraAttributes.delete(value.toLowerCase()); + warnForPropDifference( + value, + "function", + propKey, + serverDifferences + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkHref": + hydrateSanitizedAttribute( + domElement, + value, + "xlink:href", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "contentEditable": + hydrateBooleanishAttribute( + domElement, + value, + "contenteditable", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "spellCheck": + hydrateBooleanishAttribute( + domElement, + value, + "spellcheck", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "draggable": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + hydrateBooleanishAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + hydrateBooleanAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "capture": + case "download": + a: { + i = domElement; + var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + break a; + default: + if (false === propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + break; + case "boolean": + if (true === propKey && "" === i) break a; + break; + default: + if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "cols": + case "rows": + case "size": + case "span": + a: { + i = domElement; + attributeName = attributes = value; + serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + case "boolean": + break a; + default: + if (isNaN(propKey) || 1 > propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "rowSpan": + hydrateNumericAttribute( + domElement, + value, + "rowspan", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "start": + hydrateNumericAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xHeight": + hydrateAttribute( + domElement, + value, + "x-height", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkActuate": + hydrateAttribute( + domElement, + value, + "xlink:actuate", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkArcrole": + hydrateAttribute( + domElement, + value, + "xlink:arcrole", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkRole": + hydrateAttribute( + domElement, + value, + "xlink:role", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkShow": + hydrateAttribute( + domElement, + value, + "xlink:show", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkTitle": + hydrateAttribute( + domElement, + value, + "xlink:title", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkType": + hydrateAttribute( + domElement, + value, + "xlink:type", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlBase": + hydrateAttribute( + domElement, + value, + "xml:base", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlLang": + hydrateAttribute( + domElement, + value, + "xml:lang", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlSpace": + hydrateAttribute( + domElement, + value, + "xml:space", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "inert": + "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + value + )); + hydrateBooleanAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + default: + if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) { + i = getAttributeAlias(value); + attributes = false; + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty( + attributeName + ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i)); + a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0)) + if (attributeName.hasAttribute(serverDifferences$jscomp$0)) + attributeName = attributeName.getAttribute( + serverDifferences$jscomp$0 + ), checkAttributeStringCoercion( + i, + serverDifferences$jscomp$0 + ), i = attributeName === "" + i ? i : attributeName; + else { + switch (typeof i) { + case "function": + case "symbol": + break a; + case "boolean": + if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName) + break a; + } + i = void 0 === i ? void 0 : null; + } + else i = void 0; + attributes || warnForPropDifference( + value, + i, + propKey, + serverDifferences + ); + } + } + } + 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences); + return 0 === Object.keys(serverDifferences).length ? null : serverDifferences; + } + function propNamesListJoin(list, combinator) { + switch (list.length) { + case 0: + return ""; + case 1: + return list[0]; + case 2: + return list[0] + " " + combinator + " " + list[1]; + default: + return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1]; + } + } + function getOwnerDocumentFromRootContainer(rootContainerElement) { + return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + } + function getOwnHostContext(namespaceURI) { + switch (namespaceURI) { + case SVG_NAMESPACE: + return HostContextNamespaceSvg; + case MATH_NAMESPACE: + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + } + function getChildHostContextProd(parentNamespace, type) { + if (parentNamespace === HostContextNamespaceNone) + switch (type) { + case "svg": + return HostContextNamespaceSvg; + case "math": + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace; + } + function shouldSetTextContent(type, props) { + return "textarea" === type || "noscript" === type || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html; + } + function shouldAttemptEagerTransition() { + var event = window.event; + if (event && "popstate" === event.type) { + if (event === currentPopstateTransitionEvent) return false; + currentPopstateTransitionEvent = event; + return true; + } + currentPopstateTransitionEvent = null; + return false; + } + function handleErrorInNextTick(error) { + setTimeout(function() { + throw error; + }); + } + function commitMount(domElement, type, newProps) { + switch (type) { + case "button": + case "input": + case "select": + case "textarea": + newProps.autoFocus && domElement.focus(); + break; + case "img": + newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet); + } + } + function commitUpdate(domElement, type, oldProps, newProps) { + updateProperties(domElement, type, oldProps, newProps); + domElement[internalPropsKey] = newProps; + } + function resetTextContent(domElement) { + setTextContent(domElement, ""); + } + function commitTextUpdate(textInstance, oldText, newText) { + textInstance.nodeValue = newText; + } + function isSingletonScope(type) { + return "head" === type; + } + function removeChild(parentInstance, child) { + parentInstance.removeChild(child); + } + function removeChildFromContainer(container, child) { + (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child); + } + function clearSuspenseBoundary(parentInstance, suspenseInstance) { + var node = suspenseInstance, possiblePreambleContribution = 0, depth = 0; + do { + var nextNode = node.nextSibling; + parentInstance.removeChild(node); + if (nextNode && 8 === nextNode.nodeType) + if (node = nextNode.data, node === SUSPENSE_END_DATA) { + if (0 < possiblePreambleContribution && 8 > possiblePreambleContribution) { + node = possiblePreambleContribution; + var ownerDocument = parentInstance.ownerDocument; + node & PREAMBLE_CONTRIBUTION_HTML && releaseSingletonInstance(ownerDocument.documentElement); + node & PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(ownerDocument.body); + if (node & PREAMBLE_CONTRIBUTION_HEAD) + for (node = ownerDocument.head, releaseSingletonInstance(node), ownerDocument = node.firstChild; ownerDocument; ) { + var nextNode$jscomp$0 = ownerDocument.nextSibling, nodeName = ownerDocument.nodeName; + ownerDocument[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === ownerDocument.rel.toLowerCase() || node.removeChild(ownerDocument); + ownerDocument = nextNode$jscomp$0; + } + } + if (0 === depth) { + parentInstance.removeChild(nextNode); + retryIfBlockedOn(suspenseInstance); + return; + } + depth--; + } else + node === SUSPENSE_START_DATA || node === SUSPENSE_PENDING_START_DATA || node === SUSPENSE_FALLBACK_START_DATA ? depth++ : possiblePreambleContribution = node.charCodeAt(0) - 48; + else possiblePreambleContribution = 0; + node = nextNode; + } while (node); + retryIfBlockedOn(suspenseInstance); + } + function hideInstance(instance) { + instance = instance.style; + "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none"; + } + function hideTextInstance(textInstance) { + textInstance.nodeValue = ""; + } + function unhideInstance(instance, props) { + props = props[STYLE]; + props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null; + instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim(); + } + function unhideTextInstance(textInstance, text) { + textInstance.nodeValue = text; + } + function clearContainerSparingly(container) { + var nextNode = container.firstChild; + nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling); + for (; nextNode; ) { + var node = nextNode; + nextNode = nextNode.nextSibling; + switch (node.nodeName) { + case "HTML": + case "HEAD": + case "BODY": + clearContainerSparingly(node); + detachDeletedInstance(node); + continue; + case "SCRIPT": + case "STYLE": + continue; + case "LINK": + if ("stylesheet" === node.rel.toLowerCase()) continue; + } + container.removeChild(node); + } + } + function canHydrateInstance(instance, type, props, inRootOrSingleton) { + for (; 1 === instance.nodeType; ) { + var anyProps = props; + if (instance.nodeName.toLowerCase() !== type.toLowerCase()) { + if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type)) + break; + } else if (!inRootOrSingleton) + if ("input" === type && "hidden" === instance.type) { + checkAttributeStringCoercion(anyProps.name, "name"); + var name = null == anyProps.name ? null : "" + anyProps.name; + if ("hidden" === anyProps.type && instance.getAttribute("name") === name) + return instance; + } else return instance; + else if (!instance[internalHoistableMarker]) + switch (type) { + case "meta": + if (!instance.hasAttribute("itemprop")) break; + return instance; + case "link": + name = instance.getAttribute("rel"); + if ("stylesheet" === name && instance.hasAttribute("data-precedence")) + break; + else if (name !== anyProps.rel || instance.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title)) + break; + return instance; + case "style": + if (instance.hasAttribute("data-precedence")) break; + return instance; + case "script": + name = instance.getAttribute("src"); + if ((name !== (null == anyProps.src ? null : anyProps.src) || instance.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance.hasAttribute("async") && !instance.hasAttribute("itemprop")) + break; + return instance; + default: + return instance; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) break; + } + return null; + } + function canHydrateTextInstance(instance, text, inRootOrSingleton) { + if ("" === text) return null; + for (; 3 !== instance.nodeType; ) { + if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton) + return null; + instance = getNextHydratable(instance.nextSibling); + if (null === instance) return null; + } + return instance; + } + function isSuspenseInstanceFallback(instance) { + return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE; + } + function registerSuspenseInstanceRetry(instance, callback) { + var ownerDocument = instance.ownerDocument; + if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE) + callback(); + else { + var listener = function() { + callback(); + ownerDocument.removeEventListener("DOMContentLoaded", listener); + }; + ownerDocument.addEventListener("DOMContentLoaded", listener); + instance._reactRetry = listener; + } + } + function getNextHydratable(node) { + for (; null != node; node = node.nextSibling) { + var nodeType = node.nodeType; + if (1 === nodeType || 3 === nodeType) break; + if (8 === nodeType) { + nodeType = node.data; + if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING) + break; + if (nodeType === SUSPENSE_END_DATA) return null; + } + } + return node; + } + function describeHydratableInstanceForDevWarnings(instance) { + if (1 === instance.nodeType) { + for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) { + var attr = attributes[i]; + serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value; + } + return { type: JSCompiler_temp_const, props: serverDifferences }; + } + return 8 === instance.nodeType ? { type: "Suspense", props: {} } : instance.nodeValue; + } + function diffHydratedTextForDevWarnings(textInstance, text, parentProps) { + return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null; + } + function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { + suspenseInstance = suspenseInstance.nextSibling; + for (var depth = 0; suspenseInstance; ) { + if (8 === suspenseInstance.nodeType) { + var data = suspenseInstance.data; + if (data === SUSPENSE_END_DATA) { + if (0 === depth) + return getNextHydratable(suspenseInstance.nextSibling); + depth--; + } else + data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA || depth++; + } + suspenseInstance = suspenseInstance.nextSibling; + } + return null; + } + function getParentSuspenseInstance(targetInstance) { + targetInstance = targetInstance.previousSibling; + for (var depth = 0; targetInstance; ) { + if (8 === targetInstance.nodeType) { + var data = targetInstance.data; + if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { + if (0 === depth) return targetInstance; + depth--; + } else data === SUSPENSE_END_DATA && depth++; + } + targetInstance = targetInstance.previousSibling; + } + return null; + } + function commitHydratedContainer(container) { + retryIfBlockedOn(container); + } + function commitHydratedSuspenseInstance(suspenseInstance) { + retryIfBlockedOn(suspenseInstance); + } + function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) { + validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo); + props = getOwnerDocumentFromRootContainer(rootContainerInstance); + switch (type) { + case "html": + type = props.documentElement; + if (!type) + throw Error( + "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "head": + type = props.head; + if (!type) + throw Error( + "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "body": + type = props.body; + if (!type) + throw Error( + "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + default: + throw Error( + "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + } + function acquireSingletonInstance(type, props, instance, internalInstanceHandle) { + if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) { + var tagName = instance.tagName.toLowerCase(); + console.error( + "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.", + tagName, + tagName, + tagName + ); + } + switch (type) { + case "html": + case "head": + case "body": + break; + default: + console.error( + "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + for (tagName = instance.attributes; tagName.length; ) + instance.removeAttributeNode(tagName[0]); + setInitialProperties(instance, type, props); + instance[internalInstanceKey] = internalInstanceHandle; + instance[internalPropsKey] = props; + } + function releaseSingletonInstance(instance) { + for (var attributes = instance.attributes; attributes.length; ) + instance.removeAttributeNode(attributes[0]); + detachDeletedInstance(instance); + } + function getHoistableRoot(container) { + return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument; + } + function preconnectAs(rel, href, crossOrigin) { + var ownerDocument = globalDocument; + if (ownerDocument && "string" === typeof href && href) { + var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href); + limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]'; + "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]'); + preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href))); + } + } + function getResource(type, currentProps, pendingProps, currentResource) { + var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null; + if (!resourceRoot) + throw Error( + '"resourceRoot" was expected to exist. This is a bug in React.' + ); + switch (type) { + case "meta": + case "title": + return null; + case "style": + return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "style", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + case "link": + if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) { + type = getStyleKey(pendingProps.href); + var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type); + if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = { + type: "stylesheet", + instance: null, + count: 0, + state: { loading: NotLoaded, preload: null } + }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector( + getStylesheetSelectorFromKey(type) + )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type))) { + var preloadProps = { + rel: "preload", + as: "style", + href: pendingProps.href, + crossOrigin: pendingProps.crossOrigin, + integrity: pendingProps.integrity, + media: pendingProps.media, + hrefLang: pendingProps.hrefLang, + referrerPolicy: pendingProps.referrerPolicy + }; + preloadPropsMap.set(type, preloadProps); + _styles || preloadStylesheet( + resourceRoot, + type, + preloadProps, + _resource.state + ); + } + if (currentProps && null === currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return _resource; + } + if (currentProps && null !== currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return null; + case "script": + return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "script", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + default: + throw Error( + 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.' + ); + } + } + function describeLinkForResourceErrorDEV(props) { + var describedProps = 0, description = "<link"; + "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"'); + "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"'); + "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}"); + Object.getOwnPropertyNames(props).length > describedProps && (description += " ..."); + return description + " />"; + } + function getStyleKey(href) { + return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"'; + } + function getStylesheetSelectorFromKey(key) { + return 'link[rel="stylesheet"][' + key + "]"; + } + function stylesheetPropsFromRawProps(rawProps) { + return assign({}, rawProps, { + "data-precedence": rawProps.precedence, + precedence: null + }); + } + function preloadStylesheet(ownerDocument, key, preloadProps, state) { + ownerDocument.querySelector( + 'link[rel="preload"][as="style"][' + key + "]" + ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() { + return state.loading |= Loaded; + }), key.addEventListener("error", function() { + return state.loading |= Errored; + }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key)); + } + function getScriptKey(src) { + return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]'; + } + function getScriptSelectorFromKey(key) { + return "script[async]" + key; + } + function acquireResource(hoistableRoot, resource, props) { + resource.count++; + if (null === resource.instance) + switch (resource.type) { + case "style": + var instance = hoistableRoot.querySelector( + 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]' + ); + if (instance) + return resource.instance = instance, markNodeAsHoistable(instance), instance; + var styleProps = assign({}, props, { + "data-href": props.href, + "data-precedence": props.precedence, + href: null, + precedence: null + }); + instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style"); + markNodeAsHoistable(instance); + setInitialProperties(instance, "style", styleProps); + insertStylesheet(instance, props.precedence, hoistableRoot); + return resource.instance = instance; + case "stylesheet": + styleProps = getStyleKey(props.href); + var _instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(styleProps) + ); + if (_instance) + return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance; + instance = stylesheetPropsFromRawProps(props); + (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps); + _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link"); + markNodeAsHoistable(_instance); + var linkInstance = _instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(_instance, "link", instance); + resource.state.loading |= Inserted; + insertStylesheet(_instance, props.precedence, hoistableRoot); + return resource.instance = _instance; + case "script": + _instance = getScriptKey(props.src); + if (styleProps = hoistableRoot.querySelector( + getScriptSelectorFromKey(_instance) + )) + return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps; + instance = props; + if (styleProps = preloadPropsMap.get(_instance)) + instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps); + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + styleProps = hoistableRoot.createElement("script"); + markNodeAsHoistable(styleProps); + setInitialProperties(styleProps, "link", instance); + hoistableRoot.head.appendChild(styleProps); + return resource.instance = styleProps; + case "void": + return null; + default: + throw Error( + 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.' + ); + } + else + "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot)); + return resource.instance; + } + function insertStylesheet(instance, precedence, root2) { + for (var nodes = root2.querySelectorAll( + 'link[rel="stylesheet"][data-precedence],style[data-precedence]' + ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (node.dataset.precedence === precedence) prior = node; + else if (prior !== last) break; + } + prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild)); + } + function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) { + null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin); + null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy); + null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title); + } + function adoptPreloadPropsForScript(scriptProps, preloadProps) { + null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin); + null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy); + null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity); + } + function getHydratableHoistableCache(type, keyAttribute, ownerDocument) { + if (null === tagCaches) { + var cache = /* @__PURE__ */ new Map(); + var caches = tagCaches = /* @__PURE__ */ new Map(); + caches.set(ownerDocument, cache); + } else + caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache)); + if (cache.has(type)) return cache; + cache.set(type, null); + ownerDocument = ownerDocument.getElementsByTagName(type); + for (caches = 0; caches < ownerDocument.length; caches++) { + var node = ownerDocument[caches]; + if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) { + var nodeKey = node.getAttribute(keyAttribute) || ""; + nodeKey = type + nodeKey; + var existing = cache.get(nodeKey); + existing ? existing.push(node) : cache.set(nodeKey, [node]); + } + } + return cache; + } + function mountHoistable(hoistableRoot, type, instance) { + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + hoistableRoot.head.insertBefore( + instance, + "title" === type ? hoistableRoot.querySelector("head > title") : null + ); + } + function isHostHoistableType(type, props, hostContext) { + var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope; + if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp) + return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error( + "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.", + type, + type + ), false; + switch (type) { + case "meta": + case "title": + return true; + case "style": + if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) { + outsideHostContainerContext && console.error( + 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.' + ); + break; + } + return true; + case "link": + if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) { + if ("stylesheet" === props.rel && "string" === typeof props.precedence) { + type = props.href; + var onError = props.onError, disabled = props.disabled; + hostContext = []; + props.onLoad && hostContext.push("`onLoad`"); + onError && hostContext.push("`onError`"); + null != disabled && hostContext.push("`disabled`"); + onError = propNamesListJoin(hostContext, "and"); + onError += 1 === hostContext.length ? " prop" : " props"; + disabled = 1 === hostContext.length ? "an " + onError : "the " + onError; + hostContext.length && console.error( + 'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.', + type, + disabled, + onError + ); + } + outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error( + "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag" + ) : (props.onError || props.onLoad) && console.error( + "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + )); + break; + } + switch (props.rel) { + case "stylesheet": + return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error( + 'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.' + ), "string" === typeof type && null == props; + default: + return true; + } + case "script": + type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async; + if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) { + outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error( + "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + ) : console.error( + "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>." + ) : console.error( + 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.' + )); + break; + } + return true; + case "noscript": + case "template": + outsideHostContainerContext && console.error( + "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.", + type + ); + } + return false; + } + function preloadResource(resource) { + return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true; + } + function noop() { + } + function suspendResource(hoistableRoot, resource, props) { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) { + if (null === resource.instance) { + var key = getStyleKey(props.href), instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(key) + ); + if (instance) { + hoistableRoot = instance._p; + null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state)); + resource.state.loading |= Inserted; + resource.instance = instance; + markNodeAsHoistable(instance); + return; + } + instance = hoistableRoot.ownerDocument || hoistableRoot; + props = stylesheetPropsFromRawProps(props); + (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key); + instance = instance.createElement("link"); + markNodeAsHoistable(instance); + var linkInstance = instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(instance, "link", props); + resource.instance = instance; + } + null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map()); + state.stylesheets.set(resource, hoistableRoot); + (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource)); + } + } + function waitForCommitToBeReady() { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets); + return 0 < state.count ? function(commit) { + var stylesheetTimer = setTimeout(function() { + state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets); + if (state.unsuspend) { + var unsuspend = state.unsuspend; + state.unsuspend = null; + unsuspend(); + } + }, 6e4); + state.unsuspend = commit; + return function() { + state.unsuspend = null; + clearTimeout(stylesheetTimer); + }; + } : null; + } + function onUnsuspend() { + this.count--; + if (0 === this.count) { + if (this.stylesheets) + insertSuspendedStylesheets(this, this.stylesheets); + else if (this.unsuspend) { + var unsuspend = this.unsuspend; + this.unsuspend = null; + unsuspend(); + } + } + } + function insertSuspendedStylesheets(state, resources) { + state.stylesheets = null; + null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state)); + } + function insertStylesheetIntoRoot(root2, resource) { + if (!(resource.state.loading & Inserted)) { + var precedences = precedencesByRoot.get(root2); + if (precedences) var last = precedences.get(LAST_PRECEDENCE); + else { + precedences = /* @__PURE__ */ new Map(); + precedencesByRoot.set(root2, precedences); + for (var nodes = root2.querySelectorAll( + "link[data-precedence],style[data-precedence]" + ), i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media")) + precedences.set(node.dataset.precedence, node), last = node; + } + last && precedences.set(LAST_PRECEDENCE, last); + } + nodes = resource.instance; + node = nodes.getAttribute("data-precedence"); + i = precedences.get(node) || last; + i === last && precedences.set(LAST_PRECEDENCE, nodes); + precedences.set(node, nodes); + this.count++; + last = onUnsuspend.bind(this); + nodes.addEventListener("load", last); + nodes.addEventListener("error", last); + i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild)); + resource.state.loading |= Inserted; + } + } + function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, formState) { + this.tag = 1; + this.containerInfo = containerInfo; + this.pingCache = this.current = this.pendingChildren = null; + this.timeoutHandle = noTimeout; + this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null; + this.callbackPriority = 0; + this.expirationTimes = createLaneMap(-1); + this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0; + this.entanglements = createLaneMap(0); + this.hiddenUpdates = createLaneMap(null); + this.identifierPrefix = identifierPrefix; + this.onUncaughtError = onUncaughtError; + this.onCaughtError = onCaughtError; + this.onRecoverableError = onRecoverableError; + this.pooledCache = null; + this.pooledCacheLanes = 0; + this.formState = formState; + this.incompleteTransitions = /* @__PURE__ */ new Map(); + this.passiveEffectDuration = this.effectDuration = -0; + this.memoizedUpdaters = /* @__PURE__ */ new Set(); + containerInfo = this.pendingUpdatersLaneMap = []; + for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set()); + this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()"; + } + function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) { + containerInfo = new FiberRootNode( + containerInfo, + tag, + hydrate, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + formState + ); + tag = ConcurrentMode; + true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode); + isDevToolsPresent && (tag |= ProfileMode); + isStrictMode = createFiber(3, null, null, tag); + containerInfo.current = isStrictMode; + isStrictMode.stateNode = containerInfo; + tag = createCache(); + retainCache(tag); + containerInfo.pooledCache = tag; + retainCache(tag); + isStrictMode.memoizedState = { + element: initialChildren, + isDehydrated: hydrate, + cache: tag + }; + initializeUpdateQueue(isStrictMode); + return containerInfo; + } + function getContextForSubtree(parentComponent) { + if (!parentComponent) return emptyContextObject; + parentComponent = emptyContextObject; + return parentComponent; + } + function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) { + if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot) + try { + injectedHook.onScheduleFiberRoot(rendererID, container, element); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderScheduled && injectedProfilingHooks.markRenderScheduled(lane); + parentComponent = getContextForSubtree(parentComponent); + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error( + "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.", + getComponentNameFromFiber(current) || "Unknown" + )); + container = createUpdate(lane); + container.payload = { element }; + callback = void 0 === callback ? null : callback; + null !== callback && ("function" !== typeof callback && console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + ), container.callback = callback); + element = enqueueUpdate(rootFiber, container, lane); + null !== element && (scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane)); + } + function markRetryLaneImpl(fiber, retryLane) { + fiber = fiber.memoizedState; + if (null !== fiber && null !== fiber.dehydrated) { + var a = fiber.retryLane; + fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane; + } + } + function markRetryLaneIfNotHydrated(fiber, retryLane) { + markRetryLaneImpl(fiber, retryLane); + (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane); + } + function attemptContinuousHydration(fiber) { + if (13 === fiber.tag) { + var root2 = enqueueConcurrentRenderForLane(fiber, 67108864); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864); + markRetryLaneIfNotHydrated(fiber, 67108864); + } + } + function getCurrentFiberForDevTools() { + return current; + } + function getLaneLabelMap() { + for (var map = /* @__PURE__ */ new Map(), lane = 1, index = 0; 31 > index; index++) { + var label = getLabelForLane(lane); + map.set(lane, label); + lane *= 2; + } + return map; + } + function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (_enabled) { + var blockedOn = findInstanceBlockingEvent(nativeEvent); + if (null === blockedOn) + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ), clearIfContinuousEvent(domEventName, nativeEvent); + else if (queueIfContinuousEvent( + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + )) + nativeEvent.stopPropagation(); + else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) { + for (; null !== blockedOn; ) { + var fiber = getInstanceFromNode(blockedOn); + if (null !== fiber) + switch (fiber.tag) { + case 3: + fiber = fiber.stateNode; + if (fiber.current.memoizedState.isDehydrated) { + var lanes = getHighestPriorityLanes(fiber.pendingLanes); + if (0 !== lanes) { + var root2 = fiber; + root2.pendingLanes |= 2; + for (root2.entangledLanes |= 2; lanes; ) { + var lane = 1 << 31 - clz32(lanes); + root2.entanglements[1] |= lane; + lanes &= ~lane; + } + ensureRootIsScheduled(fiber); + (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false)); + } + } + break; + case 13: + root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2); + } + fiber = findInstanceBlockingEvent(nativeEvent); + null === fiber && dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ); + if (fiber === blockedOn) break; + blockedOn = fiber; + } + null !== blockedOn && nativeEvent.stopPropagation(); + } else + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + null, + targetContainer + ); + } + } + function findInstanceBlockingEvent(nativeEvent) { + nativeEvent = getEventTarget(nativeEvent); + return findInstanceBlockingTarget(nativeEvent); + } + function findInstanceBlockingTarget(targetNode) { + return_targetInst = null; + targetNode = getClosestInstanceFromNode(targetNode); + if (null !== targetNode) { + var nearestMounted = getNearestMountedFiber(targetNode); + if (null === nearestMounted) targetNode = null; + else { + var tag = nearestMounted.tag; + if (13 === tag) { + targetNode = getSuspenseInstanceFromFiber(nearestMounted); + if (null !== targetNode) return targetNode; + targetNode = null; + } else if (3 === tag) { + if (nearestMounted.stateNode.current.memoizedState.isDehydrated) + return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + targetNode = null; + } else nearestMounted !== targetNode && (targetNode = null); + } + } + return_targetInst = targetNode; + return null; + } + function getEventPriority(domEventName) { + switch (domEventName) { + case "beforetoggle": + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "toggle": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return DiscreteEventPriority; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return ContinuousEventPriority; + case "message": + switch (getCurrentPriorityLevel()) { + case ImmediatePriority: + return DiscreteEventPriority; + case UserBlockingPriority: + return ContinuousEventPriority; + case NormalPriority$1: + case LowPriority: + return DefaultEventPriority; + case IdlePriority: + return IdleEventPriority; + default: + return DefaultEventPriority; + } + default: + return DefaultEventPriority; + } + } + function clearIfContinuousEvent(domEventName, nativeEvent) { + switch (domEventName) { + case "focusin": + case "focusout": + queuedFocus = null; + break; + case "dragenter": + case "dragleave": + queuedDrag = null; + break; + case "mouseover": + case "mouseout": + queuedMouse = null; + break; + case "pointerover": + case "pointerout": + queuedPointers.delete(nativeEvent.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + queuedPointerCaptures.delete(nativeEvent.pointerId); + } + } + function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent) + return existingQueuedEvent = { + blockedOn, + domEventName, + eventSystemFlags, + nativeEvent, + targetContainers: [targetContainer] + }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent; + existingQueuedEvent.eventSystemFlags |= eventSystemFlags; + blockedOn = existingQueuedEvent.targetContainers; + null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer); + return existingQueuedEvent; + } + function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + switch (domEventName) { + case "focusin": + return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedFocus, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "dragenter": + return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedDrag, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "mouseover": + return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedMouse, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "pointerover": + var pointerId = nativeEvent.pointerId; + queuedPointers.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointers.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ); + return true; + case "gotpointercapture": + return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointerCaptures.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ), true; + } + return false; + } + function attemptExplicitHydrationTarget(queuedTarget) { + var targetInst = getClosestInstanceFromNode(queuedTarget.target); + if (null !== targetInst) { + var nearestMounted = getNearestMountedFiber(targetInst); + if (null !== nearestMounted) { + if (targetInst = nearestMounted.tag, 13 === targetInst) { + if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) { + queuedTarget.blockedOn = targetInst; + runWithPriority(queuedTarget.priority, function() { + if (13 === nearestMounted.tag) { + var lane = requestUpdateLane(nearestMounted); + lane = getBumpedLaneForHydrationByLane(lane); + var root2 = enqueueConcurrentRenderForLane( + nearestMounted, + lane + ); + null !== root2 && scheduleUpdateOnFiber(root2, nearestMounted, lane); + markRetryLaneIfNotHydrated(nearestMounted, lane); + } + }); + return; + } + } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) { + queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + return; + } + } + } + queuedTarget.blockedOn = null; + } + function attemptReplayContinuousQueuedEvent(queuedEvent) { + if (null !== queuedEvent.blockedOn) return false; + for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) { + var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent); + if (null === nextBlockedOn) { + nextBlockedOn = queuedEvent.nativeEvent; + var nativeEventClone = new nextBlockedOn.constructor( + nextBlockedOn.type, + nextBlockedOn + ), event = nativeEventClone; + null !== currentReplayingEvent && console.error( + "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = event; + nextBlockedOn.target.dispatchEvent(nativeEventClone); + null === currentReplayingEvent && console.error( + "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = null; + } else + return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false; + targetContainers.shift(); + } + return true; + } + function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { + attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key); + } + function replayUnblockedEvents() { + hasScheduledReplayAttempt = false; + null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null); + null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null); + null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null); + queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); + queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); + } + function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { + queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + replayUnblockedEvents + ))); + } + function scheduleReplayQueueIfNeeded(formReplayingQueue) { + lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + function() { + lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null); + for (var i = 0; i < formReplayingQueue.length; i += 3) { + var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2]; + if ("function" !== typeof submitterOrAction) + if (null === findInstanceBlockingTarget(submitterOrAction || form)) + continue; + else break; + var formInst = getInstanceFromNode(form); + null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = { + pending: true, + data: formData, + method: form.method, + action: submitterOrAction + }, Object.freeze(form), startHostTransition( + formInst, + form, + submitterOrAction, + formData + )); + } + } + )); + } + function retryIfBlockedOn(unblocked) { + function unblock(queuedEvent) { + return scheduleCallbackIfUnblocked(queuedEvent, unblocked); + } + null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked); + null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked); + null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked); + queuedPointers.forEach(unblock); + queuedPointerCaptures.forEach(unblock); + for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) { + var queuedTarget = queuedExplicitHydrationTargets[i]; + queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null); + } + for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); ) + attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift(); + i = (unblocked.ownerDocument || unblocked).$$reactFormReplay; + if (null != i) + for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) { + var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null; + if ("function" === typeof submitterOrAction) + formProps || scheduleReplayQueueIfNeeded(i); + else if (formProps) { + var action = null; + if (submitterOrAction && submitterOrAction.hasAttribute("formAction")) + if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null) + action = formProps.formAction; + else { + if (null !== findInstanceBlockingTarget(form)) continue; + } + else action = formProps.action; + "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3); + scheduleReplayQueueIfNeeded(i); + } + } + } + function ReactDOMRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function ReactDOMHydrationRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function warnIfReactDOMContainerInDEV(container) { + container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error( + "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported." + ) : console.error( + "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it." + )); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var Scheduler = require_scheduler(), React2 = require_react(), ReactDOM2 = require_react_dom(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_PROVIDER_TYPE = Symbol.for("react.provider"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"); + Symbol.for("react.scope"); + var REACT_ACTIVITY_TYPE = Symbol.for("react.activity"); + Symbol.for("react.legacy_hidden"); + Symbol.for("react.tracing_marker"); + var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); + Symbol.for("react.view_transition"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React2.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM2.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({ + pending: false, + data: null, + method: null, + action: null + }), valueStack = []; + var fiberStack = []; + var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, injectedProfilingHooks = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionLane = 256, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = { + button: true, + checkbox: true, + image: true, + hidden: true, + radio: true, + reset: true, + submit: true + }, VALID_ATTRIBUTE_NAME_REGEX = RegExp( + "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd; + disabledLog.__reactDisabledLog = true; + var prefix, suffix, reentry = false; + var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)(); + var current = null, isRendering = false, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false; + var didWarnValueDefaultValue = false; + var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp".split( + " " + ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split( + " " + ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = { + current: null, + formTag: null, + aTagInScope: null, + buttonTagInScope: null, + nobrTagInScope: null, + pTagInButtonScope: null, + listItemTagAutoclosing: null, + dlItemTagAutoclosing: null, + containerTagInScope: null, + implicitRootScope: false + }, didWarn = {}, shorthandToLonghand = { + animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split( + " " + ), + background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split( + " " + ), + backgroundPosition: ["backgroundPositionX", "backgroundPositionY"], + border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split( + " " + ), + borderBlockEnd: [ + "borderBlockEndColor", + "borderBlockEndStyle", + "borderBlockEndWidth" + ], + borderBlockStart: [ + "borderBlockStartColor", + "borderBlockStartStyle", + "borderBlockStartWidth" + ], + borderBottom: [ + "borderBottomColor", + "borderBottomStyle", + "borderBottomWidth" + ], + borderColor: [ + "borderBottomColor", + "borderLeftColor", + "borderRightColor", + "borderTopColor" + ], + borderImage: [ + "borderImageOutset", + "borderImageRepeat", + "borderImageSlice", + "borderImageSource", + "borderImageWidth" + ], + borderInlineEnd: [ + "borderInlineEndColor", + "borderInlineEndStyle", + "borderInlineEndWidth" + ], + borderInlineStart: [ + "borderInlineStartColor", + "borderInlineStartStyle", + "borderInlineStartWidth" + ], + borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"], + borderRadius: [ + "borderBottomLeftRadius", + "borderBottomRightRadius", + "borderTopLeftRadius", + "borderTopRightRadius" + ], + borderRight: [ + "borderRightColor", + "borderRightStyle", + "borderRightWidth" + ], + borderStyle: [ + "borderBottomStyle", + "borderLeftStyle", + "borderRightStyle", + "borderTopStyle" + ], + borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"], + borderWidth: [ + "borderBottomWidth", + "borderLeftWidth", + "borderRightWidth", + "borderTopWidth" + ], + columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"], + columns: ["columnCount", "columnWidth"], + flex: ["flexBasis", "flexGrow", "flexShrink"], + flexFlow: ["flexDirection", "flexWrap"], + font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split( + " " + ), + fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split( + " " + ), + gap: ["columnGap", "rowGap"], + grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split( + " " + ), + gridArea: [ + "gridColumnEnd", + "gridColumnStart", + "gridRowEnd", + "gridRowStart" + ], + gridColumn: ["gridColumnEnd", "gridColumnStart"], + gridColumnGap: ["columnGap"], + gridGap: ["columnGap", "rowGap"], + gridRow: ["gridRowEnd", "gridRowStart"], + gridRowGap: ["rowGap"], + gridTemplate: [ + "gridTemplateAreas", + "gridTemplateColumns", + "gridTemplateRows" + ], + listStyle: ["listStyleImage", "listStylePosition", "listStyleType"], + margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"], + marker: ["markerEnd", "markerMid", "markerStart"], + mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split( + " " + ), + maskPosition: ["maskPositionX", "maskPositionY"], + outline: ["outlineColor", "outlineStyle", "outlineWidth"], + overflow: ["overflowX", "overflowY"], + padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"], + placeContent: ["alignContent", "justifyContent"], + placeItems: ["alignItems", "justifyItems"], + placeSelf: ["alignSelf", "justifySelf"], + textDecoration: [ + "textDecorationColor", + "textDecorationLine", + "textDecorationStyle" + ], + textEmphasis: ["textEmphasisColor", "textEmphasisStyle"], + transition: [ + "transitionDelay", + "transitionDuration", + "transitionProperty", + "transitionTimingFunction" + ], + wordWrap: ["overflowWrap"] + }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set( + "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( + " " + ) + ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([ + ["acceptCharset", "accept-charset"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"], + ["crossOrigin", "crossorigin"], + ["accentHeight", "accent-height"], + ["alignmentBaseline", "alignment-baseline"], + ["arabicForm", "arabic-form"], + ["baselineShift", "baseline-shift"], + ["capHeight", "cap-height"], + ["clipPath", "clip-path"], + ["clipRule", "clip-rule"], + ["colorInterpolation", "color-interpolation"], + ["colorInterpolationFilters", "color-interpolation-filters"], + ["colorProfile", "color-profile"], + ["colorRendering", "color-rendering"], + ["dominantBaseline", "dominant-baseline"], + ["enableBackground", "enable-background"], + ["fillOpacity", "fill-opacity"], + ["fillRule", "fill-rule"], + ["floodColor", "flood-color"], + ["floodOpacity", "flood-opacity"], + ["fontFamily", "font-family"], + ["fontSize", "font-size"], + ["fontSizeAdjust", "font-size-adjust"], + ["fontStretch", "font-stretch"], + ["fontStyle", "font-style"], + ["fontVariant", "font-variant"], + ["fontWeight", "font-weight"], + ["glyphName", "glyph-name"], + ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], + ["glyphOrientationVertical", "glyph-orientation-vertical"], + ["horizAdvX", "horiz-adv-x"], + ["horizOriginX", "horiz-origin-x"], + ["imageRendering", "image-rendering"], + ["letterSpacing", "letter-spacing"], + ["lightingColor", "lighting-color"], + ["markerEnd", "marker-end"], + ["markerMid", "marker-mid"], + ["markerStart", "marker-start"], + ["overlinePosition", "overline-position"], + ["overlineThickness", "overline-thickness"], + ["paintOrder", "paint-order"], + ["panose-1", "panose-1"], + ["pointerEvents", "pointer-events"], + ["renderingIntent", "rendering-intent"], + ["shapeRendering", "shape-rendering"], + ["stopColor", "stop-color"], + ["stopOpacity", "stop-opacity"], + ["strikethroughPosition", "strikethrough-position"], + ["strikethroughThickness", "strikethrough-thickness"], + ["strokeDasharray", "stroke-dasharray"], + ["strokeDashoffset", "stroke-dashoffset"], + ["strokeLinecap", "stroke-linecap"], + ["strokeLinejoin", "stroke-linejoin"], + ["strokeMiterlimit", "stroke-miterlimit"], + ["strokeOpacity", "stroke-opacity"], + ["strokeWidth", "stroke-width"], + ["textAnchor", "text-anchor"], + ["textDecoration", "text-decoration"], + ["textRendering", "text-rendering"], + ["transformOrigin", "transform-origin"], + ["underlinePosition", "underline-position"], + ["underlineThickness", "underline-thickness"], + ["unicodeBidi", "unicode-bidi"], + ["unicodeRange", "unicode-range"], + ["unitsPerEm", "units-per-em"], + ["vAlphabetic", "v-alphabetic"], + ["vHanging", "v-hanging"], + ["vIdeographic", "v-ideographic"], + ["vMathematical", "v-mathematical"], + ["vectorEffect", "vector-effect"], + ["vertAdvY", "vert-adv-y"], + ["vertOriginX", "vert-origin-x"], + ["vertOriginY", "vert-origin-y"], + ["wordSpacing", "word-spacing"], + ["writingMode", "writing-mode"], + ["xmlnsXlink", "xmlns:xlink"], + ["xHeight", "x-height"] + ]), possibleStandardNames = { + accept: "accept", + acceptcharset: "acceptCharset", + "accept-charset": "acceptCharset", + accesskey: "accessKey", + action: "action", + allowfullscreen: "allowFullScreen", + alt: "alt", + as: "as", + async: "async", + autocapitalize: "autoCapitalize", + autocomplete: "autoComplete", + autocorrect: "autoCorrect", + autofocus: "autoFocus", + autoplay: "autoPlay", + autosave: "autoSave", + capture: "capture", + cellpadding: "cellPadding", + cellspacing: "cellSpacing", + challenge: "challenge", + charset: "charSet", + checked: "checked", + children: "children", + cite: "cite", + class: "className", + classid: "classID", + classname: "className", + cols: "cols", + colspan: "colSpan", + content: "content", + contenteditable: "contentEditable", + contextmenu: "contextMenu", + controls: "controls", + controlslist: "controlsList", + coords: "coords", + crossorigin: "crossOrigin", + dangerouslysetinnerhtml: "dangerouslySetInnerHTML", + data: "data", + datetime: "dateTime", + default: "default", + defaultchecked: "defaultChecked", + defaultvalue: "defaultValue", + defer: "defer", + dir: "dir", + disabled: "disabled", + disablepictureinpicture: "disablePictureInPicture", + disableremoteplayback: "disableRemotePlayback", + download: "download", + draggable: "draggable", + enctype: "encType", + enterkeyhint: "enterKeyHint", + fetchpriority: "fetchPriority", + for: "htmlFor", + form: "form", + formmethod: "formMethod", + formaction: "formAction", + formenctype: "formEncType", + formnovalidate: "formNoValidate", + formtarget: "formTarget", + frameborder: "frameBorder", + headers: "headers", + height: "height", + hidden: "hidden", + high: "high", + href: "href", + hreflang: "hrefLang", + htmlfor: "htmlFor", + httpequiv: "httpEquiv", + "http-equiv": "httpEquiv", + icon: "icon", + id: "id", + imagesizes: "imageSizes", + imagesrcset: "imageSrcSet", + inert: "inert", + innerhtml: "innerHTML", + inputmode: "inputMode", + integrity: "integrity", + is: "is", + itemid: "itemID", + itemprop: "itemProp", + itemref: "itemRef", + itemscope: "itemScope", + itemtype: "itemType", + keyparams: "keyParams", + keytype: "keyType", + kind: "kind", + label: "label", + lang: "lang", + list: "list", + loop: "loop", + low: "low", + manifest: "manifest", + marginwidth: "marginWidth", + marginheight: "marginHeight", + max: "max", + maxlength: "maxLength", + media: "media", + mediagroup: "mediaGroup", + method: "method", + min: "min", + minlength: "minLength", + multiple: "multiple", + muted: "muted", + name: "name", + nomodule: "noModule", + nonce: "nonce", + novalidate: "noValidate", + open: "open", + optimum: "optimum", + pattern: "pattern", + placeholder: "placeholder", + playsinline: "playsInline", + poster: "poster", + preload: "preload", + profile: "profile", + radiogroup: "radioGroup", + readonly: "readOnly", + referrerpolicy: "referrerPolicy", + rel: "rel", + required: "required", + reversed: "reversed", + role: "role", + rows: "rows", + rowspan: "rowSpan", + sandbox: "sandbox", + scope: "scope", + scoped: "scoped", + scrolling: "scrolling", + seamless: "seamless", + selected: "selected", + shape: "shape", + size: "size", + sizes: "sizes", + span: "span", + spellcheck: "spellCheck", + src: "src", + srcdoc: "srcDoc", + srclang: "srcLang", + srcset: "srcSet", + start: "start", + step: "step", + style: "style", + summary: "summary", + tabindex: "tabIndex", + target: "target", + title: "title", + type: "type", + usemap: "useMap", + value: "value", + width: "width", + wmode: "wmode", + wrap: "wrap", + about: "about", + accentheight: "accentHeight", + "accent-height": "accentHeight", + accumulate: "accumulate", + additive: "additive", + alignmentbaseline: "alignmentBaseline", + "alignment-baseline": "alignmentBaseline", + allowreorder: "allowReorder", + alphabetic: "alphabetic", + amplitude: "amplitude", + arabicform: "arabicForm", + "arabic-form": "arabicForm", + ascent: "ascent", + attributename: "attributeName", + attributetype: "attributeType", + autoreverse: "autoReverse", + azimuth: "azimuth", + basefrequency: "baseFrequency", + baselineshift: "baselineShift", + "baseline-shift": "baselineShift", + baseprofile: "baseProfile", + bbox: "bbox", + begin: "begin", + bias: "bias", + by: "by", + calcmode: "calcMode", + capheight: "capHeight", + "cap-height": "capHeight", + clip: "clip", + clippath: "clipPath", + "clip-path": "clipPath", + clippathunits: "clipPathUnits", + cliprule: "clipRule", + "clip-rule": "clipRule", + color: "color", + colorinterpolation: "colorInterpolation", + "color-interpolation": "colorInterpolation", + colorinterpolationfilters: "colorInterpolationFilters", + "color-interpolation-filters": "colorInterpolationFilters", + colorprofile: "colorProfile", + "color-profile": "colorProfile", + colorrendering: "colorRendering", + "color-rendering": "colorRendering", + contentscripttype: "contentScriptType", + contentstyletype: "contentStyleType", + cursor: "cursor", + cx: "cx", + cy: "cy", + d: "d", + datatype: "datatype", + decelerate: "decelerate", + descent: "descent", + diffuseconstant: "diffuseConstant", + direction: "direction", + display: "display", + divisor: "divisor", + dominantbaseline: "dominantBaseline", + "dominant-baseline": "dominantBaseline", + dur: "dur", + dx: "dx", + dy: "dy", + edgemode: "edgeMode", + elevation: "elevation", + enablebackground: "enableBackground", + "enable-background": "enableBackground", + end: "end", + exponent: "exponent", + externalresourcesrequired: "externalResourcesRequired", + fill: "fill", + fillopacity: "fillOpacity", + "fill-opacity": "fillOpacity", + fillrule: "fillRule", + "fill-rule": "fillRule", + filter: "filter", + filterres: "filterRes", + filterunits: "filterUnits", + floodopacity: "floodOpacity", + "flood-opacity": "floodOpacity", + floodcolor: "floodColor", + "flood-color": "floodColor", + focusable: "focusable", + fontfamily: "fontFamily", + "font-family": "fontFamily", + fontsize: "fontSize", + "font-size": "fontSize", + fontsizeadjust: "fontSizeAdjust", + "font-size-adjust": "fontSizeAdjust", + fontstretch: "fontStretch", + "font-stretch": "fontStretch", + fontstyle: "fontStyle", + "font-style": "fontStyle", + fontvariant: "fontVariant", + "font-variant": "fontVariant", + fontweight: "fontWeight", + "font-weight": "fontWeight", + format: "format", + from: "from", + fx: "fx", + fy: "fy", + g1: "g1", + g2: "g2", + glyphname: "glyphName", + "glyph-name": "glyphName", + glyphorientationhorizontal: "glyphOrientationHorizontal", + "glyph-orientation-horizontal": "glyphOrientationHorizontal", + glyphorientationvertical: "glyphOrientationVertical", + "glyph-orientation-vertical": "glyphOrientationVertical", + glyphref: "glyphRef", + gradienttransform: "gradientTransform", + gradientunits: "gradientUnits", + hanging: "hanging", + horizadvx: "horizAdvX", + "horiz-adv-x": "horizAdvX", + horizoriginx: "horizOriginX", + "horiz-origin-x": "horizOriginX", + ideographic: "ideographic", + imagerendering: "imageRendering", + "image-rendering": "imageRendering", + in2: "in2", + in: "in", + inlist: "inlist", + intercept: "intercept", + k1: "k1", + k2: "k2", + k3: "k3", + k4: "k4", + k: "k", + kernelmatrix: "kernelMatrix", + kernelunitlength: "kernelUnitLength", + kerning: "kerning", + keypoints: "keyPoints", + keysplines: "keySplines", + keytimes: "keyTimes", + lengthadjust: "lengthAdjust", + letterspacing: "letterSpacing", + "letter-spacing": "letterSpacing", + lightingcolor: "lightingColor", + "lighting-color": "lightingColor", + limitingconeangle: "limitingConeAngle", + local: "local", + markerend: "markerEnd", + "marker-end": "markerEnd", + markerheight: "markerHeight", + markermid: "markerMid", + "marker-mid": "markerMid", + markerstart: "markerStart", + "marker-start": "markerStart", + markerunits: "markerUnits", + markerwidth: "markerWidth", + mask: "mask", + maskcontentunits: "maskContentUnits", + maskunits: "maskUnits", + mathematical: "mathematical", + mode: "mode", + numoctaves: "numOctaves", + offset: "offset", + opacity: "opacity", + operator: "operator", + order: "order", + orient: "orient", + orientation: "orientation", + origin: "origin", + overflow: "overflow", + overlineposition: "overlinePosition", + "overline-position": "overlinePosition", + overlinethickness: "overlineThickness", + "overline-thickness": "overlineThickness", + paintorder: "paintOrder", + "paint-order": "paintOrder", + panose1: "panose1", + "panose-1": "panose1", + pathlength: "pathLength", + patterncontentunits: "patternContentUnits", + patterntransform: "patternTransform", + patternunits: "patternUnits", + pointerevents: "pointerEvents", + "pointer-events": "pointerEvents", + points: "points", + pointsatx: "pointsAtX", + pointsaty: "pointsAtY", + pointsatz: "pointsAtZ", + popover: "popover", + popovertarget: "popoverTarget", + popovertargetaction: "popoverTargetAction", + prefix: "prefix", + preservealpha: "preserveAlpha", + preserveaspectratio: "preserveAspectRatio", + primitiveunits: "primitiveUnits", + property: "property", + r: "r", + radius: "radius", + refx: "refX", + refy: "refY", + renderingintent: "renderingIntent", + "rendering-intent": "renderingIntent", + repeatcount: "repeatCount", + repeatdur: "repeatDur", + requiredextensions: "requiredExtensions", + requiredfeatures: "requiredFeatures", + resource: "resource", + restart: "restart", + result: "result", + results: "results", + rotate: "rotate", + rx: "rx", + ry: "ry", + scale: "scale", + security: "security", + seed: "seed", + shaperendering: "shapeRendering", + "shape-rendering": "shapeRendering", + slope: "slope", + spacing: "spacing", + specularconstant: "specularConstant", + specularexponent: "specularExponent", + speed: "speed", + spreadmethod: "spreadMethod", + startoffset: "startOffset", + stddeviation: "stdDeviation", + stemh: "stemh", + stemv: "stemv", + stitchtiles: "stitchTiles", + stopcolor: "stopColor", + "stop-color": "stopColor", + stopopacity: "stopOpacity", + "stop-opacity": "stopOpacity", + strikethroughposition: "strikethroughPosition", + "strikethrough-position": "strikethroughPosition", + strikethroughthickness: "strikethroughThickness", + "strikethrough-thickness": "strikethroughThickness", + string: "string", + stroke: "stroke", + strokedasharray: "strokeDasharray", + "stroke-dasharray": "strokeDasharray", + strokedashoffset: "strokeDashoffset", + "stroke-dashoffset": "strokeDashoffset", + strokelinecap: "strokeLinecap", + "stroke-linecap": "strokeLinecap", + strokelinejoin: "strokeLinejoin", + "stroke-linejoin": "strokeLinejoin", + strokemiterlimit: "strokeMiterlimit", + "stroke-miterlimit": "strokeMiterlimit", + strokewidth: "strokeWidth", + "stroke-width": "strokeWidth", + strokeopacity: "strokeOpacity", + "stroke-opacity": "strokeOpacity", + suppresscontenteditablewarning: "suppressContentEditableWarning", + suppresshydrationwarning: "suppressHydrationWarning", + surfacescale: "surfaceScale", + systemlanguage: "systemLanguage", + tablevalues: "tableValues", + targetx: "targetX", + targety: "targetY", + textanchor: "textAnchor", + "text-anchor": "textAnchor", + textdecoration: "textDecoration", + "text-decoration": "textDecoration", + textlength: "textLength", + textrendering: "textRendering", + "text-rendering": "textRendering", + to: "to", + transform: "transform", + transformorigin: "transformOrigin", + "transform-origin": "transformOrigin", + typeof: "typeof", + u1: "u1", + u2: "u2", + underlineposition: "underlinePosition", + "underline-position": "underlinePosition", + underlinethickness: "underlineThickness", + "underline-thickness": "underlineThickness", + unicode: "unicode", + unicodebidi: "unicodeBidi", + "unicode-bidi": "unicodeBidi", + unicoderange: "unicodeRange", + "unicode-range": "unicodeRange", + unitsperem: "unitsPerEm", + "units-per-em": "unitsPerEm", + unselectable: "unselectable", + valphabetic: "vAlphabetic", + "v-alphabetic": "vAlphabetic", + values: "values", + vectoreffect: "vectorEffect", + "vector-effect": "vectorEffect", + version: "version", + vertadvy: "vertAdvY", + "vert-adv-y": "vertAdvY", + vertoriginx: "vertOriginX", + "vert-origin-x": "vertOriginX", + vertoriginy: "vertOriginY", + "vert-origin-y": "vertOriginY", + vhanging: "vHanging", + "v-hanging": "vHanging", + videographic: "vIdeographic", + "v-ideographic": "vIdeographic", + viewbox: "viewBox", + viewtarget: "viewTarget", + visibility: "visibility", + vmathematical: "vMathematical", + "v-mathematical": "vMathematical", + vocab: "vocab", + widths: "widths", + wordspacing: "wordSpacing", + "word-spacing": "wordSpacing", + writingmode: "writingMode", + "writing-mode": "writingMode", + x1: "x1", + x2: "x2", + x: "x", + xchannelselector: "xChannelSelector", + xheight: "xHeight", + "x-height": "xHeight", + xlinkactuate: "xlinkActuate", + "xlink:actuate": "xlinkActuate", + xlinkarcrole: "xlinkArcrole", + "xlink:arcrole": "xlinkArcrole", + xlinkhref: "xlinkHref", + "xlink:href": "xlinkHref", + xlinkrole: "xlinkRole", + "xlink:role": "xlinkRole", + xlinkshow: "xlinkShow", + "xlink:show": "xlinkShow", + xlinktitle: "xlinkTitle", + "xlink:title": "xlinkTitle", + xlinktype: "xlinkType", + "xlink:type": "xlinkType", + xmlbase: "xmlBase", + "xml:base": "xmlBase", + xmllang: "xmlLang", + "xml:lang": "xmlLang", + xmlns: "xmlns", + "xml:space": "xmlSpace", + xmlnsxlink: "xmlnsXlink", + "xmlns:xlink": "xmlnsXlink", + xmlspace: "xmlSpace", + y1: "y1", + y2: "y2", + y: "y", + ychannelselector: "yChannelSelector", + z: "z", + zoomandpan: "zoomAndPan" + }, ariaProperties = { + "aria-current": 0, + "aria-description": 0, + "aria-details": 0, + "aria-disabled": 0, + "aria-hidden": 0, + "aria-invalid": 0, + "aria-keyshortcuts": 0, + "aria-label": 0, + "aria-roledescription": 0, + "aria-autocomplete": 0, + "aria-checked": 0, + "aria-expanded": 0, + "aria-haspopup": 0, + "aria-level": 0, + "aria-modal": 0, + "aria-multiline": 0, + "aria-multiselectable": 0, + "aria-orientation": 0, + "aria-placeholder": 0, + "aria-pressed": 0, + "aria-readonly": 0, + "aria-required": 0, + "aria-selected": 0, + "aria-sort": 0, + "aria-valuemax": 0, + "aria-valuemin": 0, + "aria-valuenow": 0, + "aria-valuetext": 0, + "aria-atomic": 0, + "aria-busy": 0, + "aria-live": 0, + "aria-relevant": 0, + "aria-dropeffect": 0, + "aria-grabbed": 0, + "aria-activedescendant": 0, + "aria-colcount": 0, + "aria-colindex": 0, + "aria-colspan": 0, + "aria-controls": 0, + "aria-describedby": 0, + "aria-errormessage": 0, + "aria-flowto": 0, + "aria-labelledby": 0, + "aria-owns": 0, + "aria-posinset": 0, + "aria-rowcount": 0, + "aria-rowindex": 0, + "aria-rowspan": 0, + "aria-setsize": 0 + }, warnedProperties$1 = {}, rARIA$1 = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel$1 = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false; + if (canUseDOM) + try { + var options$jscomp$0 = {}; + Object.defineProperty(options$jscomp$0, "passive", { + get: function() { + passiveBrowserEventsSupported = true; + } + }); + window.addEventListener("test", options$jscomp$0, options$jscomp$0); + window.removeEventListener("test", options$jscomp$0, options$jscomp$0); + } catch (e) { + passiveBrowserEventsSupported = false; + } + var root = null, startText = null, fallbackText = null, EventInterface = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: getEventModifierState, + button: 0, + buttons: 0, + relatedTarget: function(event) { + return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget; + }, + movementX: function(event) { + if ("movementX" in event) return event.movementX; + event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event); + return lastMovementX; + }, + movementY: function(event) { + return "movementY" in event ? event.movementY : lastMovementY; + } + }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, { + animationName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, { + clipboardData: function(event) { + return "clipboardData" in event ? event.clipboardData : window.clipboardData; + } + }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent( + CompositionEventInterface + ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, translateToKey = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, modifierKeyToProp = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }, KeyboardEventInterface = assign({}, UIEventInterface, { + key: function(nativeEvent) { + if (nativeEvent.key) { + var key = normalizeKey[nativeEvent.key] || nativeEvent.key; + if ("Unidentified" !== key) return key; + } + return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: getEventModifierState, + charCode: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : 0; + }, + keyCode: function(event) { + return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + }, + which: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + } + }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: getEventModifierState + }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, { + propertyName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, { + deltaX: function(event) { + return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; + }, + deltaY: function(event) { + return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, { + newState: 0, + oldState: 0 + }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null; + canUseDOM && "documentMode" in document && (documentMode = document.documentMode); + var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = { + color: true, + date: true, + datetime: true, + "datetime-local": true, + email: true, + month: true, + number: true, + password: true, + range: true, + search: true, + tel: true, + text: true, + time: true, + url: true, + week: true + }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false; + canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode)); + var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = { + animationend: makePrefixMap("Animation", "AnimationEnd"), + animationiteration: makePrefixMap("Animation", "AnimationIteration"), + animationstart: makePrefixMap("Animation", "AnimationStart"), + transitionrun: makePrefixMap("Transition", "TransitionRun"), + transitionstart: makePrefixMap("Transition", "TransitionStart"), + transitioncancel: makePrefixMap("Transition", "TransitionCancel"), + transitionend: makePrefixMap("Transition", "TransitionEnd") + }, prefixedEventNames = {}, style = {}; + canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition); + var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split( + " " + ); + simpleEventPluginEvents.push("scrollEnd"); + var CapturedStacks = /* @__PURE__ */ new WeakMap(), OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {}; + Object.freeze(emptyContextObject); + var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, NoStrictPassiveEffectsMode = 64; + var hasBadMapPolyfill = false; + try { + var nonExtensibleObject = Object.preventExtensions({}); + /* @__PURE__ */ new Map([[nonExtensibleObject, null]]); + /* @__PURE__ */ new Set([nonExtensibleObject]); + } catch (e$3) { + hasBadMapPolyfill = true; + } + var forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error( + "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), lastResetTime = 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + var getCurrentTime = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date; + getCurrentTime = function() { + return localDate.now(); + }; + } + var valueCursor = createCursor(null); + var rendererCursorDEV = createCursor(null); + var rendererSigil = {}; + var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() { + var listeners = [], signal = this.signal = { + aborted: false, + addEventListener: function(type, listener) { + listeners.push(listener); + } + }; + this.abort = function() { + signal.aborted = true; + listeners.forEach(function(listener) { + return listener(); + }); + }; + }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { + $$typeof: REACT_CONTEXT_TYPE, + Consumer: null, + Provider: null, + _currentValue: null, + _currentValue2: null, + _threadCount: 0, + _currentRenderer: null, + _currentRenderer2: null + }, now = Scheduler.unstable_now, renderStartTime = -0, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S; + ReactSharedInternals.S = function(transition, returnValue) { + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); + null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); + }; + var resumedCache = createCursor(null), ReactStrictModeWarnings = { + recordUnsafeLifecycleWarnings: function() { + }, + flushPendingUnsafeLifecycleWarnings: function() { + }, + recordLegacyContextWarning: function() { + }, + flushLegacyContextWarning: function() { + }, + discardPendingWarnings: function() { + } + }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { + didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber)); + }; + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { + var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) { + componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillMountWarnings = []); + var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { + UNSAFE_componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillMountWarnings = []); + var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { + componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillReceivePropsWarnings = []); + var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach( + function(fiber) { + UNSAFE_componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + } + ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []); + var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) { + componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillUpdateWarnings = []); + var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { + UNSAFE_componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillUpdateWarnings = []); + if (0 < UNSAFE_componentWillMountUniqueNames.size) { + var sortedNames = setToSortedString( + UNSAFE_componentWillMountUniqueNames + ); + console.error( + "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", + sortedNames + ); + } + 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillReceivePropsUniqueNames + ), console.error( + "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s", + sortedNames + )); + 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillUpdateUniqueNames + ), console.error( + "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn( + "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + componentWillReceivePropsUniqueNames + ), console.warn( + "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn( + "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + }; + var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { + var strictRoot = null; + for (var node = fiber; null !== node; ) + node.mode & StrictLegacyMode && (strictRoot = node), node = node.return; + null === strictRoot ? console.error( + "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue." + ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber)); + }; + ReactStrictModeWarnings.flushLegacyContextWarning = function() { + pendingLegacyContextWarning.forEach(function(fiberArray) { + if (0 !== fiberArray.length) { + var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set(); + fiberArray.forEach(function(fiber) { + uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + runWithFiberInDEV(firstFiber, function() { + console.error( + "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context", + sortedNames + ); + }); + } + }); + }; + ReactStrictModeWarnings.discardPendingWarnings = function() { + pendingComponentWillMountWarnings = []; + pendingUNSAFE_ComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingUNSAFE_ComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUNSAFE_ComponentWillUpdateWarnings = []; + pendingLegacyContextWarning = /* @__PURE__ */ new Map(); + }; + var SuspenseException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`." + ), SuspenseyCommitException = Error( + "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), SuspenseActionException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary." + ), noopSuspenseyCommitThenable = { + then: function() { + console.error( + 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.' + ); + } + }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false; + var didWarnUpdateInsideUpdate = false; + var currentlyProcessingQueue = null; + var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), didWarnUncachedGetSnapshot; + var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set(); + var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseFormState = /* @__PURE__ */ new Set(); + var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter$1 = 0, thenableState$1 = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = { + readContext, + use, + useCallback: throwInvalidHookError, + useContext: throwInvalidHookError, + useEffect: throwInvalidHookError, + useImperativeHandle: throwInvalidHookError, + useLayoutEffect: throwInvalidHookError, + useInsertionEffect: throwInvalidHookError, + useMemo: throwInvalidHookError, + useReducer: throwInvalidHookError, + useRef: throwInvalidHookError, + useState: throwInvalidHookError, + useDebugValue: throwInvalidHookError, + useDeferredValue: throwInvalidHookError, + useTransition: throwInvalidHookError, + useSyncExternalStore: throwInvalidHookError, + useId: throwInvalidHookError, + useHostTransitionStatus: throwInvalidHookError, + useFormState: throwInvalidHookError, + useActionState: throwInvalidHookError, + useOptimistic: throwInvalidHookError, + useMemoCache: throwInvalidHookError, + useCacheRefresh: throwInvalidHookError + }, HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null; + HooksDispatcherOnMountInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(createDeps); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + mountHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnMountWithHookTypesInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return mountId(); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return mountActionState(action, initialState); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + HooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnMountInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + InvalidNestedHooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + var callComponent = { + react_stack_bottom_frame: function(Component, props, secondArg) { + var wasRendering = isRendering; + isRendering = true; + try { + return Component(props, secondArg); + } finally { + isRendering = wasRendering; + } + } + }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = { + react_stack_bottom_frame: function(instance) { + var wasRendering = isRendering; + isRendering = true; + try { + return instance.render(); + } finally { + isRendering = wasRendering; + } + } + }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = { + react_stack_bottom_frame: function(finishedWork, instance) { + try { + instance.componentDidMount(); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind( + callComponentDidMount + ), callComponentDidUpdate = { + react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) { + try { + instance.componentDidUpdate(prevProps, prevState, snapshot); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind( + callComponentDidUpdate + ), callComponentDidCatch = { + react_stack_bottom_frame: function(instance, errorInfo) { + var stack = errorInfo.stack; + instance.componentDidCatch(errorInfo.value, { + componentStack: null !== stack ? stack : "" + }); + } + }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind( + callComponentDidCatch + ), callComponentWillUnmount = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) { + try { + instance.componentWillUnmount(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind( + callComponentWillUnmount + ), callCreate = { + react_stack_bottom_frame: function(effect) { + null != effect.resourceKind && console.error( + "Expected only SimpleEffects when enableUseEffectCRUDOverload is disabled, got %s", + effect.resourceKind + ); + var create = effect.create; + effect = effect.inst; + create = create(); + return effect.destroy = create; + } + }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) { + try { + destroy(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = { + react_stack_bottom_frame: function(lazy2) { + var init = lazy2._init; + return init(lazy2._payload); + } + }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), thenableState = null, thenableIndexCounter = 0, currentDebugInfo = null, didWarnAboutMaps; + var didWarnAboutGenerators = didWarnAboutMaps = false; + var ownerHasKeyUseWarning = {}; + var ownerHasFunctionTypeWarning = {}; + var ownerHasSymbolTypeWarning = {}; + warnForMissingKey = function(returnFiber, workInProgress2, child) { + if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) { + if ("object" !== typeof child._store) + throw Error( + "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." + ); + child._store.validated = 1; + var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null"; + if (!ownerHasKeyUseWarning[componentKey]) { + ownerHasKeyUseWarning[componentKey] = true; + child = child._owner; + returnFiber = returnFiber._debugOwner; + var currentComponentErrorInfo = ""; + returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`."); + currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">."); + var childOwnerAppendix = ""; + null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + ".")); + runWithFiberInDEV(workInProgress2, function() { + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + currentComponentErrorInfo, + childOwnerAppendix + ); + }); + } + } + }; + var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), fakeInternalInstance = {}; + var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUninitializedState = /* @__PURE__ */ new Set(); + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set(); + var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set(); + var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set(); + var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set(); + var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set(); + var didWarnOnInvalidCallback = /* @__PURE__ */ new Set(); + Object.freeze(fakeInternalInstance); + var classComponentUpdater = { + enqueueSetState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueReplaceState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ReplaceState; + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueForceUpdate: function(inst, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ForceUpdate; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + callback = enqueueUpdate(inst, update, lane); + null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane)); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markForceUpdateScheduled && injectedProfilingHooks.markForceUpdateScheduled(inst, lane); + } + }, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error( + "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue." + ), didReceiveUpdate = false; + var didWarnAboutBadClass = {}; + var didWarnAboutContextTypeOnFunctionComponent = {}; + var didWarnAboutContextTypes = {}; + var didWarnAboutGetDerivedStateOnFunctionComponent = {}; + var didWarnAboutReassigningProps = false; + var didWarnAboutRevealOrder = {}; + var didWarnAboutTailOptions = {}; + var SUSPENDED_MARKER = { + dehydrated: null, + treeContext: null, + retryLane: 0, + hydrationErrors: null + }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null; + didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set(); + var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = { + getCacheForType: function(resourceType) { + var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType); + void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType)); + return cacheForType; + }, + getOwner: function() { + return current; + } + }; + if ("function" === typeof Symbol && Symbol.for) { + var symbolFor = Symbol.for; + symbolFor("selector.component"); + symbolFor("selector.has_pseudo_class"); + symbolFor("selector.role"); + symbolFor("selector.test_id"); + symbolFor("selector.text"); + } + var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, SUSPENDED_COMMIT = 1, THROTTLED_COMMIT = 2, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false; + var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set(); + var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {}; + (function() { + for (var i = 0; i < simpleEventPluginEvents.length; i++) { + var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase(); + eventName = eventName[0].toUpperCase() + eventName.slice(1); + registerSimpleEvent(domEventName, "on" + eventName); + } + registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); + registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration"); + registerSimpleEvent(ANIMATION_START, "onAnimationStart"); + registerSimpleEvent("dblclick", "onDoubleClick"); + registerSimpleEvent("focusin", "onFocus"); + registerSimpleEvent("focusout", "onBlur"); + registerSimpleEvent(TRANSITION_RUN, "onTransitionRun"); + registerSimpleEvent(TRANSITION_START, "onTransitionStart"); + registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel"); + registerSimpleEvent(TRANSITION_END, "onTransitionEnd"); + })(); + registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]); + registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]); + registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]); + registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]); + registerTwoPhaseEvent( + "onChange", + "change click focusin focusout input keydown keyup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent("onBeforeInput", [ + "compositionend", + "keypress", + "textInput", + "paste" + ]); + registerTwoPhaseEvent( + "onCompositionEnd", + "compositionend focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionStart", + "compositionstart focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionUpdate", + "compositionupdate focusout keydown keypress keyup mousedown".split(" ") + ); + var mediaEventTypes = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), nonDelegatedEvents = new Set( + "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes) + ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false; + var didWarnForNewBooleanPropsWithEmptyValue = {}; + var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = 1, PREAMBLE_CONTRIBUTION_BODY = 2, PREAMBLE_CONTRIBUTION_HEAD = 4, FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_COMPLETE = "complete", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) { + return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick); + } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d; + ReactDOMSharedInternals.d = { + f: function() { + var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1(); + return previousWasRendering || wasRendering; + }, + r: function(form) { + var formInst = getInstanceFromNode(form); + null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form); + }, + D: function(href) { + previousDispatcher.D(href); + preconnectAs("dns-prefetch", href, null); + }, + C: function(href, crossOrigin) { + previousDispatcher.C(href, crossOrigin); + preconnectAs("preconnect", href, crossOrigin); + }, + L: function(href, as, options) { + previousDispatcher.L(href, as, options); + var ownerDocument = globalDocument; + if (ownerDocument && href && as) { + var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]'; + "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSrcSet + ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSizes + ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]'; + var key = preloadSelector; + switch (as) { + case "style": + key = getStyleKey(href); + break; + case "script": + key = getScriptKey(href); + } + preloadPropsMap.has(key) || (href = assign( + { + rel: "preload", + href: "image" === as && options && options.imageSrcSet ? void 0 : href, + as + }, + options + ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as))); + } + }, + m: function(href, options) { + previousDispatcher.m(href, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector; + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + key = getScriptKey(href); + } + if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) { + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + if (ownerDocument.querySelector(getScriptSelectorFromKey(key))) + return; + } + as = ownerDocument.createElement("link"); + setInitialProperties(as, "link", href); + markNodeAsHoistable(as); + ownerDocument.head.appendChild(as); + } + } + }, + X: function(src, options) { + previousDispatcher.X(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + }, + S: function(href, precedence, options) { + previousDispatcher.S(href, precedence, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href); + precedence = precedence || "default"; + var resource = styles.get(key); + if (!resource) { + var state = { loading: NotLoaded, preload: null }; + if (resource = ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + )) + state.loading = Loaded | Inserted; + else { + href = assign( + { + rel: "stylesheet", + href, + "data-precedence": precedence + }, + options + ); + (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options); + var link = resource = ownerDocument.createElement("link"); + markNodeAsHoistable(link); + setInitialProperties(link, "link", href); + link._p = new Promise(function(resolve, reject) { + link.onload = resolve; + link.onerror = reject; + }); + link.addEventListener("load", function() { + state.loading |= Loaded; + }); + link.addEventListener("error", function() { + state.loading |= Errored; + }); + state.loading |= Inserted; + insertStylesheet(resource, precedence, ownerDocument); + } + resource = { + type: "stylesheet", + instance: resource, + count: 1, + state + }; + styles.set(key, resource); + } + } + }, + M: function(src, options) { + previousDispatcher.M(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true, type: "module" }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + } + }; + var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, suspendedState = null, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = { + $$typeof: REACT_CONTEXT_TYPE, + Provider: null, + Consumer: null, + _currentValue: NotPendingTransition, + _currentValue2: NotPendingTransition, + _threadCount: 0 + }, badgeFormat = "%c%s%c ", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind; + var didWarnAboutNestedUpdates = false; + var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, setErrorHandler = null, setSuspenseHandler = null; + overrideHookState = function(fiber, id, path, value) { + id = findHook(fiber, id); + null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateDeletePath = function(fiber, id, path) { + id = findHook(fiber, id); + null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) { + id = findHook(fiber, id); + null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2)); + }; + overrideProps = function(fiber, path, value) { + fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsDeletePath = function(fiber, path) { + fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsRenamePath = function(fiber, oldPath, newPath) { + fiber.pendingProps = copyWithRename( + fiber.memoizedProps, + oldPath, + newPath + ); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + oldPath = enqueueConcurrentRenderForLane(fiber, 2); + null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2); + }; + scheduleUpdate = function(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + }; + setErrorHandler = function(newShouldErrorImpl) { + shouldErrorImpl = newShouldErrorImpl; + }; + setSuspenseHandler = function(newShouldSuspendImpl) { + shouldSuspendImpl = newShouldSuspendImpl; + }; + var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split( + " " + ), lastScheduledReplayQueue = null; + ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) { + var root2 = this._internalRoot; + if (null === root2) throw Error("Cannot update an unmounted root."); + var args = arguments; + "function" === typeof args[1] ? console.error( + "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ) : isValidContainer(args[1]) ? console.error( + "You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root." + ) : "undefined" !== typeof args[1] && console.error( + "You passed a second argument to root.render(...) but it only accepts one argument." + ); + args = children; + var current2 = root2.current, lane = requestUpdateLane(current2); + updateContainerImpl(current2, lane, args, root2, null, null); + }; + ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() { + var args = arguments; + "function" === typeof args[0] && console.error( + "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ); + args = this._internalRoot; + if (null !== args) { + this._internalRoot = null; + var container = args.containerInfo; + (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error( + "Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition." + ); + updateContainerImpl(args.current, 2, null, args, null, null); + flushSyncWork$1(); + container[internalContainerInstanceKey] = null; + } + }; + ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) { + if (target) { + var updatePriority = resolveUpdatePriority(); + target = { blockedOn: null, target, priority: updatePriority }; + for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ; + queuedExplicitHydrationTargets.splice(i, 0, target); + 0 === i && attemptExplicitHydrationTarget(target); + } + }; + (function() { + var isomorphicReactPackageVersion = React2.version; + if ("19.1.1" !== isomorphicReactPackageVersion) + throw Error( + 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.1.1\nLearn more: https://react.dev/warnings/version-mismatch") + ); + })(); + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills" + ); + ReactDOMSharedInternals.findDOMNode = function(componentOrElement) { + var fiber = componentOrElement._reactInternals; + if (void 0 === fiber) { + if ("function" === typeof componentOrElement.render) + throw Error("Unable to find node on an unmounted component."); + componentOrElement = Object.keys(componentOrElement).join(","); + throw Error( + "Argument appears to not be a ReactComponent. Keys: " + componentOrElement + ); + } + componentOrElement = findCurrentFiberUsingSlowPath(fiber); + componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null; + componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode; + return componentOrElement; + }; + if (!function() { + var internals = { + bundleType: 1, + version: "19.1.1", + rendererPackageName: "react-dom", + currentDispatcherRef: ReactSharedInternals, + reconcilerVersion: "19.1.1" + }; + internals.overrideHookState = overrideHookState; + internals.overrideHookStateDeletePath = overrideHookStateDeletePath; + internals.overrideHookStateRenamePath = overrideHookStateRenamePath; + internals.overrideProps = overrideProps; + internals.overridePropsDeletePath = overridePropsDeletePath; + internals.overridePropsRenamePath = overridePropsRenamePath; + internals.scheduleUpdate = scheduleUpdate; + internals.setErrorHandler = setErrorHandler; + internals.setSuspenseHandler = setSuspenseHandler; + internals.scheduleRefresh = scheduleRefresh; + internals.scheduleRoot = scheduleRoot; + internals.setRefreshHandler = setRefreshHandler; + internals.getCurrentFiber = getCurrentFiberForDevTools; + internals.getLaneLabelMap = getLaneLabelMap; + internals.injectProfilingHooks = injectProfilingHooks; + return injectInternals(internals); + }() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) { + var protocol = window.location.protocol; + /^(https?|file):$/.test(protocol) && console.info( + "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""), + "font-weight:bold" + ); + } + exports.createRoot = function(container, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null; + null !== options && void 0 !== options && (options.hydrate ? console.warn( + "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead." + ) : "object" === typeof options && null !== options && options.$$typeof === REACT_ELEMENT_TYPE && console.error( + "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);" + ), true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks)); + options = createFiberRoot( + container, + 1, + false, + null, + null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + null + ); + container[internalContainerInstanceKey] = options.current; + listenToAllSupportedEvents(container); + return new ReactDOMRoot(options); + }; + exports.hydrateRoot = function(container, initialChildren, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + void 0 === initialChildren && console.error( + "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)" + ); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null, formState = null; + null !== options && void 0 !== options && (true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks), void 0 !== options.formState && (formState = options.formState)); + initialChildren = createFiberRoot( + container, + 1, + true, + initialChildren, + null != options ? options : null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + formState + ); + initialChildren.context = getContextForSubtree(null); + options = initialChildren.current; + isStrictMode = requestUpdateLane(options); + isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode); + identifierPrefix = createUpdate(isStrictMode); + identifierPrefix.callback = null; + enqueueUpdate(options, identifierPrefix, isStrictMode); + options = isStrictMode; + initialChildren.current.lanes = options; + markRootUpdated$1(initialChildren, options); + ensureRootIsScheduled(initialChildren); + container[internalContainerInstanceKey] = initialChildren.current; + listenToAllSupportedEvents(container); + return new ReactDOMHydrationRoot(initialChildren); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } +}); + +// node_modules/react-dom/client.js +var require_client = __commonJS({ + "node_modules/react-dom/client.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_client_development(); + } + } +}); + +// src/Games.tsx +var import_client = __toESM(require_client()); +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var LazyTicTacToe = (0, import_react.lazy)(() => import("./main-XZMLBHCF.js").then((m) => ({ default: m.TicTacToe }))); +var LazyConnectFour = (0, import_react.lazy)(() => import("./main-HVML6WQS.js").then((m) => ({ default: m.ConnectFour }))); +var LazyMemoryGame = (0, import_react.lazy)(() => import("./main-MX6K4HMI.js").then((m) => ({ default: m.MemoryGame }))); +var LazyLightsOut = (0, import_react.lazy)(() => import("./main-EQTPDHY4.js").then((m) => ({ default: m.LightsOut }))); +var LazyWordle = (0, import_react.lazy)(() => import("./main-4N34LOQP.js").then((m) => ({ default: m.Wordle }))); +var LazyMinesweeper = (0, import_react.lazy)(() => import("./main-QNFKFAB2.js").then((m) => ({ default: m.Minesweeper }))); +var wrapperStyle = { + display: "flex", + justifyContent: "center", + alignItems: "center", + minHeight: "100vh", + fontFamily: "system-ui, sans-serif" +}; +var menuStyle = { + listStyle: "none", + padding: 0, + margin: "2rem auto", + width: 280, + display: "flex", + flexDirection: "column", + gap: "1rem", + cursor: "pointer" +}; +var menuItemStyle = { + padding: "0.75rem 1rem", + borderRadius: 8, + background: "#f3f4f6", + textAlign: "center", + transition: "background 120ms" +}; +var gameMap = { + tictactoe: { + LazyComponent: LazyTicTacToe, + title: "TicTacToe" + }, + connectfour: { + LazyComponent: LazyConnectFour, + title: "Connect Four" + }, + memorygame: { + LazyComponent: LazyMemoryGame, + title: "Memory Game" + }, + lightsout: { + LazyComponent: LazyLightsOut, + title: "Lights out" + }, + wordle: { + LazyComponent: LazyWordle, + title: "Wordle" + }, + minesweeper: { + LazyComponent: LazyMinesweeper, + title: "Minesweeper" + } +}; +var BASE = "/games"; +var Games = () => { + const getKey = (p) => { + const m = p.match(/^\/games\/?([^/]+)?/i); + const k = (m?.[1] || "").toLowerCase(); + return k && k in gameMap ? k : null; + }; + const [game, setGame] = (0, import_react.useState)(() => getKey(location.pathname)); + (0, import_react.useEffect)(() => { + const onPop = () => setGame(getKey(location.pathname)); + addEventListener("popstate", onPop); + return () => removeEventListener("popstate", onPop); + }, []); + (0, import_react.useEffect)(() => { + history.pushState(null, "", game ? `${BASE}/${game}` : BASE); + }, [game]); + const selected = game ? gameMap[game] : null; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("main", { style: wrapperStyle, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { style: { textAlign: "center" }, children: "MAI React Playground" }), + selected?.LazyComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: "loading..." }), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: 10 + }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(selected.LazyComponent, {}) }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { style: menuStyle, children: Object.entries(gameMap).map(([key, value]) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { style: menuItemStyle, onClick: () => setGame(key), children: value.title }, key)) }), + game && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "cetner", margin: "1.5rem auto 0" }, onClick: () => setGame(null), children: "Back to menu" }) + ] }) }); +}; +import_client.default.createRoot(document.getElementById("root")).render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Games, {})); +export { + Games +}; +/*! Bundled license information: + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom.development.js: + (** + * @license React + * react-dom.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom-client.development.js: + (** + * @license React + * react-dom-client.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ +//# sourceMappingURL=Games.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/Games.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../node_modules/scheduler/cjs/scheduler.development.js", "../../node_modules/scheduler/index.js", "../../node_modules/react-dom/cjs/react-dom.development.js", "../../node_modules/react-dom/index.js", "../../node_modules/react-dom/cjs/react-dom-client.development.js", "../../node_modules/react-dom/client.js", "../../src/Games.tsx"], + "sourcesContent": ["/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime &&\n shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n }\n function push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node),\n (heap[index] = parent),\n (index = parentIndex);\n else break a;\n }\n }\n function peek(heap) {\n return 0 === heap.length ? null : heap[0];\n }\n function pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex);\n else break a;\n }\n }\n return first;\n }\n function compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n }\n function advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n }\n function handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n }\n }\n function shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n }\n function requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n exports.unstable_now = void 0;\n if (\n \"object\" === typeof performance &&\n \"function\" === typeof performance.now\n ) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n } else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n }\n var taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout =\n \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate =\n \"undefined\" !== typeof setImmediate ? setImmediate : null,\n isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\n if (\"function\" === typeof localSetImmediate)\n var schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\n else if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n } else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\n exports.unstable_IdlePriority = 5;\n exports.unstable_ImmediatePriority = 1;\n exports.unstable_LowPriority = 4;\n exports.unstable_NormalPriority = 3;\n exports.unstable_Profiling = null;\n exports.unstable_UserBlockingPriority = 2;\n exports.unstable_cancelCallback = function (task) {\n task.callback = null;\n };\n exports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n };\n exports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n };\n exports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n exports.unstable_requestPaint = function () {\n needsPaint = !0;\n };\n exports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n exports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n ) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0),\n schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n };\n exports.unstable_shouldYield = shouldYieldToHost;\n exports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n };\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react-dom.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n try {\n testStringCoercion(key);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n JSCompiler_inline_result &&\n (console.error(\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n key[Symbol.toStringTag]) ||\n key.constructor.name ||\n \"Object\"\n ),\n testStringCoercion(key));\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n }\n function getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n }\n function getValueDescriptorExpectingObjectForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function getValueDescriptorExpectingEnumForWarning(thing) {\n return null === thing\n ? \"`null`\"\n : void 0 === thing\n ? \"`undefined`\"\n : \"\" === thing\n ? \"an empty string\"\n : \"string\" === typeof thing\n ? JSON.stringify(thing)\n : \"number\" === typeof thing\n ? \"`\" + thing + \"`\"\n : 'something with type \"' + typeof thing + '\"';\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(\n \"Invalid form element. requestFormReset must be passed a form that was rendered by React.\"\n );\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n (\"function\" === typeof Map &&\n null != Map.prototype &&\n \"function\" === typeof Map.prototype.forEach &&\n \"function\" === typeof Set &&\n null != Set.prototype &&\n \"function\" === typeof Set.prototype.clear &&\n \"function\" === typeof Set.prototype.forEach) ||\n console.error(\n \"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\"\n );\n exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\n exports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(\"Target container is not a DOM element.\");\n return createPortal$1(children, container, null, key);\n };\n exports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn))\n return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f() &&\n console.error(\n \"flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.\"\n );\n }\n };\n exports.preconnect = function (href, options) {\n \"string\" === typeof href && href\n ? null != options && \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : null != options &&\n \"string\" !== typeof options.crossOrigin &&\n console.error(\n \"ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.\",\n getValueDescriptorExpectingObjectForWarning(options.crossOrigin)\n )\n : console.error(\n \"ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n };\n exports.prefetchDNS = function (href) {\n if (\"string\" !== typeof href || !href)\n console.error(\n \"ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n else if (1 < arguments.length) {\n var options = arguments[1];\n \"object\" === typeof options && options.hasOwnProperty(\"crossOrigin\")\n ? console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : console.error(\n \"ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.\",\n getValueDescriptorExpectingEnumForWarning(options)\n );\n }\n \"string\" === typeof href && Internals.d.D(href);\n };\n exports.preinit = function (href, options) {\n \"string\" === typeof href && href\n ? null == options || \"object\" !== typeof options\n ? console.error(\n \"ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.\",\n getValueDescriptorExpectingEnumForWarning(options)\n )\n : \"style\" !== options.as &&\n \"script\" !== options.as &&\n console.error(\n 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are \"style\" and \"script\".',\n getValueDescriptorExpectingEnumForWarning(options.as)\n )\n : console.error(\n \"ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.\",\n getValueDescriptorExpectingObjectForWarning(href)\n );\n if (\n \"string\" === typeof href &&\n options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence\n ? options.precedence\n : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n };\n exports.preinitModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"script\" !== options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingEnumForWarning(options.as) +\n \".\");\n if (encountered)\n console.error(\n \"ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s\",\n encountered\n );\n else\n switch (\n ((encountered =\n options && \"string\" === typeof options.as ? options.as : \"script\"),\n encountered)\n ) {\n case \"script\":\n break;\n default:\n (encountered =\n getValueDescriptorExpectingEnumForWarning(encountered)),\n console.error(\n 'ReactDOM.preinitModule(): Currently the only supported \"as\" type for this function is \"script\" but received \"%s\" instead. This warning was generated for `href` \"%s\". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)',\n encountered,\n href\n );\n }\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as)\n (encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.M(href, {\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0,\n nonce:\n \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n } else null == options && Internals.d.M(href);\n };\n exports.preload = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n null == options || \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : (\"string\" === typeof options.as && options.as) ||\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel=\"preload\" as=\"...\" />` tag.%s',\n encountered\n );\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n encountered = options.as;\n var crossOrigin = getCrossOriginStringAs(\n encountered,\n options.crossOrigin\n );\n Internals.d.L(href, encountered, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet\n ? options.imageSrcSet\n : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes\n ? options.imageSizes\n : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n };\n exports.preloadModule = function (href, options) {\n var encountered = \"\";\n (\"string\" === typeof href && href) ||\n (encountered +=\n \" The `href` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(href) +\n \".\");\n void 0 !== options && \"object\" !== typeof options\n ? (encountered +=\n \" The `options` argument encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options) +\n \".\")\n : options &&\n \"as\" in options &&\n \"string\" !== typeof options.as &&\n (encountered +=\n \" The `as` option encountered was \" +\n getValueDescriptorExpectingObjectForWarning(options.as) +\n \".\");\n encountered &&\n console.error(\n 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel=\"modulepreload\" as=\"...\" />` tag.%s',\n encountered\n );\n \"string\" === typeof href &&\n (options\n ? ((encountered = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n )),\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: encountered,\n integrity:\n \"string\" === typeof options.integrity\n ? options.integrity\n : void 0\n }))\n : Internals.d.m(href));\n };\n exports.requestFormReset = function (form) {\n Internals.d.r(form);\n };\n exports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n };\n exports.useFormState = function (action, initialState, permalink) {\n return resolveDispatcher().useFormState(action, initialState, permalink);\n };\n exports.useFormStatus = function () {\n return resolveDispatcher().useHostTransitionStatus();\n };\n exports.version = \"19.1.1\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n", "/**\n * @license React\n * react-dom-client.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function findHook(fiber, id) {\n for (fiber = fiber.memoizedState; null !== fiber && 0 < id; )\n (fiber = fiber.next), id--;\n return fiber;\n }\n function copyWithSetImpl(obj, path, index, value) {\n if (index >= path.length) return value;\n var key = path[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n }\n function copyWithRename(obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length)\n console.warn(\"copyWithRename() expects paths of the same length\");\n else {\n for (var i = 0; i < newPath.length - 1; i++)\n if (oldPath[i] !== newPath[i]) {\n console.warn(\n \"copyWithRename() expects paths to be the same except for the deepest key\"\n );\n return;\n }\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n }\n }\n function copyWithRenameImpl(obj, oldPath, newPath, index) {\n var oldKey = oldPath[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n index + 1 === oldPath.length\n ? ((updated[newPath[index]] = updated[oldKey]),\n isArrayImpl(updated)\n ? updated.splice(oldKey, 1)\n : delete updated[oldKey])\n : (updated[oldKey] = copyWithRenameImpl(\n obj[oldKey],\n oldPath,\n newPath,\n index + 1\n ));\n return updated;\n }\n function copyWithDeleteImpl(obj, path, index) {\n var key = path[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n if (index + 1 === path.length)\n return (\n isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key],\n updated\n );\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n }\n function shouldSuspendImpl() {\n return !1;\n }\n function shouldErrorImpl() {\n return null;\n }\n function warnForMissingKey() {}\n function warnInvalidHookAccess() {\n console.error(\n \"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks\"\n );\n }\n function warnInvalidContextAccess() {\n console.error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n }\n function noop$2() {}\n function setToSortedString(set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(\", \");\n }\n function createFiber(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n }\n function scheduleRoot(root, element) {\n root.context === emptyContextObject &&\n (updateContainerImpl(root.current, 2, element, root, null, null),\n flushSyncWork$1());\n }\n function scheduleRefresh(root, update) {\n if (null !== resolveFamily) {\n var staleFamilies = update.staleFamilies;\n update = update.updatedFamilies;\n flushPendingEffects();\n scheduleFibersWithFamiliesRecursively(\n root.current,\n update,\n staleFamilies\n );\n flushSyncWork$1();\n }\n }\n function setRefreshHandler(handler) {\n resolveFamily = handler;\n }\n function isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n }\n function getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n }\n function getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n }\n function assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n function findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate)\n throw Error(\"Unable to find node on an unmounted component.\");\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, _child = parentA.child; _child; ) {\n if (_child === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (_child === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n _child = _child.sibling;\n }\n if (!didFindChild) {\n for (_child = parentB.child; _child; ) {\n if (_child === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (_child === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n _child = _child.sibling;\n }\n if (!didFindChild)\n throw Error(\n \"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\"\n );\n }\n }\n if (a.alternate !== b)\n throw Error(\n \"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (3 !== a.tag)\n throw Error(\"Unable to find node on an unmounted component.\");\n return a.stateNode.current === a ? fiber : alternate;\n }\n function findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getComponentNameFromOwner(owner) {\n return \"number\" === typeof owner.tag\n ? getComponentNameFromFiber(owner)\n : \"string\" === typeof owner.name\n ? owner.name\n : null;\n }\n function getComponentNameFromFiber(fiber) {\n var type = fiber.type;\n switch (fiber.tag) {\n case 31:\n return \"Activity\";\n case 24:\n return \"Cache\";\n case 9:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case 10:\n return (type.displayName || \"Context\") + \".Provider\";\n case 18:\n return \"DehydratedFragment\";\n case 11:\n return (\n (fiber = type.render),\n (fiber = fiber.displayName || fiber.name || \"\"),\n type.displayName ||\n (\"\" !== fiber ? \"ForwardRef(\" + fiber + \")\" : \"ForwardRef\")\n );\n case 7:\n return \"Fragment\";\n case 26:\n case 27:\n case 5:\n return type;\n case 4:\n return \"Portal\";\n case 3:\n return \"Root\";\n case 6:\n return \"Text\";\n case 16:\n return getComponentNameFromType(type);\n case 8:\n return type === REACT_STRICT_MODE_TYPE ? \"StrictMode\" : \"Mode\";\n case 22:\n return \"Offscreen\";\n case 12:\n return \"Profiler\";\n case 21:\n return \"Scope\";\n case 13:\n return \"Suspense\";\n case 19:\n return \"SuspenseList\";\n case 25:\n return \"TracingMarker\";\n case 1:\n case 0:\n case 14:\n case 15:\n if (\"function\" === typeof type)\n return type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n break;\n case 29:\n type = fiber._debugInfo;\n if (null != type)\n for (var i = type.length - 1; 0 <= i; i--)\n if (\"string\" === typeof type[i].name) return type[i].name;\n if (null !== fiber.return)\n return getComponentNameFromFiber(fiber.return);\n }\n return null;\n }\n function createCursor(defaultValue) {\n return { current: defaultValue };\n }\n function pop(cursor, fiber) {\n 0 > index$jscomp$0\n ? console.error(\"Unexpected pop.\")\n : (fiber !== fiberStack[index$jscomp$0] &&\n console.error(\"Unexpected Fiber popped.\"),\n (cursor.current = valueStack[index$jscomp$0]),\n (valueStack[index$jscomp$0] = null),\n (fiberStack[index$jscomp$0] = null),\n index$jscomp$0--);\n }\n function push(cursor, value, fiber) {\n index$jscomp$0++;\n valueStack[index$jscomp$0] = cursor.current;\n fiberStack[index$jscomp$0] = fiber;\n cursor.current = value;\n }\n function requiredContext(c) {\n null === c &&\n console.error(\n \"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\"\n );\n return c;\n }\n function pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance, fiber);\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor, null, fiber);\n var nextRootContext = nextRootInstance.nodeType;\n switch (nextRootContext) {\n case 9:\n case 11:\n nextRootContext = 9 === nextRootContext ? \"#document\" : \"#fragment\";\n nextRootInstance = (nextRootInstance =\n nextRootInstance.documentElement)\n ? (nextRootInstance = nextRootInstance.namespaceURI)\n ? getOwnHostContext(nextRootInstance)\n : HostContextNamespaceNone\n : HostContextNamespaceNone;\n break;\n default:\n if (\n ((nextRootContext = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (nextRootInstance = getChildHostContextProd(\n nextRootInstance,\n nextRootContext\n ));\n else\n switch (nextRootContext) {\n case \"svg\":\n nextRootInstance = HostContextNamespaceSvg;\n break;\n case \"math\":\n nextRootInstance = HostContextNamespaceMath;\n break;\n default:\n nextRootInstance = HostContextNamespaceNone;\n }\n }\n nextRootContext = nextRootContext.toLowerCase();\n nextRootContext = updatedAncestorInfoDev(null, nextRootContext);\n nextRootContext = {\n context: nextRootInstance,\n ancestorInfo: nextRootContext\n };\n pop(contextStackCursor, fiber);\n push(contextStackCursor, nextRootContext, fiber);\n }\n function popHostContainer(fiber) {\n pop(contextStackCursor, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n }\n function getHostContext() {\n return requiredContext(contextStackCursor.current);\n }\n function pushHostContext(fiber) {\n null !== fiber.memoizedState &&\n push(hostTransitionProviderCursor, fiber, fiber);\n var context = requiredContext(contextStackCursor.current);\n var type = fiber.type;\n var nextContext = getChildHostContextProd(context.context, type);\n type = updatedAncestorInfoDev(context.ancestorInfo, type);\n nextContext = { context: nextContext, ancestorInfo: type };\n context !== nextContext &&\n (push(contextFiberStackCursor, fiber, fiber),\n push(contextStackCursor, nextContext, fiber));\n }\n function popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor, fiber),\n (HostTransitionContext._currentValue = NotPendingTransition));\n }\n function typeName(value) {\n return (\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\"\n );\n }\n function willCoercionThrow(value) {\n try {\n return testStringCoercion(value), !1;\n } catch (e) {\n return !0;\n }\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkAttributeStringCoercion(value, attributeName) {\n if (willCoercionThrow(value))\n return (\n console.error(\n \"The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.\",\n attributeName,\n typeName(value)\n ),\n testStringCoercion(value)\n );\n }\n function checkCSSPropertyStringCoercion(value, propName) {\n if (willCoercionThrow(value))\n return (\n console.error(\n \"The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.\",\n propName,\n typeName(value)\n ),\n testStringCoercion(value)\n );\n }\n function checkFormFieldValueStringCoercion(value) {\n if (willCoercionThrow(value))\n return (\n console.error(\n \"Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.\",\n typeName(value)\n ),\n testStringCoercion(value)\n );\n }\n function injectInternals(internals) {\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook.isDisabled) return !0;\n if (!hook.supportsFiber)\n return (\n console.error(\n \"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools\"\n ),\n !0\n );\n try {\n (rendererID = hook.inject(internals)), (injectedHook = hook);\n } catch (err) {\n console.error(\"React instrumentation encountered an error: %s.\", err);\n }\n return hook.checkDCE ? !0 : !1;\n }\n function setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 &&\n unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n hasLoggedError ||\n ((hasLoggedError = !0),\n console.error(\n \"React instrumentation encountered an error: %s\",\n err\n ));\n }\n }\n function injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n }\n function markCommitStopped() {\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markCommitStopped &&\n injectedProfilingHooks.markCommitStopped();\n }\n function markComponentRenderStarted(fiber) {\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentRenderStarted &&\n injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n function markComponentRenderStopped() {\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentRenderStopped &&\n injectedProfilingHooks.markComponentRenderStopped();\n }\n function markRenderStarted(lanes) {\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markRenderStarted &&\n injectedProfilingHooks.markRenderStarted(lanes);\n }\n function markRenderStopped() {\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markRenderStopped &&\n injectedProfilingHooks.markRenderStopped();\n }\n function markStateUpdateScheduled(fiber, lane) {\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markStateUpdateScheduled &&\n injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n function clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n }\n function getLabelForLane(lane) {\n if (lane & 1) return \"SyncHydrationLane\";\n if (lane & 2) return \"Sync\";\n if (lane & 4) return \"InputContinuousHydration\";\n if (lane & 8) return \"InputContinuous\";\n if (lane & 16) return \"DefaultHydration\";\n if (lane & 32) return \"Default\";\n if (lane & 128) return \"TransitionHydration\";\n if (lane & 4194048) return \"Transition\";\n if (lane & 62914560) return \"Retry\";\n if (lane & 67108864) return \"SelectiveHydration\";\n if (lane & 134217728) return \"IdleHydration\";\n if (lane & 268435456) return \"Idle\";\n if (lane & 536870912) return \"Offscreen\";\n if (lane & 1073741824) return \"Deferred\";\n }\n function getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194048;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return (\n console.error(\n \"Should have found matching lanes. This is a bug in React.\"\n ),\n lanes\n );\n }\n }\n function getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes =\n getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n }\n function checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n }\n function computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return (\n console.error(\n \"Should have found matching lanes. This is a bug in React.\"\n ),\n -1\n );\n }\n }\n function claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256);\n return lane;\n }\n function claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n }\n function createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n }\n function markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0),\n (root.pingedLanes = 0),\n (root.warmLanes = 0));\n }\n function markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index = 31 - clz32(remainingLanes),\n lane = 1 << index;\n entanglements[index] = 0;\n expirationTimes[index] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index] = null, index = 0;\n index < hiddenUpdatesForLane.length;\n index++\n ) {\n var update = hiddenUpdatesForLane[index];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n }\n function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194090);\n }\n function markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index = 31 - clz32(rootEntangledLanes),\n lane = 1 << index;\n (lane & entangledLanes) | (root[index] & entangledLanes) &&\n (root[index] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n }\n function getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n }\n function addFiberToLanesMap(root, fiber, lanes) {\n if (isDevToolsPresent)\n for (root = root.pendingUpdatersLaneMap; 0 < lanes; ) {\n var index = 31 - clz32(lanes),\n lane = 1 << index;\n root[index].add(fiber);\n lanes &= ~lane;\n }\n }\n function movePendingFibersToMemoized(root, lanes) {\n if (isDevToolsPresent)\n for (\n var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap,\n memoizedUpdaters = root.memoizedUpdaters;\n 0 < lanes;\n\n ) {\n var index = 31 - clz32(lanes);\n root = 1 << index;\n index = pendingUpdatersLaneMap[index];\n 0 < index.size &&\n (index.forEach(function (fiber) {\n var alternate = fiber.alternate;\n (null !== alternate && memoizedUpdaters.has(alternate)) ||\n memoizedUpdaters.add(fiber);\n }),\n index.clear());\n lanes &= ~root;\n }\n }\n function lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes\n ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes\n ? 0 !== (lanes & 134217727)\n ? DefaultEventPriority\n : IdleEventPriority\n : ContinuousEventPriority\n : DiscreteEventPriority;\n }\n function resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority\n ? DefaultEventPriority\n : getEventPriority(updatePriority.type);\n }\n function runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n }\n function detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n }\n function getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentSuspenseInstance(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey]))\n return parentNode;\n targetNode = getParentSuspenseInstance(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n }\n function getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n }\n function getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag)\n return inst.stateNode;\n throw Error(\"getNodeFromInstance: Invalid argument.\");\n }\n function getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n }\n function markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n }\n function registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n }\n function registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] &&\n console.error(\n \"EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.\",\n registrationName\n );\n registrationNameDependencies[registrationName] = dependencies;\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n \"onDoubleClick\" === registrationName &&\n (possibleRegistrationNames.ondblclick = registrationName);\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n }\n function checkControlledValueProps(tagName, props) {\n hasReadOnlyValue[props.type] ||\n props.onChange ||\n props.onInput ||\n props.readOnly ||\n props.disabled ||\n null == props.value ||\n (\"select\" === tagName\n ? console.error(\n \"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`.\"\n )\n : console.error(\n \"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\"\n ));\n props.onChange ||\n props.readOnly ||\n props.disabled ||\n null == props.checked ||\n console.error(\n \"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\"\n );\n }\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName))\n return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n console.error(\"Invalid attribute name: `%s`\", attributeName);\n return !1;\n }\n function getValueForAttributeOnCustomComponent(node, name, expected) {\n if (isAttributeNameSafe(name)) {\n if (!node.hasAttribute(name)) {\n switch (typeof expected) {\n case \"symbol\":\n case \"object\":\n return expected;\n case \"function\":\n return expected;\n case \"boolean\":\n if (!1 === expected) return expected;\n }\n return void 0 === expected ? void 0 : null;\n }\n node = node.getAttribute(name);\n if (\"\" === node && !0 === expected) return !0;\n checkAttributeStringCoercion(expected, name);\n return node === \"\" + expected ? expected : node;\n }\n }\n function setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix && \"aria-\" !== prefix) {\n node.removeAttribute(name);\n return;\n }\n }\n checkAttributeStringCoercion(value, name);\n node.setAttribute(name, \"\" + value);\n }\n }\n function setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n checkAttributeStringCoercion(value, name);\n node.setAttribute(name, \"\" + value);\n }\n }\n function setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n checkAttributeStringCoercion(value, name);\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"<anonymous>\") &&\n (_frame = _frame.replace(\"<anonymous>\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function formatOwnerStack(error) {\n var prevPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n error = error.stack;\n Error.prepareStackTrace = prevPrepareStackTrace;\n error.startsWith(\"Error: react-stack-top-frame\\n\") &&\n (error = error.slice(29));\n prevPrepareStackTrace = error.indexOf(\"\\n\");\n -1 !== prevPrepareStackTrace &&\n (error = error.slice(prevPrepareStackTrace + 1));\n prevPrepareStackTrace = error.indexOf(\"react_stack_bottom_frame\");\n -1 !== prevPrepareStackTrace &&\n (prevPrepareStackTrace = error.lastIndexOf(\n \"\\n\",\n prevPrepareStackTrace\n ));\n if (-1 !== prevPrepareStackTrace)\n error = error.slice(0, prevPrepareStackTrace);\n else return \"\";\n return error;\n }\n function describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n }\n function getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do {\n info += describeFiber(workInProgress);\n var debugInfo = workInProgress._debugInfo;\n if (debugInfo)\n for (var i = debugInfo.length - 1; 0 <= i; i--) {\n var entry = debugInfo[i];\n if (\"string\" === typeof entry.name) {\n var JSCompiler_temp_const = info,\n env = entry.env;\n var JSCompiler_inline_result = describeBuiltInComponentFrame(\n entry.name + (env ? \" [\" + env + \"]\" : \"\")\n );\n info = JSCompiler_temp_const + JSCompiler_inline_result;\n }\n }\n workInProgress = workInProgress.return;\n } while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n }\n function describeFunctionComponentFrameWithoutLineNumber(fn) {\n return (fn = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(fn)\n : \"\";\n }\n function getCurrentFiberOwnerNameInDevOrNull() {\n if (null === current) return null;\n var owner = current._debugOwner;\n return null != owner ? getComponentNameFromOwner(owner) : null;\n }\n function getCurrentFiberStackInDev() {\n if (null === current) return \"\";\n var workInProgress = current;\n try {\n var info = \"\";\n 6 === workInProgress.tag && (workInProgress = workInProgress.return);\n switch (workInProgress.tag) {\n case 26:\n case 27:\n case 5:\n info += describeBuiltInComponentFrame(workInProgress.type);\n break;\n case 13:\n info += describeBuiltInComponentFrame(\"Suspense\");\n break;\n case 19:\n info += describeBuiltInComponentFrame(\"SuspenseList\");\n break;\n case 31:\n info += describeBuiltInComponentFrame(\"Activity\");\n break;\n case 30:\n case 0:\n case 15:\n case 1:\n workInProgress._debugOwner ||\n \"\" !== info ||\n (info += describeFunctionComponentFrameWithoutLineNumber(\n workInProgress.type\n ));\n break;\n case 11:\n workInProgress._debugOwner ||\n \"\" !== info ||\n (info += describeFunctionComponentFrameWithoutLineNumber(\n workInProgress.type.render\n ));\n }\n for (; workInProgress; )\n if (\"number\" === typeof workInProgress.tag) {\n var fiber = workInProgress;\n workInProgress = fiber._debugOwner;\n var debugStack = fiber._debugStack;\n workInProgress &&\n debugStack &&\n (\"string\" !== typeof debugStack &&\n (fiber._debugStack = debugStack = formatOwnerStack(debugStack)),\n \"\" !== debugStack && (info += \"\\n\" + debugStack));\n } else if (null != workInProgress.debugStack) {\n var ownerStack = workInProgress.debugStack;\n (workInProgress = workInProgress.owner) &&\n ownerStack &&\n (info += \"\\n\" + formatOwnerStack(ownerStack));\n } else break;\n var JSCompiler_inline_result = info;\n } catch (x) {\n JSCompiler_inline_result =\n \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n return JSCompiler_inline_result;\n }\n function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {\n var previousFiber = current;\n setCurrentFiber(fiber);\n try {\n return null !== fiber && fiber._debugTask\n ? fiber._debugTask.run(\n callback.bind(null, arg0, arg1, arg2, arg3, arg4)\n )\n : callback(arg0, arg1, arg2, arg3, arg4);\n } finally {\n setCurrentFiber(previousFiber);\n }\n throw Error(\n \"runWithFiberInDEV should never be called in production. This is a bug in React.\"\n );\n }\n function setCurrentFiber(fiber) {\n ReactSharedInternals.getCurrentStack =\n null === fiber ? null : getCurrentFiberStackInDev;\n isRendering = !1;\n current = fiber;\n }\n function getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return checkFormFieldValueStringCoercion(value), value;\n default:\n return \"\";\n }\n }\n function isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n }\n function trackValueOnNode(node) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\",\n descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n checkFormFieldValueStringCoercion(node[valueField]);\n var currentValue = \"\" + node[valueField];\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n checkFormFieldValueStringCoercion(value);\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n checkFormFieldValueStringCoercion(value);\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n }\n function track(node) {\n node._valueTracker || (node._valueTracker = trackValueOnNode(node));\n }\n function updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n }\n function getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n }\n function escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n }\n function validateInputProps(element, props) {\n void 0 === props.checked ||\n void 0 === props.defaultChecked ||\n didWarnCheckedDefaultChecked ||\n (console.error(\n \"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\",\n getCurrentFiberOwnerNameInDevOrNull() || \"A component\",\n props.type\n ),\n (didWarnCheckedDefaultChecked = !0));\n void 0 === props.value ||\n void 0 === props.defaultValue ||\n didWarnValueDefaultValue$1 ||\n (console.error(\n \"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\",\n getCurrentFiberOwnerNameInDevOrNull() || \"A component\",\n props.type\n ),\n (didWarnValueDefaultValue$1 = !0));\n }\n function updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n ) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (checkAttributeStringCoercion(type, \"type\"), (element.type = type))\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) ||\n element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked &&\n \"function\" !== typeof checked &&\n \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (checkAttributeStringCoercion(name, \"name\"),\n (element.name = \"\" + getToStringValue(name)))\n : element.removeAttribute(\"name\");\n }\n function initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n ) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (checkAttributeStringCoercion(type, \"type\"), (element.type = type));\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n )\n return;\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked &&\n \"symbol\" !== typeof checked &&\n !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (checkAttributeStringCoercion(name, \"name\"), (element.name = name));\n }\n function setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n }\n function validateOptionProps(element, props) {\n null == props.value &&\n (\"object\" === typeof props.children && null !== props.children\n ? React.Children.forEach(props.children, function (child) {\n null == child ||\n \"string\" === typeof child ||\n \"number\" === typeof child ||\n \"bigint\" === typeof child ||\n didWarnInvalidChild ||\n ((didWarnInvalidChild = !0),\n console.error(\n \"Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>.\"\n ));\n })\n : null == props.dangerouslySetInnerHTML ||\n didWarnInvalidInnerHTML ||\n ((didWarnInvalidInnerHTML = !0),\n console.error(\n \"Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.\"\n )));\n null == props.selected ||\n didWarnSelectedSetOnOption ||\n (console.error(\n \"Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>.\"\n ),\n (didWarnSelectedSetOnOption = !0));\n }\n function getDeclarationErrorAddendum() {\n var ownerName = getCurrentFiberOwnerNameInDevOrNull();\n return ownerName\n ? \"\\n\\nCheck the render method of `\" + ownerName + \"`.\"\n : \"\";\n }\n function updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n }\n function validateSelectProps(element, props) {\n for (element = 0; element < valuePropNames.length; element++) {\n var propName = valuePropNames[element];\n if (null != props[propName]) {\n var propNameIsArray = isArrayImpl(props[propName]);\n props.multiple && !propNameIsArray\n ? console.error(\n \"The `%s` prop supplied to <select> must be an array if `multiple` is true.%s\",\n propName,\n getDeclarationErrorAddendum()\n )\n : !props.multiple &&\n propNameIsArray &&\n console.error(\n \"The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s\",\n propName,\n getDeclarationErrorAddendum()\n );\n }\n }\n void 0 === props.value ||\n void 0 === props.defaultValue ||\n didWarnValueDefaultValue ||\n (console.error(\n \"Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components\"\n ),\n (didWarnValueDefaultValue = !0));\n }\n function validateTextareaProps(element, props) {\n void 0 === props.value ||\n void 0 === props.defaultValue ||\n didWarnValDefaultVal ||\n (console.error(\n \"%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components\",\n getCurrentFiberOwnerNameInDevOrNull() || \"A component\"\n ),\n (didWarnValDefaultVal = !0));\n null != props.children &&\n null == props.value &&\n console.error(\n \"Use the `defaultValue` or `value` props instead of setting children on <textarea>.\"\n );\n }\n function updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n }\n function initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue)\n throw Error(\n \"If you supply `defaultValue` on a <textarea>, do not pass children.\"\n );\n if (isArrayImpl(children)) {\n if (1 < children.length)\n throw Error(\"<textarea> can only have at most one child.\");\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n }\n function findNotableNode(node, indent) {\n return void 0 === node.serverProps &&\n 0 === node.serverTail.length &&\n 1 === node.children.length &&\n 3 < node.distanceFromLeaf &&\n node.distanceFromLeaf > 15 - indent\n ? findNotableNode(node.children[0], indent)\n : node;\n }\n function indentation(indent) {\n return \" \" + \" \".repeat(indent);\n }\n function added(indent) {\n return \"+ \" + \" \".repeat(indent);\n }\n function removed(indent) {\n return \"- \" + \" \".repeat(indent);\n }\n function describeFiberType(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return fiber.type;\n case 16:\n return \"Lazy\";\n case 13:\n return \"Suspense\";\n case 19:\n return \"SuspenseList\";\n case 0:\n case 15:\n return (fiber = fiber.type), fiber.displayName || fiber.name || null;\n case 11:\n return (\n (fiber = fiber.type.render), fiber.displayName || fiber.name || null\n );\n case 1:\n return (fiber = fiber.type), fiber.displayName || fiber.name || null;\n default:\n return null;\n }\n }\n function describeTextNode(content, maxLength) {\n return needsEscaping.test(content)\n ? ((content = JSON.stringify(content)),\n content.length > maxLength - 2\n ? 8 > maxLength\n ? '{\"...\"}'\n : \"{\" + content.slice(0, maxLength - 7) + '...\"}'\n : \"{\" + content + \"}\")\n : content.length > maxLength\n ? 5 > maxLength\n ? '{\"...\"}'\n : content.slice(0, maxLength - 3) + \"...\"\n : content;\n }\n function describeTextDiff(clientText, serverProps, indent) {\n var maxLength = 120 - 2 * indent;\n if (null === serverProps)\n return added(indent) + describeTextNode(clientText, maxLength) + \"\\n\";\n if (\"string\" === typeof serverProps) {\n for (\n var firstDiff = 0;\n firstDiff < serverProps.length &&\n firstDiff < clientText.length &&\n serverProps.charCodeAt(firstDiff) ===\n clientText.charCodeAt(firstDiff);\n firstDiff++\n );\n firstDiff > maxLength - 8 &&\n 10 < firstDiff &&\n ((clientText = \"...\" + clientText.slice(firstDiff - 8)),\n (serverProps = \"...\" + serverProps.slice(firstDiff - 8)));\n return (\n added(indent) +\n describeTextNode(clientText, maxLength) +\n \"\\n\" +\n removed(indent) +\n describeTextNode(serverProps, maxLength) +\n \"\\n\"\n );\n }\n return (\n indentation(indent) + describeTextNode(clientText, maxLength) + \"\\n\"\n );\n }\n function objectName(object) {\n return Object.prototype.toString\n .call(object)\n .replace(/^\\[object (.*)\\]$/, function (m, p0) {\n return p0;\n });\n }\n function describeValue(value, maxLength) {\n switch (typeof value) {\n case \"string\":\n return (\n (value = JSON.stringify(value)),\n value.length > maxLength\n ? 5 > maxLength\n ? '\"...\"'\n : value.slice(0, maxLength - 4) + '...\"'\n : value\n );\n case \"object\":\n if (null === value) return \"null\";\n if (isArrayImpl(value)) return \"[...]\";\n if (value.$$typeof === REACT_ELEMENT_TYPE)\n return (maxLength = getComponentNameFromType(value.type))\n ? \"<\" + maxLength + \">\"\n : \"<...>\";\n var name = objectName(value);\n if (\"Object\" === name) {\n name = \"\";\n maxLength -= 2;\n for (var propName in value)\n if (value.hasOwnProperty(propName)) {\n var jsonPropName = JSON.stringify(propName);\n jsonPropName !== '\"' + propName + '\"' &&\n (propName = jsonPropName);\n maxLength -= propName.length - 2;\n jsonPropName = describeValue(\n value[propName],\n 15 > maxLength ? maxLength : 15\n );\n maxLength -= jsonPropName.length;\n if (0 > maxLength) {\n name += \"\" === name ? \"...\" : \", ...\";\n break;\n }\n name +=\n (\"\" === name ? \"\" : \",\") + propName + \":\" + jsonPropName;\n }\n return \"{\" + name + \"}\";\n }\n return name;\n case \"function\":\n return (maxLength = value.displayName || value.name)\n ? \"function \" + maxLength\n : \"function\";\n default:\n return String(value);\n }\n }\n function describePropValue(value, maxLength) {\n return \"string\" !== typeof value || needsEscaping.test(value)\n ? \"{\" + describeValue(value, maxLength - 2) + \"}\"\n : value.length > maxLength - 2\n ? 5 > maxLength\n ? '\"...\"'\n : '\"' + value.slice(0, maxLength - 5) + '...\"'\n : '\"' + value + '\"';\n }\n function describeExpandedElement(type, props, rowPrefix) {\n var remainingRowLength = 120 - rowPrefix.length - type.length,\n properties = [],\n propName;\n for (propName in props)\n if (props.hasOwnProperty(propName) && \"children\" !== propName) {\n var propValue = describePropValue(\n props[propName],\n 120 - rowPrefix.length - propName.length - 1\n );\n remainingRowLength -= propName.length + propValue.length + 2;\n properties.push(propName + \"=\" + propValue);\n }\n return 0 === properties.length\n ? rowPrefix + \"<\" + type + \">\\n\"\n : 0 < remainingRowLength\n ? rowPrefix + \"<\" + type + \" \" + properties.join(\" \") + \">\\n\"\n : rowPrefix +\n \"<\" +\n type +\n \"\\n\" +\n rowPrefix +\n \" \" +\n properties.join(\"\\n\" + rowPrefix + \" \") +\n \"\\n\" +\n rowPrefix +\n \">\\n\";\n }\n function describePropertiesDiff(clientObject, serverObject, indent) {\n var properties = \"\",\n remainingServerProperties = assign({}, serverObject),\n propName;\n for (propName in clientObject)\n if (clientObject.hasOwnProperty(propName)) {\n delete remainingServerProperties[propName];\n var maxLength = 120 - 2 * indent - propName.length - 2,\n clientPropValue = describeValue(clientObject[propName], maxLength);\n serverObject.hasOwnProperty(propName)\n ? ((maxLength = describeValue(serverObject[propName], maxLength)),\n (properties +=\n added(indent) + propName + \": \" + clientPropValue + \"\\n\"),\n (properties +=\n removed(indent) + propName + \": \" + maxLength + \"\\n\"))\n : (properties +=\n added(indent) + propName + \": \" + clientPropValue + \"\\n\");\n }\n for (var _propName in remainingServerProperties)\n remainingServerProperties.hasOwnProperty(_propName) &&\n ((clientObject = describeValue(\n remainingServerProperties[_propName],\n 120 - 2 * indent - _propName.length - 2\n )),\n (properties +=\n removed(indent) + _propName + \": \" + clientObject + \"\\n\"));\n return properties;\n }\n function describeElementDiff(type, clientProps, serverProps, indent) {\n var content = \"\",\n serverPropNames = new Map();\n for (propName$jscomp$0 in serverProps)\n serverProps.hasOwnProperty(propName$jscomp$0) &&\n serverPropNames.set(\n propName$jscomp$0.toLowerCase(),\n propName$jscomp$0\n );\n if (1 === serverPropNames.size && serverPropNames.has(\"children\"))\n content += describeExpandedElement(\n type,\n clientProps,\n indentation(indent)\n );\n else {\n for (var _propName2 in clientProps)\n if (\n clientProps.hasOwnProperty(_propName2) &&\n \"children\" !== _propName2\n ) {\n var maxLength$jscomp$0 =\n 120 - 2 * (indent + 1) - _propName2.length - 1,\n serverPropName = serverPropNames.get(_propName2.toLowerCase());\n if (void 0 !== serverPropName) {\n serverPropNames.delete(_propName2.toLowerCase());\n var propName$jscomp$0 = clientProps[_propName2];\n serverPropName = serverProps[serverPropName];\n var clientPropValue = describePropValue(\n propName$jscomp$0,\n maxLength$jscomp$0\n );\n maxLength$jscomp$0 = describePropValue(\n serverPropName,\n maxLength$jscomp$0\n );\n \"object\" === typeof propName$jscomp$0 &&\n null !== propName$jscomp$0 &&\n \"object\" === typeof serverPropName &&\n null !== serverPropName &&\n \"Object\" === objectName(propName$jscomp$0) &&\n \"Object\" === objectName(serverPropName) &&\n (2 < Object.keys(propName$jscomp$0).length ||\n 2 < Object.keys(serverPropName).length ||\n -1 < clientPropValue.indexOf(\"...\") ||\n -1 < maxLength$jscomp$0.indexOf(\"...\"))\n ? (content +=\n indentation(indent + 1) +\n _propName2 +\n \"={{\\n\" +\n describePropertiesDiff(\n propName$jscomp$0,\n serverPropName,\n indent + 2\n ) +\n indentation(indent + 1) +\n \"}}\\n\")\n : ((content +=\n added(indent + 1) +\n _propName2 +\n \"=\" +\n clientPropValue +\n \"\\n\"),\n (content +=\n removed(indent + 1) +\n _propName2 +\n \"=\" +\n maxLength$jscomp$0 +\n \"\\n\"));\n } else\n content +=\n indentation(indent + 1) +\n _propName2 +\n \"=\" +\n describePropValue(clientProps[_propName2], maxLength$jscomp$0) +\n \"\\n\";\n }\n serverPropNames.forEach(function (propName) {\n if (\"children\" !== propName) {\n var maxLength = 120 - 2 * (indent + 1) - propName.length - 1;\n content +=\n removed(indent + 1) +\n propName +\n \"=\" +\n describePropValue(serverProps[propName], maxLength) +\n \"\\n\";\n }\n });\n content =\n \"\" === content\n ? indentation(indent) + \"<\" + type + \">\\n\"\n : indentation(indent) +\n \"<\" +\n type +\n \"\\n\" +\n content +\n indentation(indent) +\n \">\\n\";\n }\n type = serverProps.children;\n clientProps = clientProps.children;\n if (\n \"string\" === typeof type ||\n \"number\" === typeof type ||\n \"bigint\" === typeof type\n ) {\n serverPropNames = \"\";\n if (\n \"string\" === typeof clientProps ||\n \"number\" === typeof clientProps ||\n \"bigint\" === typeof clientProps\n )\n serverPropNames = \"\" + clientProps;\n content += describeTextDiff(serverPropNames, \"\" + type, indent + 1);\n } else if (\n \"string\" === typeof clientProps ||\n \"number\" === typeof clientProps ||\n \"bigint\" === typeof clientProps\n )\n content =\n null == type\n ? content + describeTextDiff(\"\" + clientProps, null, indent + 1)\n : content + describeTextDiff(\"\" + clientProps, void 0, indent + 1);\n return content;\n }\n function describeSiblingFiber(fiber, indent) {\n var type = describeFiberType(fiber);\n if (null === type) {\n type = \"\";\n for (fiber = fiber.child; fiber; )\n (type += describeSiblingFiber(fiber, indent)),\n (fiber = fiber.sibling);\n return type;\n }\n return indentation(indent) + \"<\" + type + \">\\n\";\n }\n function describeNode(node, indent) {\n var skipToNode = findNotableNode(node, indent);\n if (\n skipToNode !== node &&\n (1 !== node.children.length || node.children[0] !== skipToNode)\n )\n return (\n indentation(indent) + \"...\\n\" + describeNode(skipToNode, indent + 1)\n );\n skipToNode = \"\";\n var debugInfo = node.fiber._debugInfo;\n if (debugInfo)\n for (var i = 0; i < debugInfo.length; i++) {\n var serverComponentName = debugInfo[i].name;\n \"string\" === typeof serverComponentName &&\n ((skipToNode +=\n indentation(indent) + \"<\" + serverComponentName + \">\\n\"),\n indent++);\n }\n debugInfo = \"\";\n i = node.fiber.pendingProps;\n if (6 === node.fiber.tag)\n (debugInfo = describeTextDiff(i, node.serverProps, indent)), indent++;\n else if (\n ((serverComponentName = describeFiberType(node.fiber)),\n null !== serverComponentName)\n )\n if (void 0 === node.serverProps) {\n debugInfo = indent;\n var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2,\n content = \"\";\n for (propName in i)\n if (i.hasOwnProperty(propName) && \"children\" !== propName) {\n var propValue = describePropValue(i[propName], 15);\n maxLength -= propName.length + propValue.length + 2;\n if (0 > maxLength) {\n content += \" ...\";\n break;\n }\n content += \" \" + propName + \"=\" + propValue;\n }\n debugInfo =\n indentation(debugInfo) +\n \"<\" +\n serverComponentName +\n content +\n \">\\n\";\n indent++;\n } else\n null === node.serverProps\n ? ((debugInfo = describeExpandedElement(\n serverComponentName,\n i,\n added(indent)\n )),\n indent++)\n : \"string\" === typeof node.serverProps\n ? console.error(\n \"Should not have matched a non HostText fiber to a Text node. This is a bug in React.\"\n )\n : ((debugInfo = describeElementDiff(\n serverComponentName,\n i,\n node.serverProps,\n indent\n )),\n indent++);\n var propName = \"\";\n i = node.fiber.child;\n for (\n serverComponentName = 0;\n i && serverComponentName < node.children.length;\n\n )\n (maxLength = node.children[serverComponentName]),\n maxLength.fiber === i\n ? ((propName += describeNode(maxLength, indent)),\n serverComponentName++)\n : (propName += describeSiblingFiber(i, indent)),\n (i = i.sibling);\n i &&\n 0 < node.children.length &&\n (propName += indentation(indent) + \"...\\n\");\n i = node.serverTail;\n null === node.serverProps && indent--;\n for (node = 0; node < i.length; node++)\n (serverComponentName = i[node]),\n (propName =\n \"string\" === typeof serverComponentName\n ? propName +\n (removed(indent) +\n describeTextNode(serverComponentName, 120 - 2 * indent) +\n \"\\n\")\n : propName +\n describeExpandedElement(\n serverComponentName.type,\n serverComponentName.props,\n removed(indent)\n ));\n return skipToNode + debugInfo + propName;\n }\n function describeDiff(rootNode) {\n try {\n return \"\\n\\n\" + describeNode(rootNode, 0);\n } catch (x) {\n return \"\";\n }\n }\n function describeAncestors(ancestor, child, props) {\n for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; )\n fiber === ancestor && (distanceFromLeaf = 0),\n (node = {\n fiber: fiber,\n children: null !== node ? [node] : [],\n serverProps:\n fiber === child ? props : fiber === ancestor ? null : void 0,\n serverTail: [],\n distanceFromLeaf: distanceFromLeaf\n }),\n distanceFromLeaf++,\n (fiber = fiber.return);\n return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, \">\") : \"\";\n }\n function updatedAncestorInfoDev(oldInfo, tag) {\n var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev),\n info = { tag: tag };\n -1 !== inScopeTags.indexOf(tag) &&\n ((ancestorInfo.aTagInScope = null),\n (ancestorInfo.buttonTagInScope = null),\n (ancestorInfo.nobrTagInScope = null));\n -1 !== buttonScopeTags.indexOf(tag) &&\n (ancestorInfo.pTagInButtonScope = null);\n -1 !== specialTags.indexOf(tag) &&\n \"address\" !== tag &&\n \"div\" !== tag &&\n \"p\" !== tag &&\n ((ancestorInfo.listItemTagAutoclosing = null),\n (ancestorInfo.dlItemTagAutoclosing = null));\n ancestorInfo.current = info;\n \"form\" === tag && (ancestorInfo.formTag = info);\n \"a\" === tag && (ancestorInfo.aTagInScope = info);\n \"button\" === tag && (ancestorInfo.buttonTagInScope = info);\n \"nobr\" === tag && (ancestorInfo.nobrTagInScope = info);\n \"p\" === tag && (ancestorInfo.pTagInButtonScope = info);\n \"li\" === tag && (ancestorInfo.listItemTagAutoclosing = info);\n if (\"dd\" === tag || \"dt\" === tag)\n ancestorInfo.dlItemTagAutoclosing = info;\n \"#document\" === tag || \"html\" === tag\n ? (ancestorInfo.containerTagInScope = null)\n : ancestorInfo.containerTagInScope ||\n (ancestorInfo.containerTagInScope = info);\n null !== oldInfo ||\n (\"#document\" !== tag && \"html\" !== tag && \"body\" !== tag)\n ? !0 === ancestorInfo.implicitRootScope &&\n (ancestorInfo.implicitRootScope = !1)\n : (ancestorInfo.implicitRootScope = !0);\n return ancestorInfo;\n }\n function isTagValidWithParent(tag, parentTag, implicitRootScope) {\n switch (parentTag) {\n case \"select\":\n return (\n \"hr\" === tag ||\n \"option\" === tag ||\n \"optgroup\" === tag ||\n \"script\" === tag ||\n \"template\" === tag ||\n \"#text\" === tag\n );\n case \"optgroup\":\n return \"option\" === tag || \"#text\" === tag;\n case \"option\":\n return \"#text\" === tag;\n case \"tr\":\n return (\n \"th\" === tag ||\n \"td\" === tag ||\n \"style\" === tag ||\n \"script\" === tag ||\n \"template\" === tag\n );\n case \"tbody\":\n case \"thead\":\n case \"tfoot\":\n return (\n \"tr\" === tag ||\n \"style\" === tag ||\n \"script\" === tag ||\n \"template\" === tag\n );\n case \"colgroup\":\n return \"col\" === tag || \"template\" === tag;\n case \"table\":\n return (\n \"caption\" === tag ||\n \"colgroup\" === tag ||\n \"tbody\" === tag ||\n \"tfoot\" === tag ||\n \"thead\" === tag ||\n \"style\" === tag ||\n \"script\" === tag ||\n \"template\" === tag\n );\n case \"head\":\n return (\n \"base\" === tag ||\n \"basefont\" === tag ||\n \"bgsound\" === tag ||\n \"link\" === tag ||\n \"meta\" === tag ||\n \"title\" === tag ||\n \"noscript\" === tag ||\n \"noframes\" === tag ||\n \"style\" === tag ||\n \"script\" === tag ||\n \"template\" === tag\n );\n case \"html\":\n if (implicitRootScope) break;\n return \"head\" === tag || \"body\" === tag || \"frameset\" === tag;\n case \"frameset\":\n return \"frame\" === tag;\n case \"#document\":\n if (!implicitRootScope) return \"html\" === tag;\n }\n switch (tag) {\n case \"h1\":\n case \"h2\":\n case \"h3\":\n case \"h4\":\n case \"h5\":\n case \"h6\":\n return (\n \"h1\" !== parentTag &&\n \"h2\" !== parentTag &&\n \"h3\" !== parentTag &&\n \"h4\" !== parentTag &&\n \"h5\" !== parentTag &&\n \"h6\" !== parentTag\n );\n case \"rp\":\n case \"rt\":\n return -1 === impliedEndTags.indexOf(parentTag);\n case \"caption\":\n case \"col\":\n case \"colgroup\":\n case \"frameset\":\n case \"frame\":\n case \"tbody\":\n case \"td\":\n case \"tfoot\":\n case \"th\":\n case \"thead\":\n case \"tr\":\n return null == parentTag;\n case \"head\":\n return implicitRootScope || null === parentTag;\n case \"html\":\n return (\n (implicitRootScope && \"#document\" === parentTag) ||\n null === parentTag\n );\n case \"body\":\n return (\n (implicitRootScope &&\n (\"#document\" === parentTag || \"html\" === parentTag)) ||\n null === parentTag\n );\n }\n return !0;\n }\n function findInvalidAncestorForTag(tag, ancestorInfo) {\n switch (tag) {\n case \"address\":\n case \"article\":\n case \"aside\":\n case \"blockquote\":\n case \"center\":\n case \"details\":\n case \"dialog\":\n case \"dir\":\n case \"div\":\n case \"dl\":\n case \"fieldset\":\n case \"figcaption\":\n case \"figure\":\n case \"footer\":\n case \"header\":\n case \"hgroup\":\n case \"main\":\n case \"menu\":\n case \"nav\":\n case \"ol\":\n case \"p\":\n case \"section\":\n case \"summary\":\n case \"ul\":\n case \"pre\":\n case \"listing\":\n case \"table\":\n case \"hr\":\n case \"xmp\":\n case \"h1\":\n case \"h2\":\n case \"h3\":\n case \"h4\":\n case \"h5\":\n case \"h6\":\n return ancestorInfo.pTagInButtonScope;\n case \"form\":\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n case \"li\":\n return ancestorInfo.listItemTagAutoclosing;\n case \"dd\":\n case \"dt\":\n return ancestorInfo.dlItemTagAutoclosing;\n case \"button\":\n return ancestorInfo.buttonTagInScope;\n case \"a\":\n return ancestorInfo.aTagInScope;\n case \"nobr\":\n return ancestorInfo.nobrTagInScope;\n }\n return null;\n }\n function findAncestor(parent, tagName) {\n for (; parent; ) {\n switch (parent.tag) {\n case 5:\n case 26:\n case 27:\n if (parent.type === tagName) return parent;\n }\n parent = parent.return;\n }\n return null;\n }\n function validateDOMNesting(childTag, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfoDev;\n var parentInfo = ancestorInfo.current;\n ancestorInfo = (parentInfo = isTagValidWithParent(\n childTag,\n parentInfo && parentInfo.tag,\n ancestorInfo.implicitRootScope\n )\n ? null\n : parentInfo)\n ? null\n : findInvalidAncestorForTag(childTag, ancestorInfo);\n ancestorInfo = parentInfo || ancestorInfo;\n if (!ancestorInfo) return !0;\n var ancestorTag = ancestorInfo.tag;\n ancestorInfo = String(!!parentInfo) + \"|\" + childTag + \"|\" + ancestorTag;\n if (didWarn[ancestorInfo]) return !1;\n didWarn[ancestorInfo] = !0;\n var ancestor = (ancestorInfo = current)\n ? findAncestor(ancestorInfo.return, ancestorTag)\n : null,\n ancestorDescription =\n null !== ancestorInfo && null !== ancestor\n ? describeAncestors(ancestor, ancestorInfo, null)\n : \"\",\n tagDisplayName = \"<\" + childTag + \">\";\n parentInfo\n ? ((parentInfo = \"\"),\n \"table\" === ancestorTag &&\n \"tr\" === childTag &&\n (parentInfo +=\n \" Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser.\"),\n console.error(\n \"In HTML, %s cannot be a child of <%s>.%s\\nThis will cause a hydration error.%s\",\n tagDisplayName,\n ancestorTag,\n parentInfo,\n ancestorDescription\n ))\n : console.error(\n \"In HTML, %s cannot be a descendant of <%s>.\\nThis will cause a hydration error.%s\",\n tagDisplayName,\n ancestorTag,\n ancestorDescription\n );\n ancestorInfo &&\n ((childTag = ancestorInfo.return),\n null === ancestor ||\n null === childTag ||\n (ancestor === childTag &&\n childTag._debugOwner === ancestorInfo._debugOwner) ||\n runWithFiberInDEV(ancestor, function () {\n console.error(\n \"<%s> cannot contain a nested %s.\\nSee this log for the ancestor stack trace.\",\n ancestorTag,\n tagDisplayName\n );\n }));\n return !1;\n }\n function validateTextNesting(childText, parentTag, implicitRootScope) {\n if (implicitRootScope || isTagValidWithParent(\"#text\", parentTag, !1))\n return !0;\n implicitRootScope = \"#text|\" + parentTag;\n if (didWarn[implicitRootScope]) return !1;\n didWarn[implicitRootScope] = !0;\n var ancestor = (implicitRootScope = current)\n ? findAncestor(implicitRootScope, parentTag)\n : null;\n implicitRootScope =\n null !== implicitRootScope && null !== ancestor\n ? describeAncestors(\n ancestor,\n implicitRootScope,\n 6 !== implicitRootScope.tag ? { children: null } : null\n )\n : \"\";\n /\\S/.test(childText)\n ? console.error(\n \"In HTML, text nodes cannot be a child of <%s>.\\nThis will cause a hydration error.%s\",\n parentTag,\n implicitRootScope\n )\n : console.error(\n \"In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\\nThis will cause a hydration error.%s\",\n parentTag,\n implicitRootScope\n );\n return !1;\n }\n function setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n }\n function camelize(string) {\n return string.replace(hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n }\n function setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n isCustomProperty ||\n (-1 < styleName.indexOf(\"-\")\n ? (warnedStyleNames.hasOwnProperty(styleName) &&\n warnedStyleNames[styleName]) ||\n ((warnedStyleNames[styleName] = !0),\n console.error(\n \"Unsupported style property %s. Did you mean %s?\",\n styleName,\n camelize(styleName.replace(msPattern, \"ms-\"))\n ))\n : badVendoredStyleNamePattern.test(styleName)\n ? (warnedStyleNames.hasOwnProperty(styleName) &&\n warnedStyleNames[styleName]) ||\n ((warnedStyleNames[styleName] = !0),\n console.error(\n \"Unsupported vendor-prefixed style property %s. Did you mean %s?\",\n styleName,\n styleName.charAt(0).toUpperCase() + styleName.slice(1)\n ))\n : !badStyleValueWithSemicolonPattern.test(value) ||\n (warnedStyleValues.hasOwnProperty(value) &&\n warnedStyleValues[value]) ||\n ((warnedStyleValues[value] = !0),\n console.error(\n 'Style property values shouldn\\'t contain a semicolon. Try \"%s: %s\" instead.',\n styleName,\n value.replace(badStyleValueWithSemicolonPattern, \"\")\n )),\n \"number\" === typeof value &&\n (isNaN(value)\n ? warnedForNaNValue ||\n ((warnedForNaNValue = !0),\n console.error(\n \"`NaN` is an invalid value for the `%s` css style property.\",\n styleName\n ))\n : isFinite(value) ||\n warnedForInfinityValue ||\n ((warnedForInfinityValue = !0),\n console.error(\n \"`Infinity` is an invalid value for the `%s` css style property.\",\n styleName\n ))));\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (checkCSSPropertyStringCoercion(value, styleName),\n (style[styleName] = (\"\" + value).trim()))\n : (style[styleName] = value + \"px\");\n }\n function setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(\n \"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\"\n );\n styles && Object.freeze(styles);\n node = node.style;\n if (null != prevStyles) {\n if (styles) {\n var expandedUpdates = {};\n if (prevStyles)\n for (var key in prevStyles)\n if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key))\n for (\n var longhands = shorthandToLonghand[key] || [key], i = 0;\n i < longhands.length;\n i++\n )\n expandedUpdates[longhands[i]] = key;\n for (var _key in styles)\n if (\n styles.hasOwnProperty(_key) &&\n (!prevStyles || prevStyles[_key] !== styles[_key])\n )\n for (\n key = shorthandToLonghand[_key] || [_key], longhands = 0;\n longhands < key.length;\n longhands++\n )\n expandedUpdates[key[longhands]] = _key;\n _key = {};\n for (var key$jscomp$0 in styles)\n for (\n key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0],\n longhands = 0;\n longhands < key.length;\n longhands++\n )\n _key[key[longhands]] = key$jscomp$0;\n key$jscomp$0 = {};\n for (var _key2 in expandedUpdates)\n if (\n ((key = expandedUpdates[_key2]),\n (longhands = _key[_key2]) &&\n key !== longhands &&\n ((i = key + \",\" + longhands), !key$jscomp$0[i]))\n ) {\n key$jscomp$0[i] = !0;\n i = console;\n var value = styles[key];\n i.error.call(\n i,\n \"%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.\",\n null == value || \"boolean\" === typeof value || \"\" === value\n ? \"Removing\"\n : \"Updating\",\n key,\n longhands\n );\n }\n }\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var _styleName in styles)\n (_key2 = styles[_styleName]),\n styles.hasOwnProperty(_styleName) &&\n prevStyles[_styleName] !== _key2 &&\n setValueForStyle(node, _styleName, _key2);\n } else\n for (expandedUpdates in styles)\n styles.hasOwnProperty(expandedUpdates) &&\n setValueForStyle(node, expandedUpdates, styles[expandedUpdates]);\n }\n function isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n }\n function getAttributeAlias(name) {\n return aliases.get(name) || name;\n }\n function validateProperty$1(tagName, name) {\n if (\n hasOwnProperty.call(warnedProperties$1, name) &&\n warnedProperties$1[name]\n )\n return !0;\n if (rARIACamel$1.test(name)) {\n tagName = \"aria-\" + name.slice(4).toLowerCase();\n tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;\n if (null == tagName)\n return (\n console.error(\n \"Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.\",\n name\n ),\n (warnedProperties$1[name] = !0)\n );\n if (name !== tagName)\n return (\n console.error(\n \"Invalid ARIA attribute `%s`. Did you mean `%s`?\",\n name,\n tagName\n ),\n (warnedProperties$1[name] = !0)\n );\n }\n if (rARIA$1.test(name)) {\n tagName = name.toLowerCase();\n tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null;\n if (null == tagName) return (warnedProperties$1[name] = !0), !1;\n name !== tagName &&\n (console.error(\n \"Unknown ARIA attribute `%s`. Did you mean `%s`?\",\n name,\n tagName\n ),\n (warnedProperties$1[name] = !0));\n }\n return !0;\n }\n function validateProperties$2(type, props) {\n var invalidProps = [],\n key;\n for (key in props)\n validateProperty$1(type, key) || invalidProps.push(key);\n props = invalidProps\n .map(function (prop) {\n return \"`\" + prop + \"`\";\n })\n .join(\", \");\n 1 === invalidProps.length\n ? console.error(\n \"Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props\",\n props,\n type\n )\n : 1 < invalidProps.length &&\n console.error(\n \"Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props\",\n props,\n type\n );\n }\n function validateProperty(tagName, name, value, eventRegistry) {\n if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name])\n return !0;\n var lowerCasedName = name.toLowerCase();\n if (\"onfocusin\" === lowerCasedName || \"onfocusout\" === lowerCasedName)\n return (\n console.error(\n \"React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React.\"\n ),\n (warnedProperties[name] = !0)\n );\n if (\n \"function\" === typeof value &&\n ((\"form\" === tagName && \"action\" === name) ||\n (\"input\" === tagName && \"formAction\" === name) ||\n (\"button\" === tagName && \"formAction\" === name))\n )\n return !0;\n if (null != eventRegistry) {\n tagName = eventRegistry.possibleRegistrationNames;\n if (eventRegistry.registrationNameDependencies.hasOwnProperty(name))\n return !0;\n eventRegistry = tagName.hasOwnProperty(lowerCasedName)\n ? tagName[lowerCasedName]\n : null;\n if (null != eventRegistry)\n return (\n console.error(\n \"Invalid event handler property `%s`. Did you mean `%s`?\",\n name,\n eventRegistry\n ),\n (warnedProperties[name] = !0)\n );\n if (EVENT_NAME_REGEX.test(name))\n return (\n console.error(\n \"Unknown event handler property `%s`. It will be ignored.\",\n name\n ),\n (warnedProperties[name] = !0)\n );\n } else if (EVENT_NAME_REGEX.test(name))\n return (\n INVALID_EVENT_NAME_REGEX.test(name) &&\n console.error(\n \"Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.\",\n name\n ),\n (warnedProperties[name] = !0)\n );\n if (rARIA.test(name) || rARIACamel.test(name)) return !0;\n if (\"innerhtml\" === lowerCasedName)\n return (\n console.error(\n \"Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`.\"\n ),\n (warnedProperties[name] = !0)\n );\n if (\"aria\" === lowerCasedName)\n return (\n console.error(\n \"The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead.\"\n ),\n (warnedProperties[name] = !0)\n );\n if (\n \"is\" === lowerCasedName &&\n null !== value &&\n void 0 !== value &&\n \"string\" !== typeof value\n )\n return (\n console.error(\n \"Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.\",\n typeof value\n ),\n (warnedProperties[name] = !0)\n );\n if (\"number\" === typeof value && isNaN(value))\n return (\n console.error(\n \"Received NaN for the `%s` attribute. If this is expected, cast the value to a string.\",\n name\n ),\n (warnedProperties[name] = !0)\n );\n if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\n if (\n ((lowerCasedName = possibleStandardNames[lowerCasedName]),\n lowerCasedName !== name)\n )\n return (\n console.error(\n \"Invalid DOM property `%s`. Did you mean `%s`?\",\n name,\n lowerCasedName\n ),\n (warnedProperties[name] = !0)\n );\n } else if (name !== lowerCasedName)\n return (\n console.error(\n \"React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.\",\n name,\n lowerCasedName\n ),\n (warnedProperties[name] = !0)\n );\n switch (name) {\n case \"dangerouslySetInnerHTML\":\n case \"children\":\n case \"style\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n return !0;\n case \"innerText\":\n case \"textContent\":\n return !0;\n }\n switch (typeof value) {\n case \"boolean\":\n switch (name) {\n case \"autoFocus\":\n case \"checked\":\n case \"multiple\":\n case \"muted\":\n case \"selected\":\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n case \"capture\":\n case \"download\":\n case \"inert\":\n return !0;\n default:\n lowerCasedName = name.toLowerCase().slice(0, 5);\n if (\"data-\" === lowerCasedName || \"aria-\" === lowerCasedName)\n return !0;\n value\n ? console.error(\n 'Received `%s` for a non-boolean attribute `%s`.\\n\\nIf you want to write it to the DOM, pass a string instead: %s=\"%s\" or %s={value.toString()}.',\n value,\n name,\n name,\n value,\n name\n )\n : console.error(\n 'Received `%s` for a non-boolean attribute `%s`.\\n\\nIf you want to write it to the DOM, pass a string instead: %s=\"%s\" or %s={value.toString()}.\\n\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.',\n value,\n name,\n name,\n value,\n name,\n name,\n name\n );\n return (warnedProperties[name] = !0);\n }\n case \"function\":\n case \"symbol\":\n return (warnedProperties[name] = !0), !1;\n case \"string\":\n if (\"false\" === value || \"true\" === value) {\n switch (name) {\n case \"checked\":\n case \"selected\":\n case \"multiple\":\n case \"muted\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n case \"inert\":\n break;\n default:\n return !0;\n }\n console.error(\n \"Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?\",\n value,\n name,\n \"false\" === value\n ? \"The browser will interpret it as a truthy value.\"\n : 'Although this works, it will not work as expected if you pass the string \"false\".',\n name,\n value\n );\n warnedProperties[name] = !0;\n }\n }\n return !0;\n }\n function warnUnknownProperties(type, props, eventRegistry) {\n var unknownProps = [],\n key;\n for (key in props)\n validateProperty(type, key, props[key], eventRegistry) ||\n unknownProps.push(key);\n props = unknownProps\n .map(function (prop) {\n return \"`\" + prop + \"`\";\n })\n .join(\", \");\n 1 === unknownProps.length\n ? console.error(\n \"Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior \",\n props,\n type\n )\n : 1 < unknownProps.length &&\n console.error(\n \"Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior \",\n props,\n type\n );\n }\n function sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n }\n function getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n }\n function restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (\n ((target = internalInstance.stateNode), internalInstance.type)\n ) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n checkAttributeStringCoercion(internalInstance, \"name\");\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps)\n throw Error(\n \"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.\"\n );\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form &&\n updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n }\n function batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n }\n function getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof stateNode +\n \"` type.\"\n );\n return stateNode;\n }\n function getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n }\n function getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n }\n function functionThatReturnsTrue() {\n return !0;\n }\n function functionThatReturnsFalse() {\n return !1;\n }\n function createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue &&\n (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n }\n function modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n }\n function getEventModifierState() {\n return modifierStateGetter;\n }\n function isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return nativeEvent.keyCode !== START_KEYCODE;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n }\n function getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n }\n function getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (nativeEvent.which !== SPACEBAR_CODE) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress\n ? null\n : domEventName\n );\n default:\n return null;\n }\n }\n function getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(\n nativeEvent.ctrlKey ||\n nativeEvent.altKey ||\n nativeEvent.metaKey\n ) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which)\n return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n }\n function isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n }\n function isEventSupported(eventNameSuffix) {\n if (!canUseDOM) return !1;\n eventNameSuffix = \"on\" + eventNameSuffix;\n var isSupported = eventNameSuffix in document;\n isSupported ||\n ((isSupported = document.createElement(\"div\")),\n isSupported.setAttribute(eventNameSuffix, \"return;\"),\n (isSupported = \"function\" === typeof isSupported[eventNameSuffix]));\n return isSupported;\n }\n function createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n ) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n }\n function runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n }\n function getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n }\n function getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n }\n function stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n }\n function handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n }\n function handleEventsForInputEventPolyfill(\n domEventName,\n target,\n targetInst\n ) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n }\n function getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n }\n function getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n }\n function getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n }\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n }\n function getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n }\n function getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n }\n function containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n }\n function getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n }\n function hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n }\n function constructSelectEvent(\n dispatchQueue,\n nativeEvent,\n nativeEventTarget\n ) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n }\n function makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n }\n function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n }\n function registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n }\n function createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n }\n function finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n }\n function enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n }\n function enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber ||\n sourceFiber._visibility & OffscreenVisible ||\n (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n }\n function getRootForUpdatedFiber(sourceFiber) {\n if (nestedUpdateCount > NESTED_UPDATE_LIMIT)\n throw (\n ((nestedPassiveUpdateCount = nestedUpdateCount = 0),\n (rootWithPassiveNestedUpdates = rootWithNestedUpdates = null),\n Error(\n \"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\"\n ))\n );\n nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT &&\n ((nestedPassiveUpdateCount = 0),\n (rootWithPassiveNestedUpdates = null),\n console.error(\n \"Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.\"\n ));\n null === sourceFiber.alternate &&\n 0 !== (sourceFiber.flags & 4098) &&\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber);\n for (var node = sourceFiber, parent = node.return; null !== parent; )\n null === node.alternate &&\n 0 !== (node.flags & 4098) &&\n warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber),\n (node = parent),\n (parent = node.return);\n return 3 === node.tag ? node.stateNode : null;\n }\n function resolveFunctionForHotReloading(type) {\n if (null === resolveFamily) return type;\n var family = resolveFamily(type);\n return void 0 === family ? type : family.current;\n }\n function resolveForwardRefForHotReloading(type) {\n if (null === resolveFamily) return type;\n var family = resolveFamily(type);\n return void 0 === family\n ? null !== type &&\n void 0 !== type &&\n \"function\" === typeof type.render &&\n ((family = resolveFunctionForHotReloading(type.render)),\n type.render !== family)\n ? ((family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }),\n void 0 !== type.displayName &&\n (family.displayName = type.displayName),\n family)\n : type\n : family.current;\n }\n function isCompatibleFamilyForHotReloading(fiber, element) {\n if (null === resolveFamily) return !1;\n var prevType = fiber.elementType;\n element = element.type;\n var needsCompareFamilies = !1,\n $$typeofNextType =\n \"object\" === typeof element && null !== element\n ? element.$$typeof\n : null;\n switch (fiber.tag) {\n case 1:\n \"function\" === typeof element && (needsCompareFamilies = !0);\n break;\n case 0:\n \"function\" === typeof element\n ? (needsCompareFamilies = !0)\n : $$typeofNextType === REACT_LAZY_TYPE &&\n (needsCompareFamilies = !0);\n break;\n case 11:\n $$typeofNextType === REACT_FORWARD_REF_TYPE\n ? (needsCompareFamilies = !0)\n : $$typeofNextType === REACT_LAZY_TYPE &&\n (needsCompareFamilies = !0);\n break;\n case 14:\n case 15:\n $$typeofNextType === REACT_MEMO_TYPE\n ? (needsCompareFamilies = !0)\n : $$typeofNextType === REACT_LAZY_TYPE &&\n (needsCompareFamilies = !0);\n break;\n default:\n return !1;\n }\n return needsCompareFamilies &&\n ((fiber = resolveFamily(prevType)),\n void 0 !== fiber && fiber === resolveFamily(element))\n ? !0\n : !1;\n }\n function markFailedErrorBoundaryForHotReloading(fiber) {\n null !== resolveFamily &&\n \"function\" === typeof WeakSet &&\n (null === failedBoundaries && (failedBoundaries = new WeakSet()),\n failedBoundaries.add(fiber));\n }\n function scheduleFibersWithFamiliesRecursively(\n fiber,\n updatedFamilies,\n staleFamilies\n ) {\n var alternate = fiber.alternate,\n child = fiber.child,\n sibling = fiber.sibling,\n tag = fiber.tag,\n type = fiber.type,\n candidateType = null;\n switch (tag) {\n case 0:\n case 15:\n case 1:\n candidateType = type;\n break;\n case 11:\n candidateType = type.render;\n }\n if (null === resolveFamily)\n throw Error(\"Expected resolveFamily to be set during hot reload.\");\n var needsRender = !1;\n type = !1;\n null !== candidateType &&\n ((candidateType = resolveFamily(candidateType)),\n void 0 !== candidateType &&\n (staleFamilies.has(candidateType)\n ? (type = !0)\n : updatedFamilies.has(candidateType) &&\n (1 === tag ? (type = !0) : (needsRender = !0))));\n null !== failedBoundaries &&\n (failedBoundaries.has(fiber) ||\n (null !== alternate && failedBoundaries.has(alternate))) &&\n (type = !0);\n type && (fiber._debugNeedsRemount = !0);\n if (type || needsRender)\n (alternate = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2);\n null === child ||\n type ||\n scheduleFibersWithFamiliesRecursively(\n child,\n updatedFamilies,\n staleFamilies\n );\n null !== sibling &&\n scheduleFibersWithFamiliesRecursively(\n sibling,\n updatedFamilies,\n staleFamilies\n );\n }\n function FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n this.actualDuration = -0;\n this.actualStartTime = -1.1;\n this.treeBaseDuration = this.selfBaseDuration = -0;\n this._debugTask =\n this._debugStack =\n this._debugOwner =\n this._debugInfo =\n null;\n this._debugNeedsRemount = !1;\n this._debugHookTypes = null;\n hasBadMapPolyfill ||\n \"function\" !== typeof Object.preventExtensions ||\n Object.preventExtensions(this);\n }\n function shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n }\n function createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiber(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress._debugOwner = current._debugOwner),\n (workInProgress._debugStack = current._debugStack),\n (workInProgress._debugTask = current._debugTask),\n (workInProgress._debugHookTypes = current._debugHookTypes),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.actualDuration = -0),\n (workInProgress.actualStartTime = -1.1));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : {\n lanes: pendingProps.lanes,\n firstContext: pendingProps.firstContext,\n _debugThenableState: pendingProps._debugThenableState\n };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n workInProgress.selfBaseDuration = current.selfBaseDuration;\n workInProgress.treeBaseDuration = current.treeBaseDuration;\n workInProgress._debugInfo = current._debugInfo;\n workInProgress._debugNeedsRemount = current._debugNeedsRemount;\n switch (workInProgress.tag) {\n case 0:\n case 15:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n case 1:\n workInProgress.type = resolveFunctionForHotReloading(current.type);\n break;\n case 11:\n workInProgress.type = resolveForwardRefForHotReloading(current.type);\n }\n return workInProgress;\n }\n function resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null),\n (workInProgress.selfBaseDuration = 0),\n (workInProgress.treeBaseDuration = 0))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext,\n _debugThenableState: renderLanes._debugThenableState\n }),\n (workInProgress.selfBaseDuration = current.selfBaseDuration),\n (workInProgress.treeBaseDuration = current.treeBaseDuration));\n return workInProgress;\n }\n function createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n ) {\n var fiberTag = 0,\n resolvedType = type;\n if (\"function\" === typeof type)\n shouldConstruct(type) && (fiberTag = 1),\n (resolvedType = resolveFunctionForHotReloading(resolvedType));\n else if (\"string\" === typeof type)\n (fiberTag = getHostContext()),\n (fiberTag = isHostHoistableType(type, pendingProps, fiberTag)\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5);\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (key = createFiber(31, pendingProps, key, mode)),\n (key.elementType = REACT_ACTIVITY_TYPE),\n (key.lanes = lanes),\n key\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(\n pendingProps.children,\n mode,\n lanes,\n key\n );\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= StrictLegacyMode;\n mode |= StrictEffectsMode;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = pendingProps),\n (owner = mode),\n \"string\" !== typeof type.id &&\n console.error(\n 'Profiler must specify an \"id\" of type `string` as a prop. Received the type `%s` instead.',\n typeof type.id\n ),\n (key = createFiber(12, type, key, owner | ProfileMode)),\n (key.elementType = REACT_PROFILER_TYPE),\n (key.lanes = lanes),\n (key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }),\n key\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (key = createFiber(13, pendingProps, key, mode)),\n (key.elementType = REACT_SUSPENSE_TYPE),\n (key.lanes = lanes),\n key\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (key = createFiber(19, pendingProps, key, mode)),\n (key.elementType = REACT_SUSPENSE_LIST_TYPE),\n (key.lanes = lanes),\n key\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n resolvedType = resolveForwardRefForHotReloading(resolvedType);\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n resolvedType = null;\n break a;\n }\n resolvedType = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n resolvedType +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (pendingProps = \"null\")\n : isArrayImpl(type)\n ? (pendingProps = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((pendingProps =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (resolvedType =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (pendingProps = typeof type);\n (fiberTag = owner ? getComponentNameFromOwner(owner) : null) &&\n (resolvedType +=\n \"\\n\\nCheck the render method of `\" + fiberTag + \"`.\");\n fiberTag = 29;\n pendingProps = Error(\n \"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \" +\n (pendingProps + \".\" + resolvedType)\n );\n resolvedType = null;\n }\n key = createFiber(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = resolvedType;\n key.lanes = lanes;\n key._debugOwner = owner;\n return key;\n }\n function createFiberFromElement(element, mode, lanes) {\n mode = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n element._owner,\n mode,\n lanes\n );\n mode._debugOwner = element._owner;\n mode._debugStack = element._debugStack;\n mode._debugTask = element._debugTask;\n return mode;\n }\n function createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiber(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n }\n function createFiberFromText(content, mode, lanes) {\n content = createFiber(6, content, null, mode);\n content.lanes = lanes;\n return content;\n }\n function createFiberFromPortal(portal, mode, lanes) {\n mode = createFiber(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n }\n function pushTreeFork(workInProgress, totalChildren) {\n warnIfNotHydrating();\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n }\n function pushTreeId(workInProgress, totalChildren, index) {\n warnIfNotHydrating();\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n }\n function pushMaterializedTreeId(workInProgress) {\n warnIfNotHydrating();\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n }\n function popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n }\n function warnIfNotHydrating() {\n isHydrating ||\n console.error(\n \"Expected to be hydrating. This is a bug in React. Please file an issue.\"\n );\n }\n function buildHydrationDiffNode(fiber, distanceFromLeaf) {\n if (null === fiber.return) {\n if (null === hydrationDiffRootDEV)\n hydrationDiffRootDEV = {\n fiber: fiber,\n children: [],\n serverProps: void 0,\n serverTail: [],\n distanceFromLeaf: distanceFromLeaf\n };\n else {\n if (hydrationDiffRootDEV.fiber !== fiber)\n throw Error(\n \"Saw multiple hydration diff roots in a pass. This is a bug in React.\"\n );\n hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf &&\n (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf);\n }\n return hydrationDiffRootDEV;\n }\n var siblings = buildHydrationDiffNode(\n fiber.return,\n distanceFromLeaf + 1\n ).children;\n if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber)\n return (\n (siblings = siblings[siblings.length - 1]),\n siblings.distanceFromLeaf > distanceFromLeaf &&\n (siblings.distanceFromLeaf = distanceFromLeaf),\n siblings\n );\n distanceFromLeaf = {\n fiber: fiber,\n children: [],\n serverProps: void 0,\n serverTail: [],\n distanceFromLeaf: distanceFromLeaf\n };\n siblings.push(distanceFromLeaf);\n return distanceFromLeaf;\n }\n function warnNonHydratedInstance(fiber, rejectedCandidate) {\n didSuspendOrErrorDEV ||\n ((fiber = buildHydrationDiffNode(fiber, 0)),\n (fiber.serverProps = null),\n null !== rejectedCandidate &&\n ((rejectedCandidate =\n describeHydratableInstanceForDevWarnings(rejectedCandidate)),\n fiber.serverTail.push(rejectedCandidate)));\n }\n function throwOnHydrationMismatch(fiber) {\n var diff = \"\",\n diffRoot = hydrationDiffRootDEV;\n null !== diffRoot &&\n ((hydrationDiffRootDEV = null), (diff = describeDiff(diffRoot)));\n queueHydrationError(\n createCapturedValueAtFiber(\n Error(\n \"Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\\n\\n- A server/client branch `if (typeof window !== 'undefined')`.\\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\\n- Date formatting in a user's locale which doesn't match the server.\\n- External changing data without sending a snapshot of it along with the HTML.\\n- Invalid HTML tag nesting.\\n\\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\\n\\nhttps://react.dev/link/hydration-mismatch\" +\n diff\n ),\n fiber\n )\n );\n throw HydrationMismatchException;\n }\n function prepareToHydrateHostInstance(fiber) {\n var didHydrate = fiber.stateNode;\n var type = fiber.type,\n props = fiber.memoizedProps;\n didHydrate[internalInstanceKey] = fiber;\n didHydrate[internalPropsKey] = props;\n validatePropertiesInDevelopment(type, props);\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", didHydrate);\n listenToNonDelegatedEvent(\"close\", didHydrate);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", didHydrate);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", didHydrate);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", didHydrate);\n listenToNonDelegatedEvent(\"load\", didHydrate);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", didHydrate);\n break;\n case \"input\":\n checkControlledValueProps(\"input\", props);\n listenToNonDelegatedEvent(\"invalid\", didHydrate);\n validateInputProps(didHydrate, props);\n initInput(\n didHydrate,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n track(didHydrate);\n break;\n case \"option\":\n validateOptionProps(didHydrate, props);\n break;\n case \"select\":\n checkControlledValueProps(\"select\", props);\n listenToNonDelegatedEvent(\"invalid\", didHydrate);\n validateSelectProps(didHydrate, props);\n break;\n case \"textarea\":\n checkControlledValueProps(\"textarea\", props),\n listenToNonDelegatedEvent(\"invalid\", didHydrate),\n validateTextareaProps(didHydrate, props),\n initTextarea(\n didHydrate,\n props.value,\n props.defaultValue,\n props.children\n ),\n track(didHydrate);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n didHydrate.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(didHydrate.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", didHydrate),\n listenToNonDelegatedEvent(\"toggle\", didHydrate)),\n null != props.onScroll &&\n listenToNonDelegatedEvent(\"scroll\", didHydrate),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", didHydrate),\n null != props.onClick && (didHydrate.onclick = noop$1),\n (didHydrate = !0))\n : (didHydrate = !1);\n didHydrate || throwOnHydrationMismatch(fiber);\n }\n function popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n }\n function popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating)\n return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n if (JSCompiler_temp && nextHydratableInstance) {\n for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) {\n var diffNode = buildHydrationDiffNode(fiber, 0),\n description =\n describeHydratableInstanceForDevWarnings(JSCompiler_temp);\n diffNode.serverTail.push(description);\n JSCompiler_temp =\n \"Suspense\" === description.type\n ? getNextHydratableInstanceAfterSuspenseInstance(JSCompiler_temp)\n : getNextHydratable(JSCompiler_temp.nextSibling);\n }\n throwOnHydrationMismatch(fiber);\n }\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber)\n throw Error(\n \"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\"\n );\n nextHydratableInstance =\n getNextHydratableInstanceAfterSuspenseInstance(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n }\n function resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n didSuspendOrErrorDEV = isHydrating = !1;\n }\n function upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n }\n function queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n }\n function emitPendingHydrationWarnings() {\n var diffRoot = hydrationDiffRootDEV;\n if (null !== diffRoot) {\n hydrationDiffRootDEV = null;\n for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; )\n diffRoot = diffRoot.children[0];\n runWithFiberInDEV(diffRoot.fiber, function () {\n console.error(\n \"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\\n\\n- A server/client branch `if (typeof window !== 'undefined')`.\\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\\n- Date formatting in a user's locale which doesn't match the server.\\n- External changing data without sending a snapshot of it along with the HTML.\\n- Invalid HTML tag nesting.\\n\\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\\n\\n%s%s\",\n \"https://react.dev/link/hydration-mismatch\",\n diff\n );\n });\n }\n }\n function resetContextDependencies() {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n isDisallowedContextReadInDEV = !1;\n }\n function pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue, providerFiber);\n context._currentValue = nextValue;\n push(rendererCursorDEV, context._currentRenderer, providerFiber);\n void 0 !== context._currentRenderer &&\n null !== context._currentRenderer &&\n context._currentRenderer !== rendererSigil &&\n console.error(\n \"Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported.\"\n );\n context._currentRenderer = rendererSigil;\n }\n function popProvider(context, providerFiber) {\n context._currentValue = valueCursor.current;\n var currentRenderer = rendererCursorDEV.current;\n pop(rendererCursorDEV, providerFiber);\n context._currentRenderer = currentRenderer;\n pop(valueCursor, providerFiber);\n }\n function scheduleContextWorkOnParentPath(\n parent,\n renderLanes,\n propagationRoot\n ) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n parent !== propagationRoot &&\n console.error(\n \"Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n function propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n ) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber)\n throw Error(\n \"We just came from a parent so we must have had a parent. This is a bug in React.\"\n );\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n nextFiber,\n renderLanes,\n workInProgress\n );\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n }\n function propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n ) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current\n ? current.push(context)\n : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n }\n function checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n }\n function prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n }\n function readContext(context) {\n isDisallowedContextReadInDEV &&\n console.error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n }\n function readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n }\n function readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer)\n throw Error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n lastContextDependency = context;\n consumer.dependencies = {\n lanes: 0,\n firstContext: context,\n _debugThenableState: null\n };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n }\n function createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n }\n function retainCache(cache) {\n cache.controller.signal.aborted &&\n console.warn(\n \"A cache instance was retained after it was already freed. This likely indicates a bug in React.\"\n );\n cache.refCount++;\n }\n function releaseCache(cache) {\n cache.refCount--;\n 0 > cache.refCount &&\n console.warn(\n \"A cache instance was released after it was already freed. This likely indicates a bug in React.\"\n );\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n }\n function pushNestedEffectDurations() {\n var prevEffectDuration = profilerEffectDuration;\n profilerEffectDuration = 0;\n return prevEffectDuration;\n }\n function popNestedEffectDurations(prevEffectDuration) {\n var elapsedTime = profilerEffectDuration;\n profilerEffectDuration = prevEffectDuration;\n return elapsedTime;\n }\n function bubbleNestedEffectDurations(prevEffectDuration) {\n var elapsedTime = profilerEffectDuration;\n profilerEffectDuration += prevEffectDuration;\n return elapsedTime;\n }\n function startProfilerTimer(fiber) {\n profilerStartTime = now();\n 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime);\n }\n function stopProfilerTimerIfRunningAndRecordDuration(fiber) {\n if (0 <= profilerStartTime) {\n var elapsedTime = now() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n fiber.selfBaseDuration = elapsedTime;\n profilerStartTime = -1;\n }\n }\n function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) {\n if (0 <= profilerStartTime) {\n var elapsedTime = now() - profilerStartTime;\n fiber.actualDuration += elapsedTime;\n profilerStartTime = -1;\n }\n }\n function recordEffectDuration() {\n if (0 <= profilerStartTime) {\n var elapsedTime = now() - profilerStartTime;\n profilerStartTime = -1;\n profilerEffectDuration += elapsedTime;\n }\n }\n function startEffectTimer() {\n profilerStartTime = now();\n }\n function transferActualDuration(fiber) {\n for (var child = fiber.child; child; )\n (fiber.actualDuration += child.actualDuration), (child = child.sibling);\n }\n function entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n }\n function pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n }\n function chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n }\n function peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n }\n function pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current, offscreenWorkInProgress)\n : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress);\n }\n function getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n }\n function createThenableState() {\n return { didWarnAboutUncachedPromise: !1, thenables: [] };\n }\n function isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n }\n function noop$3() {}\n function trackUsedThenable(thenableState, thenable, index) {\n null !== ReactSharedInternals.actQueue &&\n (ReactSharedInternals.didUsePromise = !0);\n var trackedThenables = thenableState.thenables;\n index = trackedThenables[index];\n void 0 === index\n ? trackedThenables.push(thenable)\n : index !== thenable &&\n (thenableState.didWarnAboutUncachedPromise ||\n ((thenableState.didWarnAboutUncachedPromise = !0),\n console.error(\n \"A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework.\"\n )),\n thenable.then(noop$3, noop$3),\n (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status)\n thenable.then(noop$3, noop$3);\n else {\n thenableState = workInProgressRoot;\n if (\n null !== thenableState &&\n 100 < thenableState.shellSuspendCounter\n )\n throw Error(\n \"An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n needsToResetSuspendedThenableDEV = !0;\n throw SuspenseException;\n }\n }\n function getSuspendedThenable() {\n if (null === suspendedThenable)\n throw Error(\n \"Expected a suspended thenable. This is a bug in React. Please file an issue.\"\n );\n var thenable = suspendedThenable;\n suspendedThenable = null;\n needsToResetSuspendedThenableDEV = !1;\n return thenable;\n }\n function checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(\n \"Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n }\n function initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n }\n function cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n }\n function createUpdate(lane) {\n return {\n lane: lane,\n tag: UpdateState,\n payload: null,\n callback: null,\n next: null\n };\n }\n function enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (\n currentlyProcessingQueue === updateQueue &&\n !didWarnUpdateInsideUpdate\n ) {\n var componentName = getComponentNameFromFiber(fiber);\n console.error(\n \"An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\\n\\nPlease update the following component: %s\",\n componentName\n );\n didWarnUpdateInsideUpdate = !0;\n }\n if ((executionContext & RenderContext) !== NoContext)\n return (\n (componentName = updateQueue.pending),\n null === componentName\n ? (update.next = update)\n : ((update.next = componentName.next),\n (componentName.next = update)),\n (updateQueue.pending = update),\n (update = getRootForUpdatedFiber(fiber)),\n markUpdateLaneFromFiberToRoot(fiber, null, lane),\n update\n );\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n }\n function entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n }\n function suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n }\n function processUpdateQueue(\n workInProgress,\n props,\n instance$jscomp$0,\n renderLanes\n ) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress.updateQueue;\n hasForceUpdate = !1;\n currentlyProcessingQueue = queue.shared;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n updateLane = workInProgress;\n var partialState = pendingQueue;\n var nextProps = props,\n instance = instance$jscomp$0;\n switch (partialState.tag) {\n case ReplaceState:\n partialState = partialState.payload;\n if (\"function\" === typeof partialState) {\n isDisallowedContextReadInDEV = !0;\n var nextState = partialState.call(\n instance,\n newState,\n nextProps\n );\n if (updateLane.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n partialState.call(instance, newState, nextProps);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n isDisallowedContextReadInDEV = !1;\n newState = nextState;\n break a;\n }\n newState = partialState;\n break a;\n case CaptureUpdate:\n updateLane.flags = (updateLane.flags & -65537) | 128;\n case UpdateState:\n nextState = partialState.payload;\n if (\"function\" === typeof nextState) {\n isDisallowedContextReadInDEV = !0;\n partialState = nextState.call(\n instance,\n newState,\n nextProps\n );\n if (updateLane.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n nextState.call(instance, newState, nextProps);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n isDisallowedContextReadInDEV = !1;\n } else partialState = nextState;\n if (null === partialState || void 0 === partialState) break a;\n newState = assign({}, newState, partialState);\n break a;\n case ForceUpdate:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress.flags |= 64),\n isHiddenUpdate && (workInProgress.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress.lanes = lastBaseUpdate;\n workInProgress.memoizedState = newState;\n }\n currentlyProcessingQueue = null;\n }\n function callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(\n \"Invalid argument passed as callback. Expected a function. Instead received: \" +\n callback\n );\n callback.call(context);\n }\n function commitHiddenCallbacks(updateQueue, context) {\n var hiddenCallbacks = updateQueue.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n updateQueue.shared.hiddenCallbacks = null, updateQueue = 0;\n updateQueue < hiddenCallbacks.length;\n updateQueue++\n )\n callCallback(hiddenCallbacks[updateQueue], context);\n }\n function commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n }\n function pushHiddenContext(fiber, context) {\n var prevEntangledRenderLanes = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber);\n push(currentTreeHiddenStackCursor, context, fiber);\n entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes;\n }\n function reuseHiddenContextOnStack(fiber) {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber);\n push(\n currentTreeHiddenStackCursor,\n currentTreeHiddenStackCursor.current,\n fiber\n );\n }\n function popHiddenContext(fiber) {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor, fiber);\n pop(prevEntangledRenderLanesCursor, fiber);\n }\n function mountHookTypesDev() {\n var hookName = currentHookNameInDev;\n null === hookTypesDev\n ? (hookTypesDev = [hookName])\n : hookTypesDev.push(hookName);\n }\n function updateHookTypesDev() {\n var hookName = currentHookNameInDev;\n if (\n null !== hookTypesDev &&\n (hookTypesUpdateIndexDev++,\n hookTypesDev[hookTypesUpdateIndexDev] !== hookName)\n ) {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber);\n if (\n !didWarnAboutMismatchedHooksForComponent.has(componentName) &&\n (didWarnAboutMismatchedHooksForComponent.add(componentName),\n null !== hookTypesDev)\n ) {\n for (var table = \"\", i = 0; i <= hookTypesUpdateIndexDev; i++) {\n var oldHookName = hookTypesDev[i],\n newHookName =\n i === hookTypesUpdateIndexDev ? hookName : oldHookName;\n for (\n oldHookName = i + 1 + \". \" + oldHookName;\n 30 > oldHookName.length;\n\n )\n oldHookName += \" \";\n oldHookName += newHookName + \"\\n\";\n table += oldHookName;\n }\n console.error(\n \"React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\\n\\n Previous render Next render\\n ------------------------------------------------------\\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\n\",\n componentName,\n table\n );\n }\n }\n }\n function checkDepsAreArrayDev(deps) {\n void 0 === deps ||\n null === deps ||\n isArrayImpl(deps) ||\n console.error(\n \"%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.\",\n currentHookNameInDev,\n typeof deps\n );\n }\n function warnOnUseFormStateInDev() {\n var componentName = getComponentNameFromFiber(currentlyRenderingFiber);\n didWarnAboutUseFormState.has(componentName) ||\n (didWarnAboutUseFormState.add(componentName),\n console.error(\n \"ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.\",\n componentName\n ));\n }\n function throwInvalidHookError() {\n throw Error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n }\n function areHookInputsEqual(nextDeps, prevDeps) {\n if (ignorePreviousDependencies) return !1;\n if (null === prevDeps)\n return (\n console.error(\n \"%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.\",\n currentHookNameInDev\n ),\n !1\n );\n nextDeps.length !== prevDeps.length &&\n console.error(\n \"The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\\n\\nPrevious: %s\\nIncoming: %s\",\n currentHookNameInDev,\n \"[\" + prevDeps.join(\", \") + \"]\",\n \"[\" + nextDeps.join(\", \") + \"]\"\n );\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n }\n function renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n ) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n hookTypesDev = null !== current ? current._debugHookTypes : null;\n hookTypesUpdateIndexDev = -1;\n ignorePreviousDependencies =\n null !== current && current.type !== workInProgress.type;\n if (\n \"[object AsyncFunction]\" ===\n Object.prototype.toString.call(Component) ||\n \"[object AsyncGeneratorFunction]\" ===\n Object.prototype.toString.call(Component)\n )\n (nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber)),\n didWarnAboutAsyncClientComponent.has(nextRenderLanes) ||\n (didWarnAboutAsyncClientComponent.add(nextRenderLanes),\n console.error(\n \"%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\",\n null === nextRenderLanes\n ? \"An unknown Component\"\n : \"<\" + nextRenderLanes + \">\"\n ));\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null !== current && null !== current.memoizedState\n ? HooksDispatcherOnUpdateInDEV\n : null !== hookTypesDev\n ? HooksDispatcherOnMountWithHookTypesInDEV\n : HooksDispatcherOnMountInDEV;\n shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes =\n (workInProgress.mode & StrictLegacyMode) !== NoMode;\n var children = callComponentInDEV(Component, props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (children = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n if (nextRenderLanes) {\n setIsStrictModeForDevtools(!0);\n try {\n children = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n );\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n finishRenderingHooks(current, workInProgress);\n return children;\n }\n function finishRenderingHooks(current, workInProgress) {\n workInProgress._debugHookTypes = hookTypesDev;\n null === workInProgress.dependencies\n ? null !== thenableState$1 &&\n (workInProgress.dependencies = {\n lanes: 0,\n firstContext: null,\n _debugThenableState: thenableState$1\n })\n : (workInProgress.dependencies._debugThenableState = thenableState$1);\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks =\n null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n hookTypesDev =\n currentHookNameInDev =\n workInProgressHook =\n currentHook =\n currentlyRenderingFiber =\n null;\n hookTypesUpdateIndexDev = -1;\n null !== current &&\n (current.flags & 65011712) !== (workInProgress.flags & 65011712) &&\n console.error(\n \"Internal React error: Expected static flag was missing. Please notify the React team.\"\n );\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter$1 = 0;\n thenableState$1 = null;\n if (didRenderTooFewHooks)\n throw Error(\n \"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\"\n );\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n needsToResetSuspendedThenableDEV\n ? ((needsToResetSuspendedThenableDEV = !1), (current = !0))\n : (current = !1);\n current &&\n ((workInProgress =\n getComponentNameFromFiber(workInProgress) || \"Unknown\"),\n didWarnAboutUseWrappedInTryCatch.has(workInProgress) ||\n didWarnAboutAsyncClientComponent.has(workInProgress) ||\n (didWarnAboutUseWrappedInTryCatch.add(workInProgress),\n console.error(\n \"`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary.\"\n )));\n }\n function renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);\n thenableIndexCounter$1 = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (numberOfReRenders >= RE_RENDER_LIMIT)\n throw Error(\n \"Too many re-renders. React limits the number of renders to prevent an infinite loop.\"\n );\n numberOfReRenders += 1;\n ignorePreviousDependencies = !1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n hookTypesUpdateIndexDev = -1;\n ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV;\n children = callComponentInDEV(Component, props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n }\n function TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !==\n dispatcher && (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n }\n function checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n }\n function bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags =\n (workInProgress.mode & StrictEffectsMode) !== NoMode\n ? workInProgress.flags & -402655237\n : workInProgress.flags & -2053;\n current.lanes &= ~lanes;\n }\n function resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n hookTypesDev =\n workInProgressHook =\n currentHook =\n currentlyRenderingFiber =\n null;\n hookTypesUpdateIndexDev = -1;\n currentHookNameInDev = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter$1 = localIdCounter = 0;\n thenableState$1 = null;\n }\n function mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n }\n function updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(\n \"Update hook called on initial render. This is likely a bug in React. Please file an issue.\"\n );\n throw Error(\"Rendered more hooks than during the previous render.\");\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n }\n function createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n }\n function useThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = createThenableState());\n thenable = trackUsedThenable(thenableState$1, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null !== index && null !== index.memoizedState\n ? HooksDispatcherOnUpdateInDEV\n : HooksDispatcherOnMountInDEV));\n return thenable;\n }\n function use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(\"An unsupported type was passed to use(): \" + String(usable));\n }\n function useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue || ignorePreviousDependencies)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size),\n current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n else\n updateQueue.length !== size &&\n console.error(\n \"Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.\",\n updateQueue.length,\n size\n );\n memoCache.index++;\n return updateQueue;\n }\n function basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n }\n function mountReducer(reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n }\n function updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n }\n function updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue !== baseQueue &&\n console.error(\n \"Internal error: Expected work-in-progress queue to be a clone. This is a bug in React.\"\n );\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n }\n function rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do\n (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n }\n function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(\n \"Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\"\n );\n var nextSnapshot = getServerSnapshot();\n didWarnUncachedGetSnapshot ||\n nextSnapshot === getServerSnapshot() ||\n (console.error(\n \"The result of getServerSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n } else {\n nextSnapshot = getSnapshot();\n didWarnUncachedGetSnapshot ||\n ((getServerSnapshot = getSnapshot()),\n objectIs(nextSnapshot, getServerSnapshot) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0)));\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (workInProgressRootRenderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n hook.memoizedState = nextSnapshot;\n getServerSnapshot = { value: nextSnapshot, getSnapshot: getSnapshot };\n hook.queue = getServerSnapshot;\n mountEffect(\n subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe),\n [subscribe]\n );\n fiber.flags |= 2048;\n pushSimpleEffect(\n HasEffect | Passive,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n getServerSnapshot,\n nextSnapshot,\n getSnapshot\n ),\n null\n );\n return nextSnapshot;\n }\n function updateSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot)\n throw Error(\n \"Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.\"\n );\n getServerSnapshot = getServerSnapshot();\n } else if (\n ((getServerSnapshot = getSnapshot()), !didWarnUncachedGetSnapshot)\n ) {\n var cachedSnapshot = getSnapshot();\n objectIs(getServerSnapshot, cachedSnapshot) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n if (\n (cachedSnapshot = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n ))\n )\n (hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0);\n hook = hook.queue;\n var create = subscribeToStore.bind(null, fiber, hook, subscribe);\n updateEffectImpl(2048, Passive, create, [subscribe]);\n if (\n hook.getSnapshot !== getSnapshot ||\n cachedSnapshot ||\n (null !== workInProgressHook &&\n workInProgressHook.memoizedState.tag & HasEffect)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n HasEffect | Passive,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n }\n function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n }\n function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n }\n function subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n }\n function mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n }\n function mountState(initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n }\n function mountOptimistic(passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n }\n function updateOptimistic(passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n }\n function updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n }\n function rerenderOptimistic(passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n }\n function dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n ) {\n if (isRenderPhaseUpdate(fiber))\n throw Error(\"Cannot update form state while rendering.\");\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n }\n function runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n ReactSharedInternals.T._updatedFibers = new Set();\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n (ReactSharedInternals.T = prevTransition),\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((actionQueue = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < actionQueue &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n ));\n }\n } else\n try {\n (currentTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, currentTransition);\n } catch (error$4) {\n onActionError(actionQueue, node, error$4);\n }\n }\n function handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? (returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n ),\n node.isTransition ||\n console.error(\n \"An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop.\"\n ))\n : onActionSuccess(actionQueue, node, returnValue);\n }\n function onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n }\n function onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n }\n function notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n }\n function actionStateReducer(oldState, newState) {\n return newState;\n }\n function mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var isMatching = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var markerInstance = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== markerInstance.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n markerInstance = null;\n break b;\n }\n markerInstance = getNextHydratable(\n markerInstance.nextSibling\n );\n if (null === markerInstance) {\n markerInstance = null;\n break b;\n }\n }\n inRootOrSingleton = markerInstance.data;\n markerInstance =\n inRootOrSingleton === FORM_STATE_IS_MATCHING ||\n inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING\n ? markerInstance\n : null;\n }\n if (markerInstance) {\n nextHydratableInstance = getNextHydratable(\n markerInstance.nextSibling\n );\n isMatching = markerInstance.data === FORM_STATE_IS_MATCHING;\n break a;\n }\n }\n throwOnHydrationMismatch(isMatching);\n }\n isMatching = !1;\n }\n isMatching && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n isMatching = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = isMatching;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n isMatching\n );\n isMatching.dispatch = ssrFormState;\n isMatching = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n isMatching.queue\n );\n isMatching = mountWorkInProgressHook();\n markerInstance = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n isMatching.queue = markerInstance;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n markerInstance,\n inRootOrSingleton,\n ssrFormState\n );\n markerInstance.dispatch = ssrFormState;\n isMatching.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n }\n function updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n }\n function updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n HasEffect | Passive,\n createEffectInstance(),\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n }\n function actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n }\n function rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n }\n function pushSimpleEffect(tag, inst, create, createDeps) {\n tag = {\n tag: tag,\n create: create,\n deps: createDeps,\n inst: inst,\n next: null\n };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((createDeps = create.next),\n (create.next = tag),\n (tag.next = createDeps),\n (inst.lastEffect = tag));\n return tag;\n }\n function createEffectInstance() {\n return { destroy: void 0, resource: void 0 };\n }\n function mountRef(initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n }\n function mountEffectImpl(fiberFlags, hookFlags, create, createDeps) {\n var hook = mountWorkInProgressHook();\n createDeps = void 0 === createDeps ? null : createDeps;\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n HasEffect | hookFlags,\n createEffectInstance(),\n create,\n createDeps\n );\n }\n function updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n HasEffect | hookFlags,\n inst,\n create,\n deps\n )));\n }\n function mountEffect(create, createDeps) {\n (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode &&\n (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode\n ? mountEffectImpl(276826112, Passive, create, createDeps)\n : mountEffectImpl(8390656, Passive, create, createDeps);\n }\n function mountLayoutEffect(create, deps) {\n var fiberFlags = 4194308;\n (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode &&\n (fiberFlags |= 134217728);\n return mountEffectImpl(fiberFlags, Layout, create, deps);\n }\n function imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n ref.hasOwnProperty(\"current\") ||\n console.error(\n \"Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.\",\n \"an object with keys {\" + Object.keys(ref).join(\", \") + \"}\"\n ),\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n }\n function mountImperativeHandle(ref, create, deps) {\n \"function\" !== typeof create &&\n console.error(\n \"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\",\n null !== create ? typeof create : \"null\"\n );\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n var fiberFlags = 4194308;\n (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode &&\n (fiberFlags |= 134217728);\n mountEffectImpl(\n fiberFlags,\n Layout,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n }\n function updateImperativeHandle(ref, create, deps) {\n \"function\" !== typeof create &&\n console.error(\n \"Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.\",\n null !== create ? typeof create : \"null\"\n );\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(\n 4,\n Layout,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n }\n function mountCallback(callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n }\n function updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n }\n function mountMemo(nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n }\n function updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n }\n function mountDeferredValue(value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n }\n function updateDeferredValue(value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n }\n function rerenderDeferredValue(value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n }\n function mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n }\n function updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n }\n function startTransition(\n fiber,\n queue,\n pendingState,\n finishedState,\n callback\n ) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && previousPriority < ContinuousEventPriority\n ? previousPriority\n : ContinuousEventPriority;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n currentTransition._updatedFibers = new Set();\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane(fiber)\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((fiber = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < fiber &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n ));\n }\n }\n function startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag)\n throw Error(\n \"Expected the form instance to be a HostComponent. This is a bug in React.\"\n );\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n NotPendingTransition,\n null === action\n ? noop$2\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n }\n function ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: NotPendingTransition,\n baseState: NotPendingTransition,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: NotPendingTransition\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n }\n function requestFormReset$1(formFiber) {\n null === ReactSharedInternals.T &&\n console.error(\n \"requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition.\"\n );\n var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(\n formFiber,\n resetStateQueue,\n {},\n requestUpdateLane(formFiber)\n );\n }\n function mountTransition() {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n }\n function updateTransition() {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n }\n function rerenderTransition() {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n }\n function useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n }\n function mountId() {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var treeId = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n treeId =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + treeId;\n identifierPrefix = \"\\u00ab\" + identifierPrefix + \"R\" + treeId;\n treeId = localIdCounter++;\n 0 < treeId && (identifierPrefix += \"H\" + treeId.toString(32));\n identifierPrefix += \"\\u00bb\";\n } else\n (treeId = globalClientIdCounter++),\n (identifierPrefix =\n \"\\u00ab\" + identifierPrefix + \"r\" + treeId.toString(32) + \"\\u00bb\");\n return (hook.memoizedState = identifierPrefix);\n }\n function mountRefresh() {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n }\n function refreshCache(fiber, seedKey) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane(provider);\n fiber = createUpdate(lane);\n var root = enqueueUpdate(provider, fiber, lane);\n null !== root &&\n (scheduleUpdateOnFiber(root, provider, lane),\n entangleTransitions(root, provider, lane));\n provider = createCache();\n null !== seedKey &&\n void 0 !== seedKey &&\n null !== root &&\n console.error(\n \"The seed argument is not enabled outside experimental channels.\"\n );\n fiber.payload = { cache: provider };\n return;\n }\n provider = provider.return;\n }\n }\n function dispatchReducerAction(fiber, queue, action) {\n var args = arguments;\n \"function\" === typeof args[3] &&\n console.error(\n \"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\"\n );\n args = requestUpdateLane(fiber);\n var update = {\n lane: args,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, update)\n : ((update = enqueueConcurrentHookUpdate(fiber, queue, update, args)),\n null !== update &&\n (scheduleUpdateOnFiber(update, fiber, args),\n entangleTransitionUpdate(update, queue, args)));\n markStateUpdateScheduled(fiber, args);\n }\n function dispatchSetState(fiber, queue, action) {\n var args = arguments;\n \"function\" === typeof args[3] &&\n console.error(\n \"State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect().\"\n );\n args = requestUpdateLane(fiber);\n dispatchSetStateInternal(fiber, queue, action, args);\n markStateUpdateScheduled(fiber, args);\n }\n function dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n ) {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot &&\n finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n }\n function dispatchOptimisticSetState(\n fiber,\n throwIfDuringRender,\n queue,\n action\n ) {\n null === ReactSharedInternals.T &&\n 0 === currentEntangledLane &&\n console.error(\n \"An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition.\"\n );\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender)\n throw Error(\"Cannot update optimistic state while rendering.\");\n console.error(\"Cannot call startTransition while rendering.\");\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n markStateUpdateScheduled(fiber, 2);\n }\n function isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n }\n function enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass =\n didScheduleRenderPhaseUpdate = !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n function entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n }\n function pushDebugInfo(debugInfo) {\n var previousDebugInfo = currentDebugInfo;\n null != debugInfo &&\n (currentDebugInfo =\n null === previousDebugInfo\n ? debugInfo\n : previousDebugInfo.concat(debugInfo));\n return previousDebugInfo;\n }\n function validateFragmentProps(element, fiber, returnFiber) {\n for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (\"children\" !== key && \"key\" !== key) {\n null === fiber &&\n ((fiber = createFiberFromElement(element, returnFiber.mode, 0)),\n (fiber._debugInfo = currentDebugInfo),\n (fiber.return = returnFiber));\n runWithFiberInDEV(\n fiber,\n function (erroredKey) {\n console.error(\n \"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\",\n erroredKey\n );\n },\n key\n );\n break;\n }\n }\n }\n function unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = createThenableState());\n return trackUsedThenable(thenableState, thenable, index);\n }\n function coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n }\n function throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(\n 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\\n- Multiple copies of the \"react\" package is used.\\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\\n- A compiler tries to \"inline\" JSX instead of using the runtime.'\n );\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n function warnOnFunctionType(returnFiber, invalidChild) {\n var parentName = getComponentNameFromFiber(returnFiber) || \"Component\";\n ownerHasFunctionTypeWarning[parentName] ||\n ((ownerHasFunctionTypeWarning[parentName] = !0),\n (invalidChild =\n invalidChild.displayName || invalidChild.name || \"Component\"),\n 3 === returnFiber.tag\n ? console.error(\n \"Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\\n root.render(%s)\",\n invalidChild,\n invalidChild,\n invalidChild\n )\n : console.error(\n \"Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\\n <%s>{%s}</%s>\",\n invalidChild,\n invalidChild,\n parentName,\n invalidChild,\n parentName\n ));\n }\n function warnOnSymbolType(returnFiber, invalidChild) {\n var parentName = getComponentNameFromFiber(returnFiber) || \"Component\";\n ownerHasSymbolTypeWarning[parentName] ||\n ((ownerHasSymbolTypeWarning[parentName] = !0),\n (invalidChild = String(invalidChild)),\n 3 === returnFiber.tag\n ? console.error(\n \"Symbols are not valid as a React child.\\n root.render(%s)\",\n invalidChild\n )\n : console.error(\n \"Symbols are not valid as a React child.\\n <%s>%s</%s>\",\n parentName,\n invalidChild,\n parentName\n ));\n }\n function createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]),\n (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(\n textContent,\n returnFiber.mode,\n lanes\n )),\n (current.return = returnFiber),\n (current._debugOwner = returnFiber),\n (current._debugTask = returnFiber._debugTask),\n (current._debugInfo = currentDebugInfo),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n current._debugInfo = currentDebugInfo;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return (\n (current = updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n )),\n validateFragmentProps(element, current, returnFiber),\n current\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n isCompatibleFamilyForHotReloading(current, element) ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n callLazyInitInDEV(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n (current._debugOwner = element._owner),\n (current._debugInfo = currentDebugInfo),\n current\n );\n current = createFiberFromElement(element, returnFiber.mode, lanes);\n coerceRef(current, element);\n current.return = returnFiber;\n current._debugInfo = currentDebugInfo;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n (current._debugInfo = currentDebugInfo),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n current._debugInfo = currentDebugInfo;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n (current._debugOwner = returnFiber),\n (current._debugTask = returnFiber._debugTask),\n (current._debugInfo = currentDebugInfo),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n current._debugInfo = currentDebugInfo;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n (newChild._debugOwner = returnFiber),\n (newChild._debugTask = returnFiber._debugTask),\n (newChild._debugInfo = currentDebugInfo),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromElement(\n newChild,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = pushDebugInfo(newChild._debugInfo)),\n (lanes._debugInfo = currentDebugInfo),\n (currentDebugInfo = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n (newChild._debugInfo = currentDebugInfo),\n newChild\n );\n case REACT_LAZY_TYPE:\n var _prevDebugInfo = pushDebugInfo(newChild._debugInfo);\n newChild = callLazyInitInDEV(newChild);\n returnFiber = createChild(returnFiber, newChild, lanes);\n currentDebugInfo = _prevDebugInfo;\n return returnFiber;\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (lanes = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (lanes.return = returnFiber),\n (lanes._debugOwner = returnFiber),\n (lanes._debugTask = returnFiber._debugTask),\n (returnFiber = pushDebugInfo(newChild._debugInfo)),\n (lanes._debugInfo = currentDebugInfo),\n (currentDebugInfo = returnFiber),\n lanes\n );\n if (\"function\" === typeof newChild.then)\n return (\n (_prevDebugInfo = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = createChild(\n returnFiber,\n unwrapThenable(newChild),\n lanes\n )),\n (currentDebugInfo = _prevDebugInfo),\n returnFiber\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n \"function\" === typeof newChild &&\n warnOnFunctionType(returnFiber, newChild);\n \"symbol\" === typeof newChild && warnOnSymbolType(returnFiber, newChild);\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? ((key = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = updateElement(\n returnFiber,\n oldFiber,\n newChild,\n lanes\n )),\n (currentDebugInfo = key),\n returnFiber)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = pushDebugInfo(newChild._debugInfo)),\n (newChild = callLazyInitInDEV(newChild)),\n (returnFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChild,\n lanes\n )),\n (currentDebugInfo = key),\n returnFiber\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild)) {\n if (null !== key) return null;\n key = pushDebugInfo(newChild._debugInfo);\n returnFiber = updateFragment(\n returnFiber,\n oldFiber,\n newChild,\n lanes,\n null\n );\n currentDebugInfo = key;\n return returnFiber;\n }\n if (\"function\" === typeof newChild.then)\n return (\n (key = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n )),\n (currentDebugInfo = key),\n returnFiber\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n \"function\" === typeof newChild &&\n warnOnFunctionType(returnFiber, newChild);\n \"symbol\" === typeof newChild && warnOnSymbolType(returnFiber, newChild);\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (newIdx =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n (existingChildren = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = updateElement(\n returnFiber,\n newIdx,\n newChild,\n lanes\n )),\n (currentDebugInfo = existingChildren),\n returnFiber\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo);\n newChild = callLazyInitInDEV(newChild);\n returnFiber = updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n currentDebugInfo = _prevDebugInfo7;\n return returnFiber;\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newIdx = existingChildren.get(newIdx) || null),\n (existingChildren = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = updateFragment(\n returnFiber,\n newIdx,\n newChild,\n lanes,\n null\n )),\n (currentDebugInfo = existingChildren),\n returnFiber\n );\n if (\"function\" === typeof newChild.then)\n return (\n (_prevDebugInfo7 = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n )),\n (currentDebugInfo = _prevDebugInfo7),\n returnFiber\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n \"function\" === typeof newChild &&\n warnOnFunctionType(returnFiber, newChild);\n \"symbol\" === typeof newChild && warnOnSymbolType(returnFiber, newChild);\n return null;\n }\n function warnOnInvalidKey(returnFiber, workInProgress, child, knownKeys) {\n if (\"object\" !== typeof child || null === child) return knownKeys;\n switch (child.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n warnForMissingKey(returnFiber, workInProgress, child);\n var key = child.key;\n if (\"string\" !== typeof key) break;\n if (null === knownKeys) {\n knownKeys = new Set();\n knownKeys.add(key);\n break;\n }\n if (!knownKeys.has(key)) {\n knownKeys.add(key);\n break;\n }\n runWithFiberInDEV(workInProgress, function () {\n console.error(\n \"Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \\u2014 the behavior is unsupported and could change in a future version.\",\n key\n );\n });\n break;\n case REACT_LAZY_TYPE:\n (child = callLazyInitInDEV(child)),\n warnOnInvalidKey(returnFiber, workInProgress, child, knownKeys);\n }\n return knownKeys;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var knownKeys = null,\n resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n knownKeys = warnOnInvalidKey(\n returnFiber,\n newFiber,\n newChildren[newIdx],\n knownKeys\n );\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((knownKeys = warnOnInvalidKey(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n knownKeys\n )),\n (currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n ((knownKeys = warnOnInvalidKey(\n returnFiber,\n nextOldFiber,\n newChildren[newIdx],\n knownKeys\n )),\n shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren)\n throw Error(\"An iterable object provided no iterator.\");\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n knownKeys = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n knownKeys = warnOnInvalidKey(\n returnFiber,\n newFiber,\n step.value,\n knownKeys\n );\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (oldFiber = createChild(returnFiber, step.value, lanes)),\n null !== oldFiber &&\n ((knownKeys = warnOnInvalidKey(\n returnFiber,\n oldFiber,\n step.value,\n knownKeys\n )),\n (currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n step.value,\n lanes\n )),\n null !== nextOldFiber &&\n ((knownKeys = warnOnInvalidKey(\n returnFiber,\n nextOldFiber,\n step.value,\n knownKeys\n )),\n shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (validateFragmentProps(newChild, null, returnFiber),\n (newChild = newChild.props.children));\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var prevDebugInfo = pushDebugInfo(newChild._debugInfo);\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n lanes._debugOwner = newChild._owner;\n lanes._debugInfo = currentDebugInfo;\n validateFragmentProps(newChild, lanes, returnFiber);\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n isCompatibleFamilyForHotReloading(\n currentFirstChild,\n newChild\n ) ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n callLazyInitInDEV(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n lanes._debugOwner = newChild._owner;\n lanes._debugInfo = currentDebugInfo;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (lanes._debugOwner = returnFiber),\n (lanes._debugTask = returnFiber._debugTask),\n (lanes._debugInfo = currentDebugInfo),\n validateFragmentProps(newChild, lanes, returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromElement(\n newChild,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (lanes._debugInfo = currentDebugInfo),\n (returnFiber = lanes));\n }\n returnFiber = placeSingleChild(returnFiber);\n currentDebugInfo = prevDebugInfo;\n return returnFiber;\n case REACT_PORTAL_TYPE:\n a: {\n prevDebugInfo = newChild;\n for (\n newChild = prevDebugInfo.key;\n null !== currentFirstChild;\n\n ) {\n if (currentFirstChild.key === newChild)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n prevDebugInfo.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n prevDebugInfo.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n prevDebugInfo.children || []\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(\n prevDebugInfo,\n returnFiber.mode,\n lanes\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (prevDebugInfo = pushDebugInfo(newChild._debugInfo)),\n (newChild = callLazyInitInDEV(newChild)),\n (returnFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )),\n (currentDebugInfo = prevDebugInfo),\n returnFiber\n );\n }\n if (isArrayImpl(newChild))\n return (\n (prevDebugInfo = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )),\n (currentDebugInfo = prevDebugInfo),\n returnFiber\n );\n if (getIteratorFn(newChild)) {\n prevDebugInfo = pushDebugInfo(newChild._debugInfo);\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key)\n throw Error(\n \"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\"\n );\n var newChildren = key.call(newChild);\n if (newChildren === newChild) {\n if (\n 0 !== returnFiber.tag ||\n \"[object GeneratorFunction]\" !==\n Object.prototype.toString.call(returnFiber.type) ||\n \"[object Generator]\" !==\n Object.prototype.toString.call(newChildren)\n )\n didWarnAboutGenerators ||\n console.error(\n \"Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items.\"\n ),\n (didWarnAboutGenerators = !0);\n } else\n newChild.entries !== key ||\n didWarnAboutMaps ||\n (console.error(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0));\n returnFiber = reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n );\n currentDebugInfo = prevDebugInfo;\n return returnFiber;\n }\n if (\"function\" === typeof newChild.then)\n return (\n (prevDebugInfo = pushDebugInfo(newChild._debugInfo)),\n (returnFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n )),\n (currentDebugInfo = prevDebugInfo),\n returnFiber\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (prevDebugInfo = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n ),\n (lanes = useFiber(currentFirstChild, prevDebugInfo)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(\n prevDebugInfo,\n returnFiber.mode,\n lanes\n )),\n (lanes.return = returnFiber),\n (lanes._debugOwner = returnFiber),\n (lanes._debugTask = returnFiber._debugTask),\n (lanes._debugInfo = currentDebugInfo),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber)\n );\n \"function\" === typeof newChild &&\n warnOnFunctionType(returnFiber, newChild);\n \"symbol\" === typeof newChild && warnOnSymbolType(returnFiber, newChild);\n return deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n var prevDebugInfo = currentDebugInfo;\n currentDebugInfo = null;\n try {\n thenableIndexCounter = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiber(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n var debugInfo = (fiber._debugInfo = currentDebugInfo);\n fiber._debugOwner = returnFiber._debugOwner;\n fiber._debugTask = returnFiber._debugTask;\n if (null != debugInfo)\n for (var i = debugInfo.length - 1; 0 <= i; i--)\n if (\"string\" === typeof debugInfo[i].stack) {\n fiber._debugOwner = debugInfo[i];\n fiber._debugTask = debugInfo[i].debugTask;\n break;\n }\n return fiber;\n } finally {\n currentDebugInfo = prevDebugInfo;\n }\n };\n }\n function pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(\n suspenseStackCursor,\n suspenseStackCursor.current & SubtreeSuspenseContextMask,\n handler\n );\n push(suspenseHandlerStackCursor, handler, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n }\n function pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current, fiber),\n push(suspenseHandlerStackCursor, fiber, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n }\n function reuseSuspenseHandlerOnStack(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current, fiber);\n push(\n suspenseHandlerStackCursor,\n suspenseHandlerStackCursor.current,\n fiber\n );\n }\n function popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor, fiber);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor, fiber);\n }\n function findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n state.data === SUSPENSE_PENDING_START_DATA ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n void 0 !== node.memoizedProps.revealOrder\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n }\n function warnOnInvalidCallback(callback) {\n if (null !== callback && \"function\" !== typeof callback) {\n var key = String(callback);\n didWarnOnInvalidCallback.has(key) ||\n (didWarnOnInvalidCallback.add(key),\n console.error(\n \"Expected the last optional `callback` argument to be a function. Instead received: %s.\",\n callback\n ));\n }\n }\n function applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n ) {\n var prevState = workInProgress.memoizedState,\n partialState = getDerivedStateFromProps(nextProps, prevState);\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n partialState = getDerivedStateFromProps(nextProps, prevState);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n void 0 === partialState &&\n ((ctor = getComponentNameFromType(ctor) || \"Component\"),\n didWarnAboutUndefinedDerivedState.has(ctor) ||\n (didWarnAboutUndefinedDerivedState.add(ctor),\n console.error(\n \"%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.\",\n ctor\n )));\n prevState =\n null === partialState || void 0 === partialState\n ? prevState\n : assign({}, prevState, partialState);\n workInProgress.memoizedState = prevState;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = prevState);\n }\n function checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n ) {\n var instance = workInProgress.stateNode;\n if (\"function\" === typeof instance.shouldComponentUpdate) {\n oldProps = instance.shouldComponentUpdate(\n newProps,\n newState,\n nextContext\n );\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n oldProps = instance.shouldComponentUpdate(\n newProps,\n newState,\n nextContext\n );\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n void 0 === oldProps &&\n console.error(\n \"%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.\",\n getComponentNameFromType(ctor) || \"Component\"\n );\n return oldProps;\n }\n return ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n }\n function callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n ) {\n var oldState = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== oldState &&\n ((workInProgress =\n getComponentNameFromFiber(workInProgress) || \"Component\"),\n didWarnAboutStateAssignmentForComponent.has(workInProgress) ||\n (didWarnAboutStateAssignmentForComponent.add(workInProgress),\n console.error(\n \"%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\",\n workInProgress\n )),\n classComponentUpdater.enqueueReplaceState(\n instance,\n instance.state,\n null\n ));\n }\n function resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var _propName in Component)\n void 0 === newProps[_propName] &&\n (newProps[_propName] = Component[_propName]);\n }\n return newProps;\n }\n function defaultOnUncaughtError(error) {\n reportGlobalError(error);\n console.warn(\n \"%s\\n\\n%s\\n\",\n componentName\n ? \"An error occurred in the <\" + componentName + \"> component.\"\n : \"An error occurred in one of your React components.\",\n \"Consider adding an error boundary to your tree to customize error handling behavior.\\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\"\n );\n }\n function defaultOnCaughtError(error) {\n var componentNameMessage = componentName\n ? \"The above error occurred in the <\" + componentName + \"> component.\"\n : \"The above error occurred in one of your React components.\",\n recreateMessage =\n \"React will try to recreate this component tree from scratch using the error boundary you provided, \" +\n ((errorBoundaryName || \"Anonymous\") + \".\");\n if (\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.environmentName\n ) {\n var JSCompiler_inline_result = error.environmentName;\n error = [\n \"%o\\n\\n%s\\n\\n%s\\n\",\n error,\n componentNameMessage,\n recreateMessage\n ].slice(0);\n \"string\" === typeof error[0]\n ? error.splice(\n 0,\n 1,\n badgeFormat + error[0],\n badgeStyle,\n pad + JSCompiler_inline_result + pad,\n resetStyle\n )\n : error.splice(\n 0,\n 0,\n badgeFormat,\n badgeStyle,\n pad + JSCompiler_inline_result + pad,\n resetStyle\n );\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else\n console.error(\n \"%o\\n\\n%s\\n\\n%s\\n\",\n error,\n componentNameMessage,\n recreateMessage\n );\n }\n function defaultOnRecoverableError(error) {\n reportGlobalError(error);\n }\n function logUncaughtError(root, errorInfo) {\n try {\n componentName = errorInfo.source\n ? getComponentNameFromFiber(errorInfo.source)\n : null;\n errorBoundaryName = null;\n var error = errorInfo.value;\n if (null !== ReactSharedInternals.actQueue)\n ReactSharedInternals.thrownErrors.push(error);\n else {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(error, { componentStack: errorInfo.stack });\n }\n } catch (e$5) {\n setTimeout(function () {\n throw e$5;\n });\n }\n }\n function logCaughtError(root, boundary, errorInfo) {\n try {\n componentName = errorInfo.source\n ? getComponentNameFromFiber(errorInfo.source)\n : null;\n errorBoundaryName = getComponentNameFromFiber(boundary);\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$6) {\n setTimeout(function () {\n throw e$6;\n });\n }\n }\n function createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = CaptureUpdate;\n lane.payload = { element: null };\n lane.callback = function () {\n runWithFiberInDEV(errorInfo.source, logUncaughtError, root, errorInfo);\n };\n return lane;\n }\n function createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = CaptureUpdate;\n return lane;\n }\n function initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n markFailedErrorBoundaryForHotReloading(fiber);\n runWithFiberInDEV(\n errorInfo.source,\n logCaughtError,\n root,\n fiber,\n errorInfo\n );\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n markFailedErrorBoundaryForHotReloading(fiber);\n runWithFiberInDEV(\n errorInfo.source,\n logCaughtError,\n root,\n fiber,\n errorInfo\n );\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n callComponentDidCatchInDEV(this, errorInfo);\n \"function\" === typeof getDerivedStateFromError ||\n (0 === (fiber.lanes & 2) &&\n console.error(\n \"%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.\",\n getComponentNameFromFiber(fiber) || \"Unknown\"\n ));\n });\n }\n function throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n ) {\n sourceFiber.flags |= 32768;\n isDevToolsPresent && restorePendingUpdaters(root, rootRenderLanes);\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n isHydrating && (didSuspendOrErrorDEV = !0);\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n workInProgressRootExitStatus === RootInProgress &&\n (workInProgressRootExitStatus = RootSuspended),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n sourceFiber.tag +\n \"). This is a bug in React.\"\n );\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (didSuspendOrErrorDEV = !0),\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n queueHydrationError(\n createCapturedValueAtFiber(\n Error(\n \"There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.\",\n { cause: value }\n ),\n sourceFiber\n )\n ))\n : (value !== HydrationMismatchException &&\n queueHydrationError(\n createCapturedValueAtFiber(\n Error(\n \"There was an error while hydrating but React was able to recover by instead client rendering the entire root.\",\n { cause: value }\n ),\n sourceFiber\n )\n ),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n workInProgressRootExitStatus !== RootSuspendedWithDelay &&\n (workInProgressRootExitStatus = RootErrored)),\n !1\n );\n var error = createCapturedValueAtFiber(\n Error(\n \"There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.\",\n { cause: value }\n ),\n sourceFiber\n );\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [error])\n : workInProgressRootConcurrentErrors.push(error);\n workInProgressRootExitStatus !== RootSuspendedWithDelay &&\n (workInProgressRootExitStatus = RootErrored);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(\n sourceFiber.stateNode,\n value,\n root\n )),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (error = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== error &&\n \"function\" === typeof error.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(error)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n }\n function reconcileChildren(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n }\n function updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n markComponentRenderStarted(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n markComponentRenderStopped();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (Component = resolveFunctionForHotReloading(type)),\n (workInProgress.tag = 15),\n (workInProgress.type = Component),\n validateFunctionComponentInDev(workInProgress, type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (\n Component(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n return bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n function updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref &&\n workInProgress.type === current.type\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n }\n function updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState\n ? prevState.baseLanes | renderLanes\n : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (prevState = 0; null !== nextChildren; )\n (prevState =\n prevState | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = prevState & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(workInProgress),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState\n ? prevState.baseLanes | renderLanes\n : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(workInProgress),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n ) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : {\n parent: CacheContext._currentValue,\n pool: JSCompiler_inline_result\n };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack(workInProgress);\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n }\n function markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(\n \"Expected ref to be a function, an object returned by React.createRef(), or undefined/null.\"\n );\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n }\n function updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n if (\n Component.prototype &&\n \"function\" === typeof Component.prototype.render\n ) {\n var componentName = getComponentNameFromType(Component) || \"Unknown\";\n didWarnAboutBadClass[componentName] ||\n (console.error(\n \"The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.\",\n componentName,\n componentName\n ),\n (didWarnAboutBadClass[componentName] = !0));\n }\n workInProgress.mode & StrictLegacyMode &&\n ReactStrictModeWarnings.recordLegacyContextWarning(\n workInProgress,\n null\n );\n null === current &&\n (validateFunctionComponentInDev(workInProgress, workInProgress.type),\n Component.contextTypes &&\n ((componentName = getComponentNameFromType(Component) || \"Unknown\"),\n didWarnAboutContextTypes[componentName] ||\n ((didWarnAboutContextTypes[componentName] = !0),\n console.error(\n \"%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)\",\n componentName\n ))));\n prepareToReadContext(workInProgress);\n markComponentRenderStarted(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n markComponentRenderStopped();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n }\n function replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n ) {\n prepareToReadContext(workInProgress);\n markComponentRenderStarted(workInProgress);\n hookTypesUpdateIndexDev = -1;\n ignorePreviousDependencies =\n null !== current && current.type !== workInProgress.type;\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current, workInProgress);\n Component = checkDidRenderIdHook();\n markComponentRenderStopped();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n }\n function updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n ) {\n switch (shouldErrorImpl(workInProgress)) {\n case !1:\n var _instance = workInProgress.stateNode,\n state = new workInProgress.type(\n workInProgress.memoizedProps,\n _instance.context\n ).state;\n _instance.updater.enqueueSetState(_instance, state, null);\n break;\n case !0:\n workInProgress.flags |= 128;\n workInProgress.flags |= 65536;\n _instance = Error(\"Simulated error coming from DevTools\");\n var lane = renderLanes & -renderLanes;\n workInProgress.lanes |= lane;\n state = workInProgressRoot;\n if (null === state)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n lane = createClassErrorUpdate(lane);\n initializeClassErrorUpdate(\n lane,\n state,\n workInProgress,\n createCapturedValueAtFiber(_instance, workInProgress)\n );\n enqueueCapturedUpdate(workInProgress, lane);\n }\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n state = emptyContextObject;\n _instance = Component.contextType;\n \"contextType\" in Component &&\n null !== _instance &&\n (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) &&\n !didWarnAboutInvalidateContextType.has(Component) &&\n (didWarnAboutInvalidateContextType.add(Component),\n (lane =\n void 0 === _instance\n ? \" However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file.\"\n : \"object\" !== typeof _instance\n ? \" However, it is set to a \" + typeof _instance + \".\"\n : _instance.$$typeof === REACT_CONSUMER_TYPE\n ? \" Did you accidentally pass the Context.Consumer instead?\"\n : \" However, it is set to an object with keys {\" +\n Object.keys(_instance).join(\", \") +\n \"}.\"),\n console.error(\n \"%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s\",\n getComponentNameFromType(Component) || \"Component\",\n lane\n ));\n \"object\" === typeof _instance &&\n null !== _instance &&\n (state = readContext(_instance));\n _instance = new Component(nextProps, state);\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n _instance = new Component(nextProps, state);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n state = workInProgress.memoizedState =\n null !== _instance.state && void 0 !== _instance.state\n ? _instance.state\n : null;\n _instance.updater = classComponentUpdater;\n workInProgress.stateNode = _instance;\n _instance._reactInternals = workInProgress;\n _instance._reactInternalInstance = fakeInternalInstance;\n \"function\" === typeof Component.getDerivedStateFromProps &&\n null === state &&\n ((state = getComponentNameFromType(Component) || \"Component\"),\n didWarnAboutUninitializedState.has(state) ||\n (didWarnAboutUninitializedState.add(state),\n console.error(\n \"`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.\",\n state,\n null === _instance.state ? \"null\" : \"undefined\",\n state\n )));\n if (\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof _instance.getSnapshotBeforeUpdate\n ) {\n var foundWillUpdateName = (lane = state = null);\n \"function\" === typeof _instance.componentWillMount &&\n !0 !== _instance.componentWillMount.__suppressDeprecationWarning\n ? (state = \"componentWillMount\")\n : \"function\" === typeof _instance.UNSAFE_componentWillMount &&\n (state = \"UNSAFE_componentWillMount\");\n \"function\" === typeof _instance.componentWillReceiveProps &&\n !0 !==\n _instance.componentWillReceiveProps.__suppressDeprecationWarning\n ? (lane = \"componentWillReceiveProps\")\n : \"function\" ===\n typeof _instance.UNSAFE_componentWillReceiveProps &&\n (lane = \"UNSAFE_componentWillReceiveProps\");\n \"function\" === typeof _instance.componentWillUpdate &&\n !0 !== _instance.componentWillUpdate.__suppressDeprecationWarning\n ? (foundWillUpdateName = \"componentWillUpdate\")\n : \"function\" === typeof _instance.UNSAFE_componentWillUpdate &&\n (foundWillUpdateName = \"UNSAFE_componentWillUpdate\");\n if (null !== state || null !== lane || null !== foundWillUpdateName) {\n _instance = getComponentNameFromType(Component) || \"Component\";\n var newApiName =\n \"function\" === typeof Component.getDerivedStateFromProps\n ? \"getDerivedStateFromProps()\"\n : \"getSnapshotBeforeUpdate()\";\n didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) ||\n (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance),\n console.error(\n \"Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\nhttps://react.dev/link/unsafe-component-lifecycles\",\n _instance,\n newApiName,\n null !== state ? \"\\n \" + state : \"\",\n null !== lane ? \"\\n \" + lane : \"\",\n null !== foundWillUpdateName ? \"\\n \" + foundWillUpdateName : \"\"\n ));\n }\n }\n _instance = workInProgress.stateNode;\n state = getComponentNameFromType(Component) || \"Component\";\n _instance.render ||\n (Component.prototype &&\n \"function\" === typeof Component.prototype.render\n ? console.error(\n \"No `render` method found on the %s instance: did you accidentally return an object from the constructor?\",\n state\n )\n : console.error(\n \"No `render` method found on the %s instance: you may have forgotten to define `render`.\",\n state\n ));\n !_instance.getInitialState ||\n _instance.getInitialState.isReactClassApproved ||\n _instance.state ||\n console.error(\n \"getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?\",\n state\n );\n _instance.getDefaultProps &&\n !_instance.getDefaultProps.isReactClassApproved &&\n console.error(\n \"getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.\",\n state\n );\n _instance.contextType &&\n console.error(\n \"contextType was defined as an instance property on %s. Use a static property to define contextType instead.\",\n state\n );\n Component.childContextTypes &&\n !didWarnAboutChildContextTypes.has(Component) &&\n (didWarnAboutChildContextTypes.add(Component),\n console.error(\n \"%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)\",\n state\n ));\n Component.contextTypes &&\n !didWarnAboutContextTypes$1.has(Component) &&\n (didWarnAboutContextTypes$1.add(Component),\n console.error(\n \"%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)\",\n state\n ));\n \"function\" === typeof _instance.componentShouldUpdate &&\n console.error(\n \"%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.\",\n state\n );\n Component.prototype &&\n Component.prototype.isPureReactComponent &&\n \"undefined\" !== typeof _instance.shouldComponentUpdate &&\n console.error(\n \"%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.\",\n getComponentNameFromType(Component) || \"A pure component\"\n );\n \"function\" === typeof _instance.componentDidUnmount &&\n console.error(\n \"%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?\",\n state\n );\n \"function\" === typeof _instance.componentDidReceiveProps &&\n console.error(\n \"%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().\",\n state\n );\n \"function\" === typeof _instance.componentWillRecieveProps &&\n console.error(\n \"%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?\",\n state\n );\n \"function\" === typeof _instance.UNSAFE_componentWillRecieveProps &&\n console.error(\n \"%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?\",\n state\n );\n lane = _instance.props !== nextProps;\n void 0 !== _instance.props &&\n lane &&\n console.error(\n \"When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.\",\n state\n );\n _instance.defaultProps &&\n console.error(\n \"Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.\",\n state,\n state\n );\n \"function\" !== typeof _instance.getSnapshotBeforeUpdate ||\n \"function\" === typeof _instance.componentDidUpdate ||\n didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) ||\n (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component),\n console.error(\n \"%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.\",\n getComponentNameFromType(Component)\n ));\n \"function\" === typeof _instance.getDerivedStateFromProps &&\n console.error(\n \"%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.\",\n state\n );\n \"function\" === typeof _instance.getDerivedStateFromError &&\n console.error(\n \"%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.\",\n state\n );\n \"function\" === typeof Component.getSnapshotBeforeUpdate &&\n console.error(\n \"%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.\",\n state\n );\n (lane = _instance.state) &&\n (\"object\" !== typeof lane || isArrayImpl(lane)) &&\n console.error(\"%s.state: must be set to an object or null\", state);\n \"function\" === typeof _instance.getChildContext &&\n \"object\" !== typeof Component.childContextTypes &&\n console.error(\n \"%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().\",\n state\n );\n _instance = workInProgress.stateNode;\n _instance.props = nextProps;\n _instance.state = workInProgress.memoizedState;\n _instance.refs = {};\n initializeUpdateQueue(workInProgress);\n state = Component.contextType;\n _instance.context =\n \"object\" === typeof state && null !== state\n ? readContext(state)\n : emptyContextObject;\n _instance.state === nextProps &&\n ((state = getComponentNameFromType(Component) || \"Component\"),\n didWarnAboutDirectlyAssigningPropsToState.has(state) ||\n (didWarnAboutDirectlyAssigningPropsToState.add(state),\n console.error(\n \"%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.\",\n state\n )));\n workInProgress.mode & StrictLegacyMode &&\n ReactStrictModeWarnings.recordLegacyContextWarning(\n workInProgress,\n _instance\n );\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(\n workInProgress,\n _instance\n );\n _instance.state = workInProgress.memoizedState;\n state = Component.getDerivedStateFromProps;\n \"function\" === typeof state &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n state,\n nextProps\n ),\n (_instance.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof _instance.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof _instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof _instance.componentWillMount) ||\n ((state = _instance.state),\n \"function\" === typeof _instance.componentWillMount &&\n _instance.componentWillMount(),\n \"function\" === typeof _instance.UNSAFE_componentWillMount &&\n _instance.UNSAFE_componentWillMount(),\n state !== _instance.state &&\n (console.error(\n \"%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.\",\n getComponentNameFromFiber(workInProgress) || \"Component\"\n ),\n classComponentUpdater.enqueueReplaceState(\n _instance,\n _instance.state,\n null\n )),\n processUpdateQueue(workInProgress, nextProps, _instance, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (_instance.state = workInProgress.memoizedState));\n \"function\" === typeof _instance.componentDidMount &&\n (workInProgress.flags |= 4194308);\n (workInProgress.mode & StrictEffectsMode) !== NoMode &&\n (workInProgress.flags |= 134217728);\n _instance = !0;\n } else if (null === current) {\n _instance = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps;\n lane = resolveClassComponentProps(Component, unresolvedOldProps);\n _instance.props = lane;\n var oldContext = _instance.context;\n foundWillUpdateName = Component.contextType;\n state = emptyContextObject;\n \"object\" === typeof foundWillUpdateName &&\n null !== foundWillUpdateName &&\n (state = readContext(foundWillUpdateName));\n newApiName = Component.getDerivedStateFromProps;\n foundWillUpdateName =\n \"function\" === typeof newApiName ||\n \"function\" === typeof _instance.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n foundWillUpdateName ||\n (\"function\" !== typeof _instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof _instance.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== state) &&\n callComponentWillReceiveProps(\n workInProgress,\n _instance,\n nextProps,\n state\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n _instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, _instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof newApiName &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n newApiName,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (lane =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n lane,\n nextProps,\n oldState,\n oldContext,\n state\n ))\n ? (foundWillUpdateName ||\n (\"function\" !== typeof _instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof _instance.componentWillMount) ||\n (\"function\" === typeof _instance.componentWillMount &&\n _instance.componentWillMount(),\n \"function\" === typeof _instance.UNSAFE_componentWillMount &&\n _instance.UNSAFE_componentWillMount()),\n \"function\" === typeof _instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.mode & StrictEffectsMode) !== NoMode &&\n (workInProgress.flags |= 134217728))\n : (\"function\" === typeof _instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.mode & StrictEffectsMode) !== NoMode &&\n (workInProgress.flags |= 134217728),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (_instance.props = nextProps),\n (_instance.state = oldContext),\n (_instance.context = state),\n (_instance = lane))\n : (\"function\" === typeof _instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.mode & StrictEffectsMode) !== NoMode &&\n (workInProgress.flags |= 134217728),\n (_instance = !1));\n } else {\n _instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n state = workInProgress.memoizedProps;\n foundWillUpdateName = resolveClassComponentProps(Component, state);\n _instance.props = foundWillUpdateName;\n newApiName = workInProgress.pendingProps;\n oldState = _instance.context;\n oldContext = Component.contextType;\n lane = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (lane = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof _instance.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof _instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof _instance.componentWillReceiveProps) ||\n ((state !== newApiName || oldState !== lane) &&\n callComponentWillReceiveProps(\n workInProgress,\n _instance,\n nextProps,\n lane\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n _instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, _instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n state !== newApiName ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (foundWillUpdateName =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n foundWillUpdateName,\n nextProps,\n oldState,\n newState,\n lane\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof _instance.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof _instance.componentWillUpdate) ||\n (\"function\" === typeof _instance.componentWillUpdate &&\n _instance.componentWillUpdate(nextProps, newState, lane),\n \"function\" === typeof _instance.UNSAFE_componentWillUpdate &&\n _instance.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n lane\n )),\n \"function\" === typeof _instance.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof _instance.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof _instance.componentDidUpdate ||\n (state === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof _instance.getSnapshotBeforeUpdate ||\n (state === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (_instance.props = nextProps),\n (_instance.state = newState),\n (_instance.context = lane),\n (_instance = foundWillUpdateName))\n : (\"function\" !== typeof _instance.componentDidUpdate ||\n (state === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof _instance.getSnapshotBeforeUpdate ||\n (state === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (_instance = !1));\n }\n lane = _instance;\n markRef(current, workInProgress);\n state = 0 !== (workInProgress.flags & 128);\n if (lane || state) {\n lane = workInProgress.stateNode;\n setCurrentFiber(workInProgress);\n if (state && \"function\" !== typeof Component.getDerivedStateFromError)\n (Component = null), (profilerStartTime = -1);\n else {\n markComponentRenderStarted(workInProgress);\n Component = callRenderInDEV(lane);\n if (workInProgress.mode & StrictLegacyMode) {\n setIsStrictModeForDevtools(!0);\n try {\n callRenderInDEV(lane);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n markComponentRenderStopped();\n }\n workInProgress.flags |= 1;\n null !== current && state\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes);\n workInProgress.memoizedState = lane.state;\n current = workInProgress.child;\n } else\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n renderLanes = workInProgress.stateNode;\n _instance &&\n renderLanes.props !== nextProps &&\n (didWarnAboutReassigningProps ||\n console.error(\n \"It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.\",\n getComponentNameFromFiber(workInProgress) || \"a component\"\n ),\n (didWarnAboutReassigningProps = !0));\n return current;\n }\n function mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n ) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n }\n function validateFunctionComponentInDev(workInProgress, Component) {\n Component &&\n Component.childContextTypes &&\n console.error(\n \"childContextTypes cannot be defined on a function component.\\n %s.childContextTypes = ...\",\n Component.displayName || Component.name || \"Component\"\n );\n \"function\" === typeof Component.getDerivedStateFromProps &&\n ((workInProgress = getComponentNameFromType(Component) || \"Unknown\"),\n didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress] ||\n (console.error(\n \"%s: Function components do not support getDerivedStateFromProps.\",\n workInProgress\n ),\n (didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress] =\n !0)));\n \"object\" === typeof Component.contextType &&\n null !== Component.contextType &&\n ((Component = getComponentNameFromType(Component) || \"Unknown\"),\n didWarnAboutContextTypeOnFunctionComponent[Component] ||\n (console.error(\n \"%s: Function components do not support contextType.\",\n Component\n ),\n (didWarnAboutContextTypeOnFunctionComponent[Component] = !0)));\n }\n function mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n }\n function getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n ) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n }\n function updateSuspenseComponent(current, workInProgress, renderLanes) {\n var JSCompiler_object_inline_digest_2451;\n var JSCompiler_object_inline_stack_2452 = workInProgress.pendingProps;\n shouldSuspendImpl(workInProgress) && (workInProgress.flags |= 128);\n var JSCompiler_object_inline_componentStack_2453 = !1;\n var didSuspend = 0 !== (workInProgress.flags & 128);\n (JSCompiler_object_inline_digest_2451 = didSuspend) ||\n (JSCompiler_object_inline_digest_2451 =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback));\n JSCompiler_object_inline_digest_2451 &&\n ((JSCompiler_object_inline_componentStack_2453 = !0),\n (workInProgress.flags &= -129));\n JSCompiler_object_inline_digest_2451 = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n JSCompiler_object_inline_componentStack_2453\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var JSCompiler_object_inline_message_2450 = nextHydratableInstance;\n var JSCompiler_temp;\n if (!(JSCompiler_temp = !JSCompiler_object_inline_message_2450)) {\n c: {\n var instance = JSCompiler_object_inline_message_2450;\n for (\n JSCompiler_temp = rootOrSingletonContext;\n 8 !== instance.nodeType;\n\n ) {\n if (!JSCompiler_temp) {\n JSCompiler_temp = null;\n break c;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) {\n JSCompiler_temp = null;\n break c;\n }\n }\n JSCompiler_temp = instance;\n }\n null !== JSCompiler_temp\n ? (warnIfNotHydrating(),\n (workInProgress.memoizedState = {\n dehydrated: JSCompiler_temp,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (instance = createFiber(18, null, null, NoMode)),\n (instance.stateNode = JSCompiler_temp),\n (instance.return = workInProgress),\n (workInProgress.child = instance),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp = !0))\n : (JSCompiler_temp = !1);\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp &&\n (warnNonHydratedInstance(\n workInProgress,\n JSCompiler_object_inline_message_2450\n ),\n throwOnHydrationMismatch(workInProgress));\n }\n JSCompiler_object_inline_message_2450 = workInProgress.memoizedState;\n if (\n null !== JSCompiler_object_inline_message_2450 &&\n ((JSCompiler_object_inline_message_2450 =\n JSCompiler_object_inline_message_2450.dehydrated),\n null !== JSCompiler_object_inline_message_2450)\n )\n return (\n isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n JSCompiler_object_inline_message_2450 =\n JSCompiler_object_inline_stack_2452.children;\n JSCompiler_object_inline_stack_2452 =\n JSCompiler_object_inline_stack_2452.fallback;\n if (JSCompiler_object_inline_componentStack_2453)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (JSCompiler_object_inline_componentStack_2453 =\n workInProgress.mode),\n (JSCompiler_object_inline_message_2450 =\n mountWorkInProgressOffscreenFiber(\n {\n mode: \"hidden\",\n children: JSCompiler_object_inline_message_2450\n },\n JSCompiler_object_inline_componentStack_2453\n )),\n (JSCompiler_object_inline_stack_2452 = createFiberFromFragment(\n JSCompiler_object_inline_stack_2452,\n JSCompiler_object_inline_componentStack_2453,\n renderLanes,\n null\n )),\n (JSCompiler_object_inline_message_2450.return = workInProgress),\n (JSCompiler_object_inline_stack_2452.return = workInProgress),\n (JSCompiler_object_inline_message_2450.sibling =\n JSCompiler_object_inline_stack_2452),\n (workInProgress.child = JSCompiler_object_inline_message_2450),\n (JSCompiler_object_inline_componentStack_2453 =\n workInProgress.child),\n (JSCompiler_object_inline_componentStack_2453.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (JSCompiler_object_inline_componentStack_2453.childLanes =\n getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_object_inline_digest_2451,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n JSCompiler_object_inline_stack_2452\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(\n workInProgress,\n JSCompiler_object_inline_message_2450\n );\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((JSCompiler_object_inline_message_2450 = prevState.dehydrated),\n null !== JSCompiler_object_inline_message_2450)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (JSCompiler_object_inline_componentStack_2453 =\n JSCompiler_object_inline_stack_2452.fallback),\n (JSCompiler_object_inline_message_2450 = workInProgress.mode),\n (JSCompiler_object_inline_stack_2452 =\n mountWorkInProgressOffscreenFiber(\n {\n mode: \"visible\",\n children: JSCompiler_object_inline_stack_2452.children\n },\n JSCompiler_object_inline_message_2450\n )),\n (JSCompiler_object_inline_componentStack_2453 =\n createFiberFromFragment(\n JSCompiler_object_inline_componentStack_2453,\n JSCompiler_object_inline_message_2450,\n renderLanes,\n null\n )),\n (JSCompiler_object_inline_componentStack_2453.flags |= 2),\n (JSCompiler_object_inline_stack_2452.return = workInProgress),\n (JSCompiler_object_inline_componentStack_2453.return =\n workInProgress),\n (JSCompiler_object_inline_stack_2452.sibling =\n JSCompiler_object_inline_componentStack_2453),\n (workInProgress.child = JSCompiler_object_inline_stack_2452),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (JSCompiler_object_inline_stack_2452 = workInProgress.child),\n (JSCompiler_object_inline_stack_2452.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (JSCompiler_object_inline_stack_2452.childLanes =\n getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_object_inline_digest_2451,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress =\n JSCompiler_object_inline_componentStack_2453));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isHydrating &&\n console.error(\n \"We should not be hydrating here. This is a bug in React. Please file a bug.\"\n ),\n isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450))\n ) {\n JSCompiler_object_inline_digest_2451 =\n JSCompiler_object_inline_message_2450.nextSibling &&\n JSCompiler_object_inline_message_2450.nextSibling.dataset;\n if (JSCompiler_object_inline_digest_2451) {\n JSCompiler_temp = JSCompiler_object_inline_digest_2451.dgst;\n var message = JSCompiler_object_inline_digest_2451.msg;\n instance = JSCompiler_object_inline_digest_2451.stck;\n var componentStack = JSCompiler_object_inline_digest_2451.cstck;\n }\n JSCompiler_object_inline_message_2450 = message;\n JSCompiler_object_inline_digest_2451 = JSCompiler_temp;\n JSCompiler_object_inline_stack_2452 = instance;\n JSCompiler_temp = JSCompiler_object_inline_componentStack_2453 =\n componentStack;\n JSCompiler_object_inline_componentStack_2453 =\n JSCompiler_object_inline_message_2450\n ? Error(JSCompiler_object_inline_message_2450)\n : Error(\n \"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\"\n );\n JSCompiler_object_inline_componentStack_2453.stack =\n JSCompiler_object_inline_stack_2452 || \"\";\n JSCompiler_object_inline_componentStack_2453.digest =\n JSCompiler_object_inline_digest_2451;\n JSCompiler_object_inline_digest_2451 =\n void 0 === JSCompiler_temp ? null : JSCompiler_temp;\n JSCompiler_object_inline_stack_2452 = {\n value: JSCompiler_object_inline_componentStack_2453,\n source: null,\n stack: JSCompiler_object_inline_digest_2451\n };\n \"string\" === typeof JSCompiler_object_inline_digest_2451 &&\n CapturedStacks.set(\n JSCompiler_object_inline_componentStack_2453,\n JSCompiler_object_inline_stack_2452\n );\n queueHydrationError(JSCompiler_object_inline_stack_2452);\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (JSCompiler_object_inline_digest_2451 =\n 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_object_inline_digest_2451)\n ) {\n JSCompiler_object_inline_digest_2451 = workInProgressRoot;\n if (\n null !== JSCompiler_object_inline_digest_2451 &&\n ((JSCompiler_object_inline_stack_2452 = renderLanes & -renderLanes),\n (JSCompiler_object_inline_stack_2452 =\n 0 !== (JSCompiler_object_inline_stack_2452 & 42)\n ? 1\n : getBumpedLaneForHydrationByLane(\n JSCompiler_object_inline_stack_2452\n )),\n (JSCompiler_object_inline_stack_2452 =\n 0 !==\n (JSCompiler_object_inline_stack_2452 &\n (JSCompiler_object_inline_digest_2451.suspendedLanes |\n renderLanes))\n ? 0\n : JSCompiler_object_inline_stack_2452),\n 0 !== JSCompiler_object_inline_stack_2452 &&\n JSCompiler_object_inline_stack_2452 !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = JSCompiler_object_inline_stack_2452),\n enqueueConcurrentRenderForLane(\n current,\n JSCompiler_object_inline_stack_2452\n ),\n scheduleUpdateOnFiber(\n JSCompiler_object_inline_digest_2451,\n current,\n JSCompiler_object_inline_stack_2452\n ),\n SelectiveHydrationException)\n );\n JSCompiler_object_inline_message_2450.data ===\n SUSPENSE_PENDING_START_DATA || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n JSCompiler_object_inline_message_2450.data ===\n SUSPENSE_PENDING_START_DATA\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n JSCompiler_object_inline_message_2450.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (didSuspendOrErrorDEV = !1),\n (hydrationDiffRootDEV = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n (warnIfNotHydrating(),\n (idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress)),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n JSCompiler_object_inline_stack_2452.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (JSCompiler_object_inline_componentStack_2453)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (JSCompiler_object_inline_componentStack_2453 =\n JSCompiler_object_inline_stack_2452.fallback),\n (JSCompiler_object_inline_message_2450 = workInProgress.mode),\n (JSCompiler_temp = current.child),\n (instance = JSCompiler_temp.sibling),\n (JSCompiler_object_inline_stack_2452 = createWorkInProgress(\n JSCompiler_temp,\n {\n mode: \"hidden\",\n children: JSCompiler_object_inline_stack_2452.children\n }\n )),\n (JSCompiler_object_inline_stack_2452.subtreeFlags =\n JSCompiler_temp.subtreeFlags & 65011712),\n null !== instance\n ? (JSCompiler_object_inline_componentStack_2453 =\n createWorkInProgress(\n instance,\n JSCompiler_object_inline_componentStack_2453\n ))\n : ((JSCompiler_object_inline_componentStack_2453 =\n createFiberFromFragment(\n JSCompiler_object_inline_componentStack_2453,\n JSCompiler_object_inline_message_2450,\n renderLanes,\n null\n )),\n (JSCompiler_object_inline_componentStack_2453.flags |= 2)),\n (JSCompiler_object_inline_componentStack_2453.return =\n workInProgress),\n (JSCompiler_object_inline_stack_2452.return = workInProgress),\n (JSCompiler_object_inline_stack_2452.sibling =\n JSCompiler_object_inline_componentStack_2453),\n (workInProgress.child = JSCompiler_object_inline_stack_2452),\n (JSCompiler_object_inline_stack_2452 =\n JSCompiler_object_inline_componentStack_2453),\n (JSCompiler_object_inline_componentStack_2453 = workInProgress.child),\n (JSCompiler_object_inline_message_2450 = current.child.memoizedState),\n null === JSCompiler_object_inline_message_2450\n ? (JSCompiler_object_inline_message_2450 =\n mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp =\n JSCompiler_object_inline_message_2450.cachePool),\n null !== JSCompiler_temp\n ? ((instance = CacheContext._currentValue),\n (JSCompiler_temp =\n JSCompiler_temp.parent !== instance\n ? { parent: instance, pool: instance }\n : JSCompiler_temp))\n : (JSCompiler_temp = getSuspendedCache()),\n (JSCompiler_object_inline_message_2450 = {\n baseLanes:\n JSCompiler_object_inline_message_2450.baseLanes | renderLanes,\n cachePool: JSCompiler_temp\n })),\n (JSCompiler_object_inline_componentStack_2453.memoizedState =\n JSCompiler_object_inline_message_2450),\n (JSCompiler_object_inline_componentStack_2453.childLanes =\n getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_object_inline_digest_2451,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n JSCompiler_object_inline_stack_2452\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: JSCompiler_object_inline_stack_2452.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_object_inline_digest_2451 = workInProgress.deletions),\n null === JSCompiler_object_inline_digest_2451\n ? ((workInProgress.deletions = [current]),\n (workInProgress.flags |= 16))\n : JSCompiler_object_inline_digest_2451.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n }\n function mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n }\n function mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiber(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n offscreenProps.stateNode = {\n _visibility: OffscreenVisible,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n };\n return offscreenProps;\n }\n function retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n }\n function scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n fiber.return,\n renderLanes,\n propagationRoot\n );\n }\n function validateSuspenseListNestedChild(childSlot, index) {\n var isAnArray = isArrayImpl(childSlot);\n childSlot = !isAnArray && \"function\" === typeof getIteratorFn(childSlot);\n return isAnArray || childSlot\n ? ((isAnArray = isAnArray ? \"array\" : \"iterable\"),\n console.error(\n \"A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>\",\n isAnArray,\n index,\n isAnArray\n ),\n !1)\n : !0;\n }\n function initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n ) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n }\n function updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n if (\n void 0 !== revealOrder &&\n \"forwards\" !== revealOrder &&\n \"backwards\" !== revealOrder &&\n \"together\" !== revealOrder &&\n !didWarnAboutRevealOrder[revealOrder]\n )\n if (\n ((didWarnAboutRevealOrder[revealOrder] = !0),\n \"string\" === typeof revealOrder)\n )\n switch (revealOrder.toLowerCase()) {\n case \"together\":\n case \"forwards\":\n case \"backwards\":\n console.error(\n '\"%s\" is not a valid value for revealOrder on <SuspenseList />. Use lowercase \"%s\" instead.',\n revealOrder,\n revealOrder.toLowerCase()\n );\n break;\n case \"forward\":\n case \"backward\":\n console.error(\n '\"%s\" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use \"%ss\" instead.',\n revealOrder,\n revealOrder.toLowerCase()\n );\n break;\n default:\n console.error(\n '\"%s\" is not a supported revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?',\n revealOrder\n );\n }\n else\n console.error(\n '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean \"together\", \"forwards\" or \"backwards\"?',\n revealOrder\n );\n void 0 === tailMode ||\n didWarnAboutTailOptions[tailMode] ||\n (\"collapsed\" !== tailMode && \"hidden\" !== tailMode\n ? ((didWarnAboutTailOptions[tailMode] = !0),\n console.error(\n '\"%s\" is not a supported value for tail on <SuspenseList />. Did you mean \"collapsed\" or \"hidden\"?',\n tailMode\n ))\n : \"forwards\" !== revealOrder &&\n \"backwards\" !== revealOrder &&\n ((didWarnAboutTailOptions[tailMode] = !0),\n console.error(\n '<SuspenseList tail=\"%s\" /> is only valid if revealOrder is \"forwards\" or \"backwards\". Did you mean to specify revealOrder=\"forwards\"?',\n tailMode\n )));\n a: if (\n (\"forwards\" === revealOrder || \"backwards\" === revealOrder) &&\n void 0 !== nextProps &&\n null !== nextProps &&\n !1 !== nextProps\n )\n if (isArrayImpl(nextProps))\n for (var i = 0; i < nextProps.length; i++) {\n if (!validateSuspenseListNestedChild(nextProps[i], i)) break a;\n }\n else if (((i = getIteratorFn(nextProps)), \"function\" === typeof i)) {\n if ((i = i.call(nextProps)))\n for (var step = i.next(), _i = 0; !step.done; step = i.next()) {\n if (!validateSuspenseListNestedChild(step.value, _i)) break a;\n _i++;\n }\n } else\n console.error(\n 'A single row was passed to a <SuspenseList revealOrder=\"%s\" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?',\n revealOrder\n );\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & ForceSuspenseFallback))\n (nextProps =\n (nextProps & SubtreeSuspenseContextMask) | ForceSuspenseFallback),\n (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(\n current,\n renderLanes,\n workInProgress\n );\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= SubtreeSuspenseContextMask;\n }\n push(suspenseStackCursor, nextProps, workInProgress);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling),\n (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n }\n function bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n profilerStartTime = -1;\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(\"Resuming work not yet implemented.\");\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n }\n function checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n }\n function attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n ) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n pushProvider(\n workInProgress,\n CacheContext,\n current.memoizedState.cache\n );\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 12:\n 0 !== (renderLanes & workInProgress.childLanes) &&\n (workInProgress.flags |= 4);\n workInProgress.flags |= 2048;\n var stateNode = workInProgress.stateNode;\n stateNode.effectDuration = -0;\n stateNode.passiveEffectDuration = -0;\n break;\n case 13:\n stateNode = workInProgress.memoizedState;\n if (null !== stateNode) {\n if (null !== stateNode.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(\n current,\n workInProgress,\n renderLanes\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n stateNode = 0 !== (renderLanes & workInProgress.childLanes);\n stateNode ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (stateNode = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (stateNode)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(\n suspenseStackCursor,\n suspenseStackCursor.current,\n workInProgress\n );\n if (stateNode) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(\n workInProgress,\n CacheContext,\n current.memoizedState.cache\n );\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n function beginWork(current, workInProgress, renderLanes) {\n if (workInProgress._debugNeedsRemount && null !== current) {\n renderLanes = createFiberFromTypeAndProps(\n workInProgress.type,\n workInProgress.key,\n workInProgress.pendingProps,\n workInProgress._debugOwner || null,\n workInProgress.mode,\n workInProgress.lanes\n );\n renderLanes._debugStack = workInProgress._debugStack;\n renderLanes._debugTask = workInProgress._debugTask;\n var returnFiber = workInProgress.return;\n if (null === returnFiber) throw Error(\"Cannot swap the root fiber.\");\n current.alternate = null;\n workInProgress.alternate = null;\n renderLanes.index = workInProgress.index;\n renderLanes.sibling = workInProgress.sibling;\n renderLanes.return = workInProgress.return;\n renderLanes.ref = workInProgress.ref;\n renderLanes._debugInfo = workInProgress._debugInfo;\n if (workInProgress === returnFiber.child)\n returnFiber.child = renderLanes;\n else {\n var prevSibling = returnFiber.child;\n if (null === prevSibling)\n throw Error(\"Expected parent to have a child.\");\n for (; prevSibling.sibling !== workInProgress; )\n if (((prevSibling = prevSibling.sibling), null === prevSibling))\n throw Error(\"Expected to find the previous sibling.\");\n prevSibling.sibling = renderLanes;\n }\n workInProgress = returnFiber.deletions;\n null === workInProgress\n ? ((returnFiber.deletions = [current]), (returnFiber.flags |= 16))\n : workInProgress.push(current);\n renderLanes.flags |= 2;\n return renderLanes;\n }\n if (null !== current)\n if (\n current.memoizedProps !== workInProgress.pendingProps ||\n workInProgress.type !== current.type\n )\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else {\n didReceiveUpdate = !1;\n if ((returnFiber = isHydrating))\n warnIfNotHydrating(),\n (returnFiber = 0 !== (workInProgress.flags & 1048576));\n returnFiber &&\n ((returnFiber = workInProgress.index),\n warnIfNotHydrating(),\n pushTreeId(workInProgress, treeForkCount, returnFiber));\n }\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: if (\n ((returnFiber = workInProgress.pendingProps),\n (current = callLazyInitInDEV(workInProgress.elementType)),\n (workInProgress.type = current),\n \"function\" === typeof current)\n )\n shouldConstruct(current)\n ? ((returnFiber = resolveClassComponentProps(\n current,\n returnFiber\n )),\n (workInProgress.tag = 1),\n (workInProgress.type = current =\n resolveFunctionForHotReloading(current)),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n returnFiber,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n validateFunctionComponentInDev(workInProgress, current),\n (workInProgress.type = current =\n resolveFunctionForHotReloading(current)),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n returnFiber,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current)\n if (\n ((prevSibling = current.$$typeof),\n prevSibling === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress.type = current =\n resolveForwardRefForHotReloading(current);\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n returnFiber,\n renderLanes\n );\n break a;\n } else if (prevSibling === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n returnFiber,\n renderLanes\n );\n break a;\n }\n workInProgress = \"\";\n null !== current &&\n \"object\" === typeof current &&\n current.$$typeof === REACT_LAZY_TYPE &&\n (workInProgress =\n \" Did you wrap a component in React.lazy() more than once?\");\n current = getComponentNameFromType(current) || current;\n throw Error(\n \"Element type is invalid. Received a promise that resolves to: \" +\n current +\n \". Lazy element type must resolve to a class or function.\" +\n workInProgress\n );\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (returnFiber = workInProgress.type),\n (prevSibling = resolveClassComponentProps(\n returnFiber,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n returnFiber,\n prevSibling,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current)\n throw Error(\n \"Should have a current fiber. This is a bug in React.\"\n );\n returnFiber = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n prevSibling = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, returnFiber, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n returnFiber = nextState.cache;\n pushProvider(workInProgress, CacheContext, returnFiber);\n returnFiber !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n returnFiber = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: returnFiber,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n );\n break a;\n } else if (returnFiber !== prevSibling) {\n prevSibling = createCapturedValueAtFiber(\n Error(\n \"This root received an early update, before anything was able hydrate. Switched the entire root to client rendering.\"\n ),\n workInProgress\n );\n queueHydrationError(prevSibling);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n didSuspendOrErrorDEV = !1;\n hydrationDiffRootDEV = null;\n rootOrSingletonContext = !0;\n current = mountChildFibers(\n workInProgress,\n null,\n returnFiber,\n renderLanes\n );\n for (workInProgress.child = current; current; )\n (current.flags = (current.flags & -3) | 4096),\n (current = current.sibling);\n }\n else {\n resetHydrationState();\n if (returnFiber === prevSibling) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n );\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (current = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = current)\n : isHydrating ||\n ((current = workInProgress.type),\n (renderLanes = workInProgress.pendingProps),\n (returnFiber = requiredContext(\n rootInstanceStackCursor.current\n )),\n (returnFiber =\n getOwnerDocumentFromRootContainer(\n returnFiber\n ).createElement(current)),\n (returnFiber[internalInstanceKey] = workInProgress),\n (returnFiber[internalPropsKey] = renderLanes),\n setInitialProperties(returnFiber, current, renderLanes),\n markNodeAsHoistable(returnFiber),\n (workInProgress.stateNode = returnFiber))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((returnFiber = requiredContext(rootInstanceStackCursor.current)),\n (prevSibling = getHostContext()),\n (returnFiber = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n returnFiber,\n prevSibling,\n !1\n )),\n didSuspendOrErrorDEV ||\n ((prevSibling = diffHydratedProperties(\n returnFiber,\n workInProgress.type,\n workInProgress.pendingProps,\n prevSibling\n )),\n null !== prevSibling &&\n (buildHydrationDiffNode(workInProgress, 0).serverProps =\n prevSibling)),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (prevSibling = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = prevSibling),\n (nextHydratableInstance = getNextHydratable(\n returnFiber.firstChild\n )))\n : (nextHydratableInstance = prevSibling)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n return (\n null === current &&\n isHydrating &&\n ((prevState = getHostContext()),\n (returnFiber = validateDOMNesting(\n workInProgress.type,\n prevState.ancestorInfo\n )),\n (prevSibling = nextHydratableInstance),\n (nextState = !prevSibling) ||\n ((nextState = canHydrateInstance(\n prevSibling,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== nextState\n ? ((workInProgress.stateNode = nextState),\n didSuspendOrErrorDEV ||\n ((prevState = diffHydratedProperties(\n nextState,\n workInProgress.type,\n workInProgress.pendingProps,\n prevState\n )),\n null !== prevState &&\n (buildHydrationDiffNode(workInProgress, 0).serverProps =\n prevState)),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(\n nextState.firstChild\n )),\n (rootOrSingletonContext = !1),\n (prevState = !0))\n : (prevState = !1),\n (nextState = !prevState)),\n nextState &&\n (returnFiber &&\n warnNonHydratedInstance(workInProgress, prevSibling),\n throwOnHydrationMismatch(workInProgress))),\n pushHostContext(workInProgress),\n (prevSibling = workInProgress.type),\n (prevState = workInProgress.pendingProps),\n (nextState = null !== current ? current.memoizedProps : null),\n (returnFiber = prevState.children),\n shouldSetTextContent(prevSibling, prevState)\n ? (returnFiber = null)\n : null !== nextState &&\n shouldSetTextContent(prevSibling, nextState) &&\n (workInProgress.flags |= 32),\n null !== workInProgress.memoizedState &&\n ((prevSibling = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = prevSibling)),\n markRef(current, workInProgress),\n reconcileChildren(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n ),\n workInProgress.child\n );\n case 6:\n return (\n null === current &&\n isHydrating &&\n ((current = workInProgress.pendingProps),\n (renderLanes = getHostContext()),\n (returnFiber = renderLanes.ancestorInfo.current),\n (current =\n null != returnFiber\n ? validateTextNesting(\n current,\n returnFiber.tag,\n renderLanes.ancestorInfo.implicitRootScope\n )\n : !0),\n (renderLanes = nextHydratableInstance),\n (returnFiber = !renderLanes) ||\n ((returnFiber = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== returnFiber\n ? ((workInProgress.stateNode = returnFiber),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (returnFiber = !0))\n : (returnFiber = !1),\n (returnFiber = !returnFiber)),\n returnFiber &&\n (current &&\n warnNonHydratedInstance(workInProgress, renderLanes),\n throwOnHydrationMismatch(workInProgress))),\n null\n );\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (returnFiber = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n returnFiber,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n (workInProgress.flags |= 4),\n (workInProgress.flags |= 2048),\n (returnFiber = workInProgress.stateNode),\n (returnFiber.effectDuration = -0),\n (returnFiber.passiveEffectDuration = -0),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (returnFiber = workInProgress.type),\n (prevSibling = workInProgress.pendingProps),\n (prevState = prevSibling.value),\n \"value\" in prevSibling ||\n hasWarnedAboutUsingNoValuePropOnContextProvider ||\n ((hasWarnedAboutUsingNoValuePropOnContextProvider = !0),\n console.error(\n \"The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?\"\n )),\n pushProvider(workInProgress, returnFiber, prevState),\n reconcileChildren(\n current,\n workInProgress,\n prevSibling.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (prevSibling = workInProgress.type._context),\n (returnFiber = workInProgress.pendingProps.children),\n \"function\" !== typeof returnFiber &&\n console.error(\n \"A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it.\"\n ),\n prepareToReadContext(workInProgress),\n (prevSibling = readContext(prevSibling)),\n markComponentRenderStarted(workInProgress),\n (returnFiber = callComponentInDEV(\n returnFiber,\n prevSibling,\n void 0\n )),\n markComponentRenderStopped(),\n (workInProgress.flags |= 1),\n reconcileChildren(\n current,\n workInProgress,\n returnFiber,\n renderLanes\n ),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n case 31:\n return (\n (returnFiber = workInProgress.pendingProps),\n (renderLanes = workInProgress.mode),\n (returnFiber = {\n mode: returnFiber.mode,\n children: returnFiber.children\n }),\n null === current\n ? ((current = mountWorkInProgressOffscreenFiber(\n returnFiber,\n renderLanes\n )),\n (current.ref = workInProgress.ref),\n (workInProgress.child = current),\n (current.return = workInProgress),\n (workInProgress = current))\n : ((current = createWorkInProgress(current.child, returnFiber)),\n (current.ref = workInProgress.ref),\n (workInProgress.child = current),\n (current.return = workInProgress),\n (workInProgress = current)),\n workInProgress\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (returnFiber = readContext(CacheContext)),\n null === current\n ? ((prevSibling = peekCacheFromPool()),\n null === prevSibling &&\n ((prevSibling = workInProgressRoot),\n (prevState = createCache()),\n (prevSibling.pooledCache = prevState),\n retainCache(prevState),\n null !== prevState &&\n (prevSibling.pooledCacheLanes |= renderLanes),\n (prevSibling = prevState)),\n (workInProgress.memoizedState = {\n parent: returnFiber,\n cache: prevSibling\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, prevSibling))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (prevSibling = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n prevSibling.parent !== returnFiber\n ? ((prevSibling = {\n parent: returnFiber,\n cache: returnFiber\n }),\n (workInProgress.memoizedState = prevSibling),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n prevSibling),\n pushProvider(workInProgress, CacheContext, returnFiber))\n : ((returnFiber = prevState.cache),\n pushProvider(workInProgress, CacheContext, returnFiber),\n returnFiber !== prevSibling.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n function markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n }\n function preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\n \"stylesheet\" !== resource.type ||\n (resource.state.loading & Inserted) !== NotLoaded\n )\n workInProgress.flags &= -16777217;\n else if (\n ((workInProgress.flags |= 16777216), !preloadResource(resource))\n ) {\n resource = suspenseHandlerStackCursor.current;\n if (\n null !== resource &&\n ((workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null !== shellBoundary\n : ((workInProgressRootRenderLanes & 62914560) !==\n workInProgressRootRenderLanes &&\n 0 === (workInProgressRootRenderLanes & 536870912)) ||\n resource !== shellBoundary)\n )\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n workInProgress.flags |= 8192;\n }\n }\n function scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n }\n function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var _lastTailNode = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (_lastTailNode = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === _lastTailNode\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (_lastTailNode.sibling = null);\n }\n }\n function bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n if ((completedWork.mode & ProfileMode) !== NoMode) {\n for (\n var _treeBaseDuration = completedWork.selfBaseDuration,\n _child2 = completedWork.child;\n null !== _child2;\n\n )\n (newChildLanes |= _child2.lanes | _child2.childLanes),\n (subtreeFlags |= _child2.subtreeFlags & 65011712),\n (subtreeFlags |= _child2.flags & 65011712),\n (_treeBaseDuration += _child2.treeBaseDuration),\n (_child2 = _child2.sibling);\n completedWork.treeBaseDuration = _treeBaseDuration;\n } else\n for (\n _treeBaseDuration = completedWork.child;\n null !== _treeBaseDuration;\n\n )\n (newChildLanes |=\n _treeBaseDuration.lanes | _treeBaseDuration.childLanes),\n (subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712),\n (subtreeFlags |= _treeBaseDuration.flags & 65011712),\n (_treeBaseDuration.return = completedWork),\n (_treeBaseDuration = _treeBaseDuration.sibling);\n else if ((completedWork.mode & ProfileMode) !== NoMode) {\n _treeBaseDuration = completedWork.actualDuration;\n _child2 = completedWork.selfBaseDuration;\n for (var child = completedWork.child; null !== child; )\n (newChildLanes |= child.lanes | child.childLanes),\n (subtreeFlags |= child.subtreeFlags),\n (subtreeFlags |= child.flags),\n (_treeBaseDuration += child.actualDuration),\n (_child2 += child.treeBaseDuration),\n (child = child.sibling);\n completedWork.actualDuration = _treeBaseDuration;\n completedWork.treeBaseDuration = _child2;\n } else\n for (\n _treeBaseDuration = completedWork.child;\n null !== _treeBaseDuration;\n\n )\n (newChildLanes |=\n _treeBaseDuration.lanes | _treeBaseDuration.childLanes),\n (subtreeFlags |= _treeBaseDuration.subtreeFlags),\n (subtreeFlags |= _treeBaseDuration.flags),\n (_treeBaseDuration.return = completedWork),\n (_treeBaseDuration = _treeBaseDuration.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n }\n function completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 31:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext, workInProgress);\n popHostContainer(workInProgress);\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? (emitPendingHydrationWarnings(), markUpdate(workInProgress))\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n return (\n (renderLanes = workInProgress.memoizedState),\n null === current\n ? (markUpdate(workInProgress),\n null !== renderLanes\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n renderLanes\n ))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)))\n : renderLanes\n ? renderLanes !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(\n workInProgress,\n renderLanes\n ))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (current.memoizedProps !== newProps &&\n markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)),\n null\n );\n case 27:\n popHostContext(workInProgress);\n renderLanes = requiredContext(rootInstanceStackCursor.current);\n var _type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n bubbleProperties(workInProgress);\n return null;\n }\n current = getHostContext();\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(\n _type,\n newProps,\n renderLanes,\n current,\n !0\n )),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n bubbleProperties(workInProgress);\n return null;\n }\n _type = getHostContext();\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, _type);\n else {\n current = requiredContext(rootInstanceStackCursor.current);\n validateDOMNesting(renderLanes, _type.ancestorInfo);\n _type = _type.context;\n current = getOwnerDocumentFromRootContainer(current);\n switch (_type) {\n case HostContextNamespaceSvg:\n current = current.createElementNS(SVG_NAMESPACE, renderLanes);\n break;\n case HostContextNamespaceMath:\n current = current.createElementNS(\n MATH_NAMESPACE,\n renderLanes\n );\n break;\n default:\n switch (renderLanes) {\n case \"svg\":\n current = current.createElementNS(\n SVG_NAMESPACE,\n renderLanes\n );\n break;\n case \"math\":\n current = current.createElementNS(\n MATH_NAMESPACE,\n renderLanes\n );\n break;\n case \"script\":\n current = current.createElement(\"div\");\n current.innerHTML = \"<script>\\x3c/script>\";\n current = current.removeChild(current.firstChild);\n break;\n case \"select\":\n current =\n \"string\" === typeof newProps.is\n ? current.createElement(\"select\", { is: newProps.is })\n : current.createElement(\"select\");\n newProps.multiple\n ? (current.multiple = !0)\n : newProps.size && (current.size = newProps.size);\n break;\n default:\n (current =\n \"string\" === typeof newProps.is\n ? current.createElement(renderLanes, {\n is: newProps.is\n })\n : current.createElement(renderLanes)),\n -1 === renderLanes.indexOf(\"-\") &&\n (renderLanes !== renderLanes.toLowerCase() &&\n console.error(\n \"<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.\",\n renderLanes\n ),\n \"[object HTMLUnknownElement]\" !==\n Object.prototype.toString.call(current) ||\n hasOwnProperty.call(\n warnedUnknownTags,\n renderLanes\n ) ||\n ((warnedUnknownTags[renderLanes] = !0),\n console.error(\n \"The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.\",\n renderLanes\n )));\n }\n }\n current[internalInstanceKey] = workInProgress;\n current[internalPropsKey] = newProps;\n a: for (_type = workInProgress.child; null !== _type; ) {\n if (5 === _type.tag || 6 === _type.tag)\n current.appendChild(_type.stateNode);\n else if (\n 4 !== _type.tag &&\n 27 !== _type.tag &&\n null !== _type.child\n ) {\n _type.child.return = _type;\n _type = _type.child;\n continue;\n }\n if (_type === workInProgress) break a;\n for (; null === _type.sibling; ) {\n if (null === _type.return || _type.return === workInProgress)\n break a;\n _type = _type.return;\n }\n _type.sibling.return = _type.return;\n _type = _type.sibling;\n }\n workInProgress.stateNode = current;\n a: switch (\n (setInitialProperties(current, renderLanes, newProps),\n renderLanes)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n current = !!newProps.autoFocus;\n break a;\n case \"img\":\n current = !0;\n break a;\n default:\n current = !1;\n }\n current && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n workInProgress.flags &= -16777217;\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\n \"string\" !== typeof newProps &&\n null === workInProgress.stateNode\n )\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n current = requiredContext(rootInstanceStackCursor.current);\n renderLanes = getHostContext();\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n _type = !didSuspendOrErrorDEV;\n newProps = null;\n var returnFiber = hydrationParentFiber;\n if (null !== returnFiber)\n switch (returnFiber.tag) {\n case 3:\n _type &&\n ((_type = diffHydratedTextForDevWarnings(\n current,\n renderLanes,\n newProps\n )),\n null !== _type &&\n (buildHydrationDiffNode(workInProgress, 0).serverProps =\n _type));\n break;\n case 27:\n case 5:\n (newProps = returnFiber.memoizedProps),\n _type &&\n ((_type = diffHydratedTextForDevWarnings(\n current,\n renderLanes,\n newProps\n )),\n null !== _type &&\n (buildHydrationDiffNode(\n workInProgress,\n 0\n ).serverProps = _type));\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps &&\n !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress);\n } else\n (_type = renderLanes.ancestorInfo.current),\n null != _type &&\n validateTextNesting(\n newProps,\n _type.tag,\n renderLanes.ancestorInfo.implicitRootScope\n ),\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n _type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!_type)\n throw Error(\n \"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\"\n );\n _type = workInProgress.memoizedState;\n _type = null !== _type ? _type.dehydrated : null;\n if (!_type)\n throw Error(\n \"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\"\n );\n _type[internalInstanceKey] = workInProgress;\n bubbleProperties(workInProgress);\n (workInProgress.mode & ProfileMode) !== NoMode &&\n null !== newProps &&\n ((_type = workInProgress.child),\n null !== _type &&\n (workInProgress.treeBaseDuration -=\n _type.treeBaseDuration));\n } else\n emitPendingHydrationWarnings(),\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4),\n bubbleProperties(workInProgress),\n (workInProgress.mode & ProfileMode) !== NoMode &&\n null !== newProps &&\n ((_type = workInProgress.child),\n null !== _type &&\n (workInProgress.treeBaseDuration -=\n _type.treeBaseDuration));\n _type = !1;\n } else\n (_type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = _type),\n (_type = !0);\n if (!_type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (\n (workInProgress.lanes = renderLanes),\n (workInProgress.mode & ProfileMode) !== NoMode &&\n transferActualDuration(workInProgress),\n workInProgress\n );\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (_type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (_type = newProps.alternate.memoizedState.cachePool.pool),\n (returnFiber = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (returnFiber = newProps.memoizedState.cachePool.pool),\n returnFiber !== _type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n (workInProgress.mode & ProfileMode) !== NoMode &&\n renderLanes &&\n ((current = workInProgress.child),\n null !== current &&\n (workInProgress.treeBaseDuration -= current.treeBaseDuration));\n return null;\n case 4:\n return (\n popHostContainer(workInProgress),\n null === current &&\n listenToAllSupportedEvents(\n workInProgress.stateNode.containerInfo\n ),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 19:\n pop(suspenseStackCursor, workInProgress);\n _type = workInProgress.memoizedState;\n if (null === _type) return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n returnFiber = _type.rendering;\n if (null === returnFiber)\n if (newProps) cutOffTailIfNeeded(_type, !1);\n else {\n if (\n workInProgressRootExitStatus !== RootInProgress ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n returnFiber = findFirstSuspended(current);\n if (null !== returnFiber) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(_type, !1);\n current = returnFiber.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (\n renderLanes = workInProgress.child;\n null !== renderLanes;\n\n )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current &\n SubtreeSuspenseContextMask) |\n ForceSuspenseFallback,\n workInProgress\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== _type.tail &&\n now$1() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(_type, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (\n ((current = findFirstSuspended(returnFiber)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(_type, !0),\n null === _type.tail &&\n \"hidden\" === _type.tailMode &&\n !returnFiber.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now$1() - _type.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(_type, !1),\n (workInProgress.lanes = 4194304));\n _type.isBackwards\n ? ((returnFiber.sibling = workInProgress.child),\n (workInProgress.child = returnFiber))\n : ((current = _type.last),\n null !== current\n ? (current.sibling = returnFiber)\n : (workInProgress.child = returnFiber),\n (_type.last = returnFiber));\n }\n if (null !== _type.tail)\n return (\n (current = _type.tail),\n (_type.rendering = current),\n (_type.tail = current.sibling),\n (_type.renderingStartTime = now$1()),\n (current.sibling = null),\n (renderLanes = suspenseStackCursor.current),\n (renderLanes = newProps\n ? (renderLanes & SubtreeSuspenseContextMask) |\n ForceSuspenseFallback\n : renderLanes & SubtreeSuspenseContextMask),\n push(suspenseStackCursor, renderLanes, workInProgress),\n current\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(workInProgress),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 &&\n (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache, workInProgress),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return null;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n function unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n (workInProgress.mode & ProfileMode) !== NoMode &&\n transferActualDuration(workInProgress),\n workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext, workInProgress),\n popHostContainer(workInProgress),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128),\n workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(\n \"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\"\n );\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n (workInProgress.mode & ProfileMode) !== NoMode &&\n transferActualDuration(workInProgress),\n workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor, workInProgress), null;\n case 4:\n return popHostContainer(workInProgress), null;\n case 10:\n return popProvider(workInProgress.type, workInProgress), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(workInProgress),\n null !== current && pop(resumedCache, workInProgress),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128),\n (workInProgress.mode & ProfileMode) !== NoMode &&\n transferActualDuration(workInProgress),\n workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext, workInProgress), null;\n case 25:\n return null;\n default:\n return null;\n }\n }\n function unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext, interruptedWork);\n popHostContainer(interruptedWork);\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer(interruptedWork);\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor, interruptedWork);\n break;\n case 10:\n popProvider(interruptedWork.type, interruptedWork);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext(interruptedWork);\n null !== current && pop(resumedCache, interruptedWork);\n break;\n case 24:\n popProvider(CacheContext, interruptedWork);\n }\n }\n function shouldProfile(current) {\n return (current.mode & ProfileMode) !== NoMode;\n }\n function commitHookLayoutEffects(finishedWork, hookFlags) {\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n commitHookEffectListMount(hookFlags, finishedWork),\n recordEffectDuration())\n : commitHookEffectListMount(hookFlags, finishedWork);\n }\n function commitHookLayoutUnmountEffects(\n finishedWork,\n nearestMountedAncestor,\n hookFlags\n ) {\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n commitHookEffectListUnmount(\n hookFlags,\n finishedWork,\n nearestMountedAncestor\n ),\n recordEffectDuration())\n : commitHookEffectListUnmount(\n hookFlags,\n finishedWork,\n nearestMountedAncestor\n );\n }\n function commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if (\n (updateQueue.tag & flags) === flags &&\n ((flags & Passive) !== NoFlags\n ? null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted &&\n injectedProfilingHooks.markComponentPassiveEffectMountStarted(\n finishedWork\n )\n : (flags & Layout) !== NoFlags &&\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted &&\n injectedProfilingHooks.markComponentLayoutEffectMountStarted(\n finishedWork\n ),\n (lastEffect = void 0),\n (flags & Insertion) !== NoFlags &&\n (isRunningInsertionEffect = !0),\n (lastEffect = runWithFiberInDEV(\n finishedWork,\n callCreateInDEV,\n updateQueue\n )),\n (flags & Insertion) !== NoFlags &&\n (isRunningInsertionEffect = !1),\n (flags & Passive) !== NoFlags\n ? null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped &&\n injectedProfilingHooks.markComponentPassiveEffectMountStopped()\n : (flags & Layout) !== NoFlags &&\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped &&\n injectedProfilingHooks.markComponentLayoutEffectMountStopped(),\n void 0 !== lastEffect && \"function\" !== typeof lastEffect)\n ) {\n var hookName = void 0;\n hookName =\n 0 !== (updateQueue.tag & Layout)\n ? \"useLayoutEffect\"\n : 0 !== (updateQueue.tag & Insertion)\n ? \"useInsertionEffect\"\n : \"useEffect\";\n var addendum = void 0;\n addendum =\n null === lastEffect\n ? \" You returned null. If your effect does not require clean up, return undefined (or nothing).\"\n : \"function\" === typeof lastEffect.then\n ? \"\\n\\nIt looks like you wrote \" +\n hookName +\n \"(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\\n\\n\" +\n hookName +\n \"(() => {\\n async function fetchData() {\\n // You can await here\\n const response = await MyAPI.getData(someId);\\n // ...\\n }\\n fetchData();\\n}, [someId]); // Or [] if effect doesn't need props or state\\n\\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching\"\n : \" You returned: \" + lastEffect;\n runWithFiberInDEV(\n finishedWork,\n function (n, a) {\n console.error(\n \"%s must not return anything besides a function, which is used for clean-up.%s\",\n n,\n a\n );\n },\n hookName,\n addendum\n );\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor\n ) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n void 0 !== destroy &&\n ((inst.destroy = void 0),\n (flags & Passive) !== NoFlags\n ? null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted &&\n injectedProfilingHooks.markComponentPassiveEffectUnmountStarted(\n finishedWork\n )\n : (flags & Layout) !== NoFlags &&\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted &&\n injectedProfilingHooks.markComponentLayoutEffectUnmountStarted(\n finishedWork\n ),\n (flags & Insertion) !== NoFlags &&\n (isRunningInsertionEffect = !0),\n (lastEffect = finishedWork),\n runWithFiberInDEV(\n lastEffect,\n callDestroyInDEV,\n lastEffect,\n nearestMountedAncestor,\n destroy\n ),\n (flags & Insertion) !== NoFlags &&\n (isRunningInsertionEffect = !1),\n (flags & Passive) !== NoFlags\n ? null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped &&\n injectedProfilingHooks.markComponentPassiveEffectUnmountStopped()\n : (flags & Layout) !== NoFlags &&\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped &&\n injectedProfilingHooks.markComponentLayoutEffectUnmountStopped());\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHookPassiveMountEffects(finishedWork, hookFlags) {\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n commitHookEffectListMount(hookFlags, finishedWork),\n recordEffectDuration())\n : commitHookEffectListMount(hookFlags, finishedWork);\n }\n function commitHookPassiveUnmountEffects(\n finishedWork,\n nearestMountedAncestor,\n hookFlags\n ) {\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n commitHookEffectListUnmount(\n hookFlags,\n finishedWork,\n nearestMountedAncestor\n ),\n recordEffectDuration())\n : commitHookEffectListUnmount(\n hookFlags,\n finishedWork,\n nearestMountedAncestor\n );\n }\n function commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n finishedWork.type.defaultProps ||\n \"ref\" in finishedWork.memoizedProps ||\n didWarnAboutReassigningProps ||\n (instance.props !== finishedWork.memoizedProps &&\n console.error(\n \"Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ),\n instance.state !== finishedWork.memoizedState &&\n console.error(\n \"Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ));\n try {\n runWithFiberInDEV(\n finishedWork,\n commitCallbacks,\n updateQueue,\n instance\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n }\n function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) {\n return instance.getSnapshotBeforeUpdate(prevProps, prevState);\n }\n function commitClassSnapshot(finishedWork, current) {\n var prevProps = current.memoizedProps,\n prevState = current.memoizedState;\n current = finishedWork.stateNode;\n finishedWork.type.defaultProps ||\n \"ref\" in finishedWork.memoizedProps ||\n didWarnAboutReassigningProps ||\n (current.props !== finishedWork.memoizedProps &&\n console.error(\n \"Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ),\n current.state !== finishedWork.memoizedState &&\n console.error(\n \"Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ));\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n finishedWork.type,\n prevProps,\n finishedWork.elementType === finishedWork.type\n );\n var snapshot = runWithFiberInDEV(\n finishedWork,\n callGetSnapshotBeforeUpdates,\n current,\n resolvedPrevProps,\n prevState\n );\n prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate;\n void 0 !== snapshot ||\n prevProps.has(finishedWork.type) ||\n (prevProps.add(finishedWork.type),\n runWithFiberInDEV(finishedWork, function () {\n console.error(\n \"%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.\",\n getComponentNameFromFiber(finishedWork)\n );\n }));\n current.__reactInternalSnapshotBeforeUpdate = snapshot;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n ) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n shouldProfile(current)\n ? (startEffectTimer(),\n runWithFiberInDEV(\n current,\n callComponentWillUnmountInDEV,\n current,\n nearestMountedAncestor,\n instance\n ),\n recordEffectDuration())\n : runWithFiberInDEV(\n current,\n callComponentWillUnmountInDEV,\n current,\n nearestMountedAncestor,\n instance\n );\n }\n function commitAttachRef(finishedWork) {\n var ref = finishedWork.ref;\n if (null !== ref) {\n switch (finishedWork.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = finishedWork.stateNode;\n break;\n case 30:\n instanceToUse = finishedWork.stateNode;\n break;\n default:\n instanceToUse = finishedWork.stateNode;\n }\n if (\"function\" === typeof ref)\n if (shouldProfile(finishedWork))\n try {\n startEffectTimer(),\n (finishedWork.refCleanup = ref(instanceToUse));\n } finally {\n recordEffectDuration();\n }\n else finishedWork.refCleanup = ref(instanceToUse);\n else\n \"string\" === typeof ref\n ? console.error(\"String refs are no longer supported.\")\n : ref.hasOwnProperty(\"current\") ||\n console.error(\n \"Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().\",\n getComponentNameFromFiber(finishedWork)\n ),\n (ref.current = instanceToUse);\n }\n }\n function safelyAttachRef(current, nearestMountedAncestor) {\n try {\n runWithFiberInDEV(current, commitAttachRef, current);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n function safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n if (shouldProfile(current))\n try {\n startEffectTimer(), runWithFiberInDEV(current, refCleanup);\n } finally {\n recordEffectDuration(current);\n }\n else runWithFiberInDEV(current, refCleanup);\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n if (shouldProfile(current))\n try {\n startEffectTimer(), runWithFiberInDEV(current, ref, null);\n } finally {\n recordEffectDuration(current);\n }\n else runWithFiberInDEV(current, ref, null);\n } catch (error$7) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$7);\n }\n else ref.current = null;\n }\n function commitProfiler(\n finishedWork,\n current,\n commitStartTime,\n effectDuration\n ) {\n var _finishedWork$memoize = finishedWork.memoizedProps,\n id = _finishedWork$memoize.id,\n onCommit = _finishedWork$memoize.onCommit;\n _finishedWork$memoize = _finishedWork$memoize.onRender;\n current = null === current ? \"mount\" : \"update\";\n currentUpdateIsNested && (current = \"nested-update\");\n \"function\" === typeof _finishedWork$memoize &&\n _finishedWork$memoize(\n id,\n current,\n finishedWork.actualDuration,\n finishedWork.treeBaseDuration,\n finishedWork.actualStartTime,\n commitStartTime\n );\n \"function\" === typeof onCommit &&\n onCommit(\n finishedWork.memoizedProps.id,\n current,\n effectDuration,\n commitStartTime\n );\n }\n function commitProfilerPostCommitImpl(\n finishedWork,\n current,\n commitStartTime,\n passiveEffectDuration\n ) {\n var _finishedWork$memoize2 = finishedWork.memoizedProps;\n finishedWork = _finishedWork$memoize2.id;\n _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit;\n current = null === current ? \"mount\" : \"update\";\n currentUpdateIsNested && (current = \"nested-update\");\n \"function\" === typeof _finishedWork$memoize2 &&\n _finishedWork$memoize2(\n finishedWork,\n current,\n passiveEffectDuration,\n commitStartTime\n );\n }\n function commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n runWithFiberInDEV(\n finishedWork,\n commitMount,\n instance,\n type,\n props,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n runWithFiberInDEV(\n finishedWork,\n commitUpdate,\n finishedWork.stateNode,\n finishedWork.type,\n oldProps,\n newProps,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n }\n function getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n }\n function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(node, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(node),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1));\n else if (\n 4 !== tag &&\n (27 === tag &&\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n }\n function insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? parent.insertBefore(node, before) : parent.appendChild(node);\n else if (\n 4 !== tag &&\n (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent),\n (node = node.sibling);\n }\n function commitPlacement(finishedWork) {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n if (null == hostParentFiber)\n throw Error(\n \"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\"\n );\n switch (hostParentFiber.tag) {\n case 27:\n hostParentFiber = hostParentFiber.stateNode;\n parentFiber = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n parentFiber,\n hostParentFiber\n );\n break;\n case 5:\n parentFiber = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (resetTextContent(parentFiber), (hostParentFiber.flags &= -33));\n hostParentFiber = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(\n finishedWork,\n hostParentFiber,\n parentFiber\n );\n break;\n case 3:\n case 4:\n hostParentFiber = hostParentFiber.stateNode.containerInfo;\n parentFiber = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n parentFiber,\n hostParentFiber\n );\n break;\n default:\n throw Error(\n \"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n }\n function commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n runWithFiberInDEV(\n finishedWork,\n acquireSingletonInstance,\n finishedWork.type,\n props,\n singleton,\n finishedWork\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function commitBeforeMutationEffects(root, firstChild) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$2) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = {\n focusedElem: root,\n selectionRange: JSCompiler_temp\n };\n _enabled = !1;\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((firstChild = nextEffect),\n (root = firstChild.child),\n 0 !== (firstChild.subtreeFlags & 1024) && null !== root)\n )\n (root.return = firstChild), (nextEffect = root);\n else\n for (; null !== nextEffect; ) {\n root = firstChild = nextEffect;\n JSCompiler_temp = root.alternate;\n anchorOffset = root.flags;\n switch (root.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n 0 !== (anchorOffset & 1024) &&\n null !== JSCompiler_temp &&\n commitClassSnapshot(root, JSCompiler_temp);\n break;\n case 3:\n if (0 !== (anchorOffset & 1024))\n if (\n ((root = root.stateNode.containerInfo),\n (JSCompiler_temp = root.nodeType),\n 9 === JSCompiler_temp)\n )\n clearContainerSparingly(root);\n else if (1 === JSCompiler_temp)\n switch (root.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(root);\n break;\n default:\n root.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (anchorOffset & 1024))\n throw Error(\n \"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n root = firstChild.sibling;\n if (null !== root) {\n root.return = firstChild.return;\n nextEffect = root;\n break;\n }\n nextEffect = firstChild.return;\n }\n }\n function commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 &&\n commitHookLayoutEffects(finishedWork, Layout | HasEffect);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n finishedWork.type.defaultProps ||\n \"ref\" in finishedWork.memoizedProps ||\n didWarnAboutReassigningProps ||\n (finishedRoot.props !== finishedWork.memoizedProps &&\n console.error(\n \"Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ),\n finishedRoot.state !== finishedWork.memoizedState &&\n console.error(\n \"Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n )),\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n runWithFiberInDEV(\n finishedWork,\n callComponentDidMountInDEV,\n finishedWork,\n finishedRoot\n ),\n recordEffectDuration())\n : runWithFiberInDEV(\n finishedWork,\n callComponentDidMountInDEV,\n finishedWork,\n finishedRoot\n );\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n finishedWork.type.defaultProps ||\n \"ref\" in finishedWork.memoizedProps ||\n didWarnAboutReassigningProps ||\n (finishedRoot.props !== finishedWork.memoizedProps &&\n console.error(\n \"Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ),\n finishedRoot.state !== finishedWork.memoizedState &&\n console.error(\n \"Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.\",\n getComponentNameFromFiber(finishedWork) || \"instance\"\n ));\n shouldProfile(finishedWork)\n ? (startEffectTimer(),\n runWithFiberInDEV(\n finishedWork,\n callComponentDidUpdateInDEV,\n finishedWork,\n finishedRoot,\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n ),\n recordEffectDuration())\n : runWithFiberInDEV(\n finishedWork,\n callComponentDidUpdateInDEV,\n finishedWork,\n finishedRoot,\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n current = pushNestedEffectDurations();\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((flags = finishedWork.updateQueue), null !== flags)\n ) {\n prevProps = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n prevProps = finishedWork.child.stateNode;\n break;\n case 1:\n prevProps = finishedWork.child.stateNode;\n }\n try {\n runWithFiberInDEV(\n finishedWork,\n commitCallbacks,\n flags,\n prevProps\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n finishedRoot.effectDuration += popNestedEffectDurations(current);\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n if (flags & 4) {\n flags = pushNestedEffectDurations();\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n finishedRoot = finishedWork.stateNode;\n finishedRoot.effectDuration += bubbleNestedEffectDurations(flags);\n try {\n runWithFiberInDEV(\n finishedWork,\n commitProfiler,\n finishedWork,\n current,\n commitStartTime,\n finishedRoot.effectDuration\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags =\n null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n prevProps = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = current) &&\n !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevProps;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n break;\n case 30:\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n }\n function detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber._debugOwner = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n }\n function recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n parent\n ),\n (parent = parent.sibling);\n }\n function commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ) {\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onCommitFiberUnmount\n )\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {\n hasLoggedError ||\n ((hasLoggedError = !0),\n console.error(\n \"React instrumentation encountered an error: %s\",\n err\n ));\n }\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode),\n (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n runWithFiberInDEV(\n deletedFiber,\n releaseSingletonInstance,\n deletedFiber.stateNode\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n runWithFiberInDEV(\n deletedFiber,\n removeChildFromContainer,\n hostParent,\n deletedFiber.stateNode\n );\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n runWithFiberInDEV(\n deletedFiber,\n removeChild,\n hostParent,\n deletedFiber.stateNode\n );\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearSuspenseBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearSuspenseBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(\n Insertion,\n deletedFiber,\n nearestMountedAncestor\n );\n offscreenSubtreeWasHidden ||\n commitHookLayoutUnmountEffects(\n deletedFiber,\n nearestMountedAncestor,\n Layout\n );\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n }\n function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n runWithFiberInDEV(\n finishedWork,\n commitHydratedSuspenseInstance,\n finishedRoot\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n function getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n finishedWork.tag +\n \"). This is a bug in React.\"\n );\n }\n }\n function attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n if (isDevToolsPresent)\n if (null !== inProgressLanes && null !== inProgressRoot)\n restorePendingUpdaters(inProgressRoot, inProgressLanes);\n else\n throw Error(\n \"Expected finished root and lanes to be set. This is a bug in React.\"\n );\n wakeable.then(retry, retry);\n }\n });\n }\n function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var root = root$jscomp$0,\n returnFiber = parentFiber,\n deletedFiber = deletions[i],\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent)\n throw Error(\n \"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\"\n );\n commitDeletionEffectsOnFiber(root, returnFiber, deletedFiber);\n hostParent = null;\n hostParentIsContainer = !1;\n root = deletedFiber;\n returnFiber = root.alternate;\n null !== returnFiber && (returnFiber.return = null);\n root.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n }\n function commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(\n Insertion | HasEffect,\n finishedWork,\n finishedWork.return\n ),\n commitHookEffectListMount(Insertion | HasEffect, finishedWork),\n commitHookLayoutUnmountEffects(\n finishedWork,\n finishedWork.return,\n Layout | HasEffect\n ));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4)\n if (\n ((root = null !== current ? current.memoizedState : null),\n (flags = finishedWork.memoizedState),\n null === current)\n )\n if (null === flags)\n if (null === finishedWork.stateNode) {\n a: {\n flags = finishedWork.type;\n current = finishedWork.memoizedProps;\n root = hoistableRoot.ownerDocument || hoistableRoot;\n b: switch (flags) {\n case \"title\":\n hoistableRoot = root.getElementsByTagName(\"title\")[0];\n if (\n !hoistableRoot ||\n hoistableRoot[internalHoistableMarker] ||\n hoistableRoot[internalInstanceKey] ||\n hoistableRoot.namespaceURI === SVG_NAMESPACE ||\n hoistableRoot.hasAttribute(\"itemprop\")\n )\n (hoistableRoot = root.createElement(flags)),\n root.head.insertBefore(\n hoistableRoot,\n root.querySelector(\"head > title\")\n );\n setInitialProperties(hoistableRoot, flags, current);\n hoistableRoot[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(hoistableRoot);\n flags = hoistableRoot;\n break a;\n case \"link\":\n var maybeNodes = getHydratableHoistableCache(\n \"link\",\n \"href\",\n root\n ).get(flags + (current.href || \"\"));\n if (maybeNodes)\n for (var i = 0; i < maybeNodes.length; i++)\n if (\n ((hoistableRoot = maybeNodes[i]),\n hoistableRoot.getAttribute(\"href\") ===\n (null == current.href || \"\" === current.href\n ? null\n : current.href) &&\n hoistableRoot.getAttribute(\"rel\") ===\n (null == current.rel ? null : current.rel) &&\n hoistableRoot.getAttribute(\"title\") ===\n (null == current.title\n ? null\n : current.title) &&\n hoistableRoot.getAttribute(\"crossorigin\") ===\n (null == current.crossOrigin\n ? null\n : current.crossOrigin))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n hoistableRoot = root.createElement(flags);\n setInitialProperties(hoistableRoot, flags, current);\n root.head.appendChild(hoistableRoot);\n break;\n case \"meta\":\n if (\n (maybeNodes = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n root\n ).get(flags + (current.content || \"\")))\n )\n for (i = 0; i < maybeNodes.length; i++)\n if (\n ((hoistableRoot = maybeNodes[i]),\n checkAttributeStringCoercion(\n current.content,\n \"content\"\n ),\n hoistableRoot.getAttribute(\"content\") ===\n (null == current.content\n ? null\n : \"\" + current.content) &&\n hoistableRoot.getAttribute(\"name\") ===\n (null == current.name\n ? null\n : current.name) &&\n hoistableRoot.getAttribute(\"property\") ===\n (null == current.property\n ? null\n : current.property) &&\n hoistableRoot.getAttribute(\"http-equiv\") ===\n (null == current.httpEquiv\n ? null\n : current.httpEquiv) &&\n hoistableRoot.getAttribute(\"charset\") ===\n (null == current.charSet\n ? null\n : current.charSet))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n hoistableRoot = root.createElement(flags);\n setInitialProperties(hoistableRoot, flags, current);\n root.head.appendChild(hoistableRoot);\n break;\n default:\n throw Error(\n 'getNodesForType encountered a type it did not expect: \"' +\n flags +\n '\". This is a bug in React.'\n );\n }\n hoistableRoot[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(hoistableRoot);\n flags = hoistableRoot;\n }\n finishedWork.stateNode = flags;\n } else\n mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n );\n else\n finishedWork.stateNode = acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n );\n else\n root !== flags\n ? (null === root\n ? null !== current.stateNode &&\n ((current = current.stateNode),\n current.parentNode.removeChild(current))\n : root.count--,\n null === flags\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n ))\n : null === flags &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n root = finishedWork.stateNode;\n try {\n runWithFiberInDEV(finishedWork, resetTextContent, root);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((root = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n root,\n null !== current ? current.memoizedProps : root\n ));\n flags & 1024 &&\n ((needsFormReset = !0),\n \"form\" !== finishedWork.type &&\n console.error(\n \"Unexpected host component type. Expected a form. This is a bug in React.\"\n ));\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(\n \"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\"\n );\n flags = finishedWork.memoizedProps;\n current = null !== current ? current.memoizedProps : flags;\n root = finishedWork.stateNode;\n try {\n runWithFiberInDEV(\n finishedWork,\n commitTextUpdate,\n root,\n current,\n flags\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n hoistableRoot = pushNestedEffectDurations();\n tagCaches = null;\n maybeNodes = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = maybeNodes;\n commitReconciliationEffects(finishedWork);\n if (\n flags & 4 &&\n null !== current &&\n current.memoizedState.isDehydrated\n )\n try {\n runWithFiberInDEV(\n finishedWork,\n commitHydratedContainer,\n root.containerInfo\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n root.effectDuration += popNestedEffectDurations(hoistableRoot);\n break;\n case 4:\n flags = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = flags;\n break;\n case 12:\n flags = pushNestedEffectDurations();\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.stateNode.effectDuration +=\n bubbleNestedEffectDurations(flags);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now$1());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden =\n prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden =\n prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n if (flags & 8192)\n a: for (\n root = finishedWork.stateNode,\n root._visibility = hoistableRoot\n ? root._visibility & ~OffscreenVisible\n : root._visibility | OffscreenVisible,\n hoistableRoot &&\n (null === current ||\n wasHidden ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n current = null,\n root = finishedWork;\n ;\n\n ) {\n if (5 === root.tag || 26 === root.tag) {\n if (null === current) {\n wasHidden = current = root;\n try {\n (maybeNodes = wasHidden.stateNode),\n hoistableRoot\n ? runWithFiberInDEV(wasHidden, hideInstance, maybeNodes)\n : runWithFiberInDEV(\n wasHidden,\n unhideInstance,\n wasHidden.stateNode,\n wasHidden.memoizedProps\n );\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n (i = wasHidden.stateNode),\n hoistableRoot\n ? runWithFiberInDEV(wasHidden, hideTextInstance, i)\n : runWithFiberInDEV(\n wasHidden,\n unhideTextInstance,\n i,\n wasHidden.memoizedProps\n );\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork)\n break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 30:\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n }\n function commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n runWithFiberInDEV(finishedWork, commitPlacement, finishedWork);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n }\n function recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function disappearLayoutEffects(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookLayoutUnmountEffects(\n finishedWork,\n finishedWork.return,\n Layout\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 27:\n runWithFiberInDEV(\n finishedWork,\n releaseSingletonInstance,\n finishedWork.stateNode\n );\n case 26:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 30:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n }\n function recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n disappearLayoutEffects(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function reappearLayoutEffects(\n finishedRoot,\n current,\n finishedWork,\n includeWorkInProgressEffects\n ) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookLayoutEffects(finishedWork, Layout);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork.stateNode;\n \"function\" === typeof current.componentDidMount &&\n runWithFiberInDEV(\n finishedWork,\n callComponentDidMountInDEV,\n finishedWork,\n current\n );\n current = finishedWork.updateQueue;\n if (null !== current) {\n finishedRoot = finishedWork.stateNode;\n try {\n runWithFiberInDEV(\n finishedWork,\n commitHiddenCallbacks,\n current,\n finishedRoot\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n if (includeWorkInProgressEffects && flags & 4) {\n flags = pushNestedEffectDurations();\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects = finishedWork.stateNode;\n includeWorkInProgressEffects.effectDuration +=\n bubbleNestedEffectDurations(flags);\n try {\n runWithFiberInDEV(\n finishedWork,\n commitProfiler,\n finishedWork,\n current,\n commitStartTime,\n includeWorkInProgressEffects.effectDuration\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n }\n function recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n parentFiber,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n reappearLayoutEffects(\n finishedRoot,\n parentFiber.alternate,\n parentFiber,\n includeWorkInProgressEffects\n ),\n (parentFiber = parentFiber.sibling);\n }\n function commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && retainCache(current),\n null != previousCache && releaseCache(previousCache));\n }\n function commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (retainCache(finishedWork), null != current && releaseCache(current));\n }\n function recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n ) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitHookPassiveMountEffects(finishedWork, Passive | HasEffect);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n var prevEffectDuration = pushNestedEffectDurations();\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((committedLanes = null),\n null !== finishedWork.alternate &&\n (committedLanes = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== committedLanes &&\n (retainCache(finishedWork),\n null != committedLanes && releaseCache(committedLanes)));\n finishedRoot.passiveEffectDuration +=\n popNestedEffectDurations(prevEffectDuration);\n break;\n case 12:\n if (flags & 2048) {\n flags = pushNestedEffectDurations();\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n finishedRoot.passiveEffectDuration +=\n bubbleNestedEffectDurations(flags);\n try {\n runWithFiberInDEV(\n finishedWork,\n commitProfilerPostCommitImpl,\n finishedWork,\n finishedWork.alternate,\n commitStartTime,\n finishedRoot.passiveEffectDuration\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n prevEffectDuration = finishedWork.stateNode;\n var _current = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? prevEffectDuration._visibility & OffscreenPassiveEffectsConnected\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : prevEffectDuration._visibility & OffscreenPassiveEffectsConnected\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((prevEffectDuration._visibility |=\n OffscreenPassiveEffectsConnected),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(_current, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n }\n function recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n parentFiber,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects &&\n 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n reconnectPassiveEffects(\n finishedRoot,\n parentFiber,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ),\n (parentFiber = parentFiber.sibling);\n }\n function reconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookPassiveMountEffects(finishedWork, Passive);\n break;\n case 23:\n break;\n case 22:\n var _instance2 = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? _instance2._visibility & OffscreenPassiveEffectsConnected\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((_instance2._visibility |= OffscreenPassiveEffectsConnected),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n }\n function recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n ) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n );\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(\n finishedWork.alternate,\n finishedWork\n );\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n );\n }\n parentFiber = parentFiber.sibling;\n }\n }\n function recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n suspendResource(\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n );\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n fiber.stateNode.containerInfo\n );\n recursivelyAccumulateSuspenseyCommit(fiber);\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(fiber));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n }\n function detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n }\n function recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookPassiveUnmountEffects(\n finishedWork,\n finishedWork.return,\n Passive | HasEffect\n );\n break;\n case 3:\n var prevEffectDuration = pushNestedEffectDurations();\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.stateNode.passiveEffectDuration +=\n popNestedEffectDurations(prevEffectDuration);\n break;\n case 12:\n prevEffectDuration = pushNestedEffectDurations();\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.stateNode.passiveEffectDuration +=\n bubbleNestedEffectDurations(prevEffectDuration);\n break;\n case 22:\n prevEffectDuration = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n prevEffectDuration._visibility & OffscreenPassiveEffectsConnected &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((prevEffectDuration._visibility &=\n ~OffscreenPassiveEffectsConnected),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n }\n function recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n disconnectPassiveEffect(parentFiber),\n (parentFiber = parentFiber.sibling);\n }\n function disconnectPassiveEffect(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n commitHookPassiveUnmountEffects(\n finishedWork,\n finishedWork.return,\n Passive\n );\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n instance._visibility & OffscreenPassiveEffectsConnected &&\n ((instance._visibility &= ~OffscreenPassiveEffectsConnected),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(finishedWork);\n }\n }\n function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n ) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect,\n current = fiber;\n switch (current.tag) {\n case 0:\n case 11:\n case 15:\n commitHookPassiveUnmountEffects(\n current,\n nearestMountedAncestor,\n Passive\n );\n break;\n case 23:\n case 22:\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n ((current = current.memoizedState.cachePool.pool),\n null != current && retainCache(current));\n break;\n case 24:\n releaseCache(current.memoizedState.cache);\n }\n current = fiber.child;\n if (null !== current) (current.return = fiber), (nextEffect = current);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n current = nextEffect;\n var sibling = current.sibling,\n returnFiber = current.return;\n detachFiberAfterEffects(current);\n if (current === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n }\n function onCommitRoot() {\n commitHooks.forEach(function (commitHook) {\n return commitHook();\n });\n }\n function isConcurrentActEnvironment() {\n var isReactActEnvironmentGlobal =\n \"undefined\" !== typeof IS_REACT_ACT_ENVIRONMENT\n ? IS_REACT_ACT_ENVIRONMENT\n : void 0;\n isReactActEnvironmentGlobal ||\n null === ReactSharedInternals.actQueue ||\n console.error(\n \"The current testing environment is not configured to support act(...)\"\n );\n return isReactActEnvironmentGlobal;\n }\n function requestUpdateLane(fiber) {\n if (\n (executionContext & RenderContext) !== NoContext &&\n 0 !== workInProgressRootRenderLanes\n )\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n var transition = ReactSharedInternals.T;\n return null !== transition\n ? (transition._updatedFibers || (transition._updatedFibers = new Set()),\n transition._updatedFibers.add(fiber),\n (fiber = currentEntangledLane),\n 0 !== fiber ? fiber : requestTransitionLane())\n : resolveUpdatePriority();\n }\n function requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating\n ? claimNextTransitionLane()\n : 536870912);\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n }\n function scheduleUpdateOnFiber(root, fiber, lane) {\n isRunningInsertionEffect &&\n console.error(\"useInsertionEffect must not schedule updates.\");\n isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = !0);\n if (\n (root === workInProgressRoot &&\n (workInProgressSuspendedReason === SuspendedOnData ||\n workInProgressSuspendedReason === SuspendedOnAction)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (\n 0 !== (executionContext & RenderContext) &&\n root === workInProgressRoot\n ) {\n if (isRendering)\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n root =\n (workInProgress && getComponentNameFromFiber(workInProgress)) ||\n \"Unknown\";\n didWarnAboutUpdateInRenderForAnotherComponent.has(root) ||\n (didWarnAboutUpdateInRenderForAnotherComponent.add(root),\n (fiber = getComponentNameFromFiber(fiber) || \"Unknown\"),\n console.error(\n \"Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render\",\n fiber,\n root,\n root\n ));\n break;\n case 1:\n didWarnAboutUpdateInRender ||\n (console.error(\n \"Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state.\"\n ),\n (didWarnAboutUpdateInRender = !0));\n }\n } else\n isDevToolsPresent && addFiberToLanesMap(root, fiber, lane),\n warnIfUpdatesNotWrappedWithActDEV(fiber),\n root === workInProgressRoot &&\n ((executionContext & RenderContext) === NoContext &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n workInProgressRootExitStatus === RootSuspendedWithDelay &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n }\n function performWorkOnRoot(root, lanes, forceSync) {\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext)\n throw Error(\"Should not already be working.\");\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 124) &&\n 0 === (lanes & root.expiredLanes)) ||\n checkIfRootIsPrerendering(root, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root, lanes)\n : renderRootSync(root, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (exitStatus === RootInProgress) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root, lanes, 0, !1);\n break;\n } else {\n forceSync = root.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (exitStatus === RootErrored) {\n renderWasConcurrent = lanes;\n if (root.errorRecoveryDisabledLanes & renderWasConcurrent)\n var errorRetryLanes = 0;\n else\n (errorRetryLanes = root.pendingLanes & -536870913),\n (errorRetryLanes =\n 0 !== errorRetryLanes\n ? errorRetryLanes\n : errorRetryLanes & 536870912\n ? 536870912\n : 0);\n if (0 !== errorRetryLanes) {\n lanes = errorRetryLanes;\n a: {\n exitStatus = root;\n var errorRetryLanes$jscomp$0 = errorRetryLanes;\n errorRetryLanes = workInProgressRootConcurrentErrors;\n var wasRootDehydrated =\n exitStatus.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(\n exitStatus,\n errorRetryLanes$jscomp$0\n ).flags |= 256);\n errorRetryLanes$jscomp$0 = renderRootSync(\n exitStatus,\n errorRetryLanes$jscomp$0,\n !1\n );\n if (errorRetryLanes$jscomp$0 !== RootErrored) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n exitStatus.errorRecoveryDisabledLanes |=\n renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = RootSuspendedWithDelay;\n break a;\n }\n exitStatus = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = errorRetryLanes;\n null !== exitStatus &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = exitStatus)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n exitStatus\n ));\n }\n exitStatus = errorRetryLanes$jscomp$0;\n }\n renderWasConcurrent = !1;\n if (exitStatus !== RootErrored) continue;\n }\n }\n if (exitStatus === RootFatalErrored) {\n prepareFreshStack(root, 0);\n markRootSuspended(root, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root;\n switch (exitStatus) {\n case RootInProgress:\n case RootFatalErrored:\n throw Error(\"Root did not complete. This is a bug in React.\");\n case RootSuspendedWithDelay:\n if ((lanes & 4194048) !== lanes) break;\n case RootSuspendedAtTheShell:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case RootErrored:\n workInProgressRootRecoverableErrors = null;\n break;\n case RootSuspended:\n case RootCompleted:\n break;\n default:\n throw Error(\"Unknown root exit status.\");\n }\n if (null !== ReactSharedInternals.actQueue)\n commitRoot(\n shouldTimeSlice,\n forceSync,\n lanes,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes\n );\n else {\n if (\n (lanes & 62914560) === lanes &&\n ((renderWasConcurrent =\n globalMostRecentFallbackTime +\n FALLBACK_THROTTLE_MS -\n now$1()),\n 10 < renderWasConcurrent)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n exitStatus,\n THROTTLED_COMMIT,\n renderStartTime,\n 0\n ),\n renderWasConcurrent\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n exitStatus,\n IMMEDIATE_COMMIT,\n renderStartTime,\n 0\n );\n }\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root);\n }\n function commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n ) {\n root.timeoutHandle = noTimeout;\n suspendedCommitReason = finishedWork.subtreeFlags;\n if (\n suspendedCommitReason & 8192 ||\n 16785408 === (suspendedCommitReason & 16785408)\n )\n if (\n ((suspendedState = { stylesheets: null, count: 0, unsuspend: noop }),\n accumulateSuspenseyCommitOnFiber(finishedWork),\n (suspendedCommitReason = waitForCommitToBeReady()),\n null !== suspendedCommitReason)\n ) {\n root.cancelPendingCommit = suspendedCommitReason(\n commitRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n exitStatus,\n SUSPENDED_COMMIT,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(\n root,\n lanes,\n spawnedLane,\n !didSkipSuspendedSiblings\n );\n return;\n }\n commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n }\n function isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n }\n function markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n ) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index = 31 - clz32(lanes),\n lane = 1 << index;\n didAttemptEntireTree[index] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n }\n function flushSyncWork$1() {\n return (executionContext & (RenderContext | CommitContext)) === NoContext\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n }\n function resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (workInProgressSuspendedReason === NotSuspended)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n resetContextDependencies(),\n resetHooksOnUnwind(interruptedWork),\n (thenableState = null),\n (thenableIndexCounter = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n }\n function prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n timeoutHandle !== noTimeout &&\n ((root.timeoutHandle = noTimeout), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressRootExitStatus = RootInProgress;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index = 31 - clz32(allEntangledLanes),\n lane = 1 << index;\n lanes |= root[index];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n lanes = getCurrentTime();\n 1e3 < lanes - lastResetTime &&\n ((ReactSharedInternals.recentlyCreatedOwnerStacks = 0),\n (lastResetTime = lanes));\n ReactStrictModeWarnings.discardPendingWarnings();\n return timeoutHandle;\n }\n function handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n ReactSharedInternals.getCurrentStack = null;\n isRendering = !1;\n current = null;\n thrownValue === SuspenseException ||\n thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = SuspendedOnImmediate))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = SuspendedOnInstance))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? SuspendedOnHydration\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? SuspendedOnDeprecatedThrowPromise\n : SuspendedOnError);\n workInProgressThrownValue = thrownValue;\n var erroredWork = workInProgress;\n if (null === erroredWork)\n (workInProgressRootExitStatus = RootFatalErrored),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n else\n switch (\n (erroredWork.mode & ProfileMode &&\n stopProfilerTimerIfRunningAndRecordDuration(erroredWork),\n markComponentRenderStopped(),\n workInProgressSuspendedReason)\n ) {\n case SuspendedOnError:\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentErrored &&\n injectedProfilingHooks.markComponentErrored(\n erroredWork,\n thrownValue,\n workInProgressRootRenderLanes\n );\n break;\n case SuspendedOnData:\n case SuspendedOnAction:\n case SuspendedOnImmediate:\n case SuspendedOnDeprecatedThrowPromise:\n case SuspendedAndReadyToContinue:\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markComponentSuspended &&\n injectedProfilingHooks.markComponentSuspended(\n erroredWork,\n thrownValue,\n workInProgressRootRenderLanes\n );\n }\n }\n function pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n }\n function pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n }\n function renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = RootSuspendedWithDelay;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n }\n function renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (\n workInProgressRoot !== root ||\n workInProgressRootRenderLanes !== lanes\n ) {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n 0 < memoizedUpdaters.size &&\n (restorePendingUpdaters(root, workInProgressRootRenderLanes),\n memoizedUpdaters.clear());\n movePendingFibersToMemoized(root, lanes);\n }\n workInProgressTransitions = null;\n prepareFreshStack(root, lanes);\n }\n markRenderStarted(lanes);\n lanes = !1;\n memoizedUpdaters = workInProgressRootExitStatus;\n a: do\n try {\n if (\n workInProgressSuspendedReason !== NotSuspended &&\n null !== workInProgress\n ) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case SuspendedOnHydration:\n resetWorkInProgressStack();\n memoizedUpdaters = RootSuspendedAtTheShell;\n break a;\n case SuspendedOnImmediate:\n case SuspendedOnData:\n case SuspendedOnAction:\n case SuspendedOnDeprecatedThrowPromise:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n memoizedUpdaters = RootInProgress;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = NotSuspended),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n memoizedUpdaters = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$8) {\n handleThrow(root, thrownValue$8);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n resetContextDependencies();\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n markRenderStopped();\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return memoizedUpdaters;\n }\n function workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n }\n function renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= RenderContext;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (\n workInProgressRoot !== root ||\n workInProgressRootRenderLanes !== lanes\n ) {\n if (isDevToolsPresent) {\n var memoizedUpdaters = root.memoizedUpdaters;\n 0 < memoizedUpdaters.size &&\n (restorePendingUpdaters(root, workInProgressRootRenderLanes),\n memoizedUpdaters.clear());\n movePendingFibersToMemoized(root, lanes);\n }\n workInProgressTransitions = null;\n workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS;\n prepareFreshStack(root, lanes);\n } else\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n );\n markRenderStarted(lanes);\n a: do\n try {\n if (\n workInProgressSuspendedReason !== NotSuspended &&\n null !== workInProgress\n )\n b: switch (\n ((lanes = workInProgress),\n (memoizedUpdaters = workInProgressThrownValue),\n workInProgressSuspendedReason)\n ) {\n case SuspendedOnError:\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(\n root,\n lanes,\n memoizedUpdaters,\n SuspendedOnError\n );\n break;\n case SuspendedOnData:\n case SuspendedOnAction:\n if (isThenableResolved(memoizedUpdaters)) {\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (workInProgressSuspendedReason !== SuspendedOnData &&\n workInProgressSuspendedReason !== SuspendedOnAction) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason =\n SuspendedAndReadyToContinue);\n ensureRootIsScheduled(root);\n };\n memoizedUpdaters.then(lanes, lanes);\n break a;\n case SuspendedOnImmediate:\n workInProgressSuspendedReason = SuspendedAndReadyToContinue;\n break a;\n case SuspendedOnInstance:\n workInProgressSuspendedReason =\n SuspendedOnInstanceAndReadyToContinue;\n break a;\n case SuspendedAndReadyToContinue:\n isThenableResolved(memoizedUpdaters)\n ? ((workInProgressSuspendedReason = NotSuspended),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = NotSuspended),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(\n root,\n lanes,\n memoizedUpdaters,\n SuspendedAndReadyToContinue\n ));\n break;\n case SuspendedOnInstanceAndReadyToContinue:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (resource ? preloadResource(resource) : 1) {\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n break;\n default:\n console.error(\n \"Unexpected type of fiber triggered a suspensey commit. This is a bug in React.\"\n );\n }\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(\n root,\n lanes,\n memoizedUpdaters,\n SuspendedOnInstanceAndReadyToContinue\n );\n break;\n case SuspendedOnDeprecatedThrowPromise:\n workInProgressSuspendedReason = NotSuspended;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(\n root,\n lanes,\n memoizedUpdaters,\n SuspendedOnDeprecatedThrowPromise\n );\n break;\n case SuspendedOnHydration:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = RootSuspendedAtTheShell;\n break a;\n default:\n throw Error(\n \"Unexpected SuspendedReason. This is a bug in React.\"\n );\n }\n null !== ReactSharedInternals.actQueue\n ? workLoopSync()\n : workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$9) {\n handleThrow(root, thrownValue$9);\n }\n while (1);\n resetContextDependencies();\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress)\n return (\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markRenderYielded &&\n injectedProfilingHooks.markRenderYielded(),\n RootInProgress\n );\n markRenderStopped();\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n }\n function workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n }\n function performUnitOfWork(unitOfWork) {\n var current = unitOfWork.alternate;\n (unitOfWork.mode & ProfileMode) !== NoMode\n ? (startProfilerTimer(unitOfWork),\n (current = runWithFiberInDEV(\n unitOfWork,\n beginWork,\n current,\n unitOfWork,\n entangledRenderLanes\n )),\n stopProfilerTimerIfRunningAndRecordDuration(unitOfWork))\n : (current = runWithFiberInDEV(\n unitOfWork,\n beginWork,\n current,\n unitOfWork,\n entangledRenderLanes\n ));\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === current\n ? completeUnitOfWork(unitOfWork)\n : (workInProgress = current);\n }\n function replaySuspendedUnitOfWork(unitOfWork) {\n var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n }\n function replayBeginWork(unitOfWork) {\n var current = unitOfWork.alternate,\n isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode;\n isProfilingMode && startProfilerTimer(unitOfWork);\n switch (unitOfWork.tag) {\n case 15:\n case 0:\n current = replayFunctionComponent(\n current,\n unitOfWork,\n unitOfWork.pendingProps,\n unitOfWork.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n current = replayFunctionComponent(\n current,\n unitOfWork,\n unitOfWork.pendingProps,\n unitOfWork.type.render,\n unitOfWork.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(unitOfWork);\n default:\n unwindInterruptedWork(current, unitOfWork),\n (unitOfWork = workInProgress =\n resetWorkInProgress(unitOfWork, entangledRenderLanes)),\n (current = beginWork(current, unitOfWork, entangledRenderLanes));\n }\n isProfilingMode &&\n stopProfilerTimerIfRunningAndRecordDuration(unitOfWork);\n return current;\n }\n function throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n ) {\n resetContextDependencies();\n resetHooksOnUnwind(unitOfWork);\n thenableState = null;\n thenableIndexCounter = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = RootFatalErrored;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = RootFatalErrored;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || suspendedReason === SuspendedOnError) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n suspendedReason === SuspendedOnData ||\n suspendedReason === SuspendedOnAction ||\n suspendedReason === SuspendedOnImmediate ||\n suspendedReason === SuspendedOnDeprecatedThrowPromise)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n }\n function completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n var current = completedWork.alternate;\n unitOfWork = completedWork.return;\n startProfilerTimer(completedWork);\n current = runWithFiberInDEV(\n completedWork,\n completeWork,\n current,\n completedWork,\n entangledRenderLanes\n );\n (completedWork.mode & ProfileMode) !== NoMode &&\n stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork);\n if (null !== current) {\n workInProgress = current;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n workInProgressRootExitStatus === RootInProgress &&\n (workInProgressRootExitStatus = RootCompleted);\n }\n function unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n if ((unitOfWork.mode & ProfileMode) !== NoMode) {\n stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork);\n next = unitOfWork.actualDuration;\n for (var child = unitOfWork.child; null !== child; )\n (next += child.actualDuration), (child = child.sibling);\n unitOfWork.actualDuration = next;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768),\n (next.subtreeFlags = 0),\n (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = RootSuspendedAtTheShell;\n workInProgress = null;\n }\n function commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n ) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (pendingEffectsStatus !== NO_PENDING_EFFECTS);\n ReactStrictModeWarnings.flushLegacyContextWarning();\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext)\n throw Error(\"Should not already be working.\");\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markCommitStarted &&\n injectedProfilingHooks.markCommitStarted(lanes);\n if (null === finishedWork) markCommitStopped();\n else {\n 0 === lanes &&\n console.error(\n \"finishedLanes should not be empty during a commit. This is a bug in React.\"\n );\n if (finishedWork === root.current)\n throw Error(\n \"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\"\n );\n didIncludeRenderPhaseUpdate =\n finishedWork.lanes | finishedWork.childLanes;\n didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n commitStartTime = now();\n recoverableErrors = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {\n recoverableErrors = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n transitions = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = DiscreteEventPriority;\n spawnedLane = executionContext;\n executionContext |= CommitContext;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = spawnedLane),\n (ReactDOMSharedInternals.p = transitions),\n (ReactSharedInternals.T = recoverableErrors);\n }\n }\n pendingEffectsStatus = PENDING_MUTATION_PHASE;\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n }\n }\n function flushMutationEffects() {\n if (pendingEffectsStatus === PENDING_MUTATION_PHASE) {\n pendingEffectsStatus = NO_PENDING_EFFECTS;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (\n 0 !== (finishedWork.subtreeFlags & 13878) ||\n rootMutationHasEffect\n ) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = DiscreteEventPriority;\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n try {\n inProgressLanes = lanes;\n inProgressRoot = root;\n commitMutationEffectsOnFiber(finishedWork, root);\n inProgressRoot = inProgressLanes = null;\n lanes = selectionInformation;\n var curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = lanes.focusedElem,\n priorSelectionRange = lanes.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(\n priorSelectionRange.start,\n length\n ),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = PENDING_LAYOUT_PHASE;\n }\n }\n function flushLayoutEffects() {\n if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) {\n pendingEffectsStatus = NO_PENDING_EFFECTS;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = DiscreteEventPriority;\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n try {\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markLayoutEffectsStarted &&\n injectedProfilingHooks.markLayoutEffectsStarted(lanes),\n (inProgressLanes = lanes),\n (inProgressRoot = root),\n commitLayoutEffectOnFiber(\n root,\n finishedWork.alternate,\n finishedWork\n ),\n (inProgressRoot = inProgressLanes = null),\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markLayoutEffectsStopped &&\n injectedProfilingHooks.markLayoutEffectsStopped();\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE;\n }\n }\n function flushSpawnedWork() {\n if (\n pendingEffectsStatus === PENDING_SPAWNED_WORK ||\n pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE\n ) {\n pendingEffectsStatus = NO_PENDING_EFFECTS;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors,\n rootDidHavePassiveEffects =\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256);\n rootDidHavePassiveEffects\n ? (pendingEffectsStatus = PENDING_PASSIVE_PHASE)\n : ((pendingEffectsStatus = NO_PENDING_EFFECTS),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes),\n (nestedPassiveUpdateCount = 0),\n (rootWithPassiveNestedUpdates = null));\n var remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(root);\n rootDidHavePassiveEffects = lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onCommitFiberRoot\n )\n try {\n var didError = 128 === (finishedWork.current.flags & 128);\n switch (rootDidHavePassiveEffects) {\n case DiscreteEventPriority:\n var schedulerPriority = ImmediatePriority;\n break;\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n case DefaultEventPriority:\n schedulerPriority = NormalPriority$1;\n break;\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n default:\n schedulerPriority = NormalPriority$1;\n }\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n schedulerPriority,\n didError\n );\n } catch (err) {\n hasLoggedError ||\n ((hasLoggedError = !0),\n console.error(\n \"React instrumentation encountered an error: %s\",\n err\n ));\n }\n isDevToolsPresent && root.memoizedUpdaters.clear();\n onCommitRoot();\n if (null !== recoverableErrors) {\n didError = ReactSharedInternals.T;\n schedulerPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = DiscreteEventPriority;\n ReactSharedInternals.T = null;\n try {\n var onRecoverableError = root.onRecoverableError;\n for (\n finishedWork = 0;\n finishedWork < recoverableErrors.length;\n finishedWork++\n ) {\n var recoverableError = recoverableErrors[finishedWork],\n errorInfo = makeErrorInfo(recoverableError.stack);\n runWithFiberInDEV(\n recoverableError.source,\n onRecoverableError,\n recoverableError.value,\n errorInfo\n );\n }\n } finally {\n (ReactSharedInternals.T = didError),\n (ReactDOMSharedInternals.p = schedulerPriority);\n }\n }\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n remainingLanes = root.pendingLanes;\n 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42)\n ? ((nestedUpdateScheduled = !0),\n root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root)))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n markCommitStopped();\n }\n }\n function makeErrorInfo(componentStack) {\n componentStack = { componentStack: componentStack };\n Object.defineProperty(componentStack, \"digest\", {\n get: function () {\n console.error(\n 'You are accessing \"digest\" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.'\n );\n }\n });\n return componentStack;\n }\n function releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n }\n function flushPendingEffects(wasDelayedCommit) {\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects(wasDelayedCommit);\n }\n function flushPassiveEffects() {\n if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n priority =\n 0 === DefaultEventPriority || DefaultEventPriority > renderPriority\n ? DefaultEventPriority\n : renderPriority;\n renderPriority = ReactSharedInternals.T;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = priority;\n ReactSharedInternals.T = null;\n priority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = NO_PENDING_EFFECTS;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if ((executionContext & (RenderContext | CommitContext)) !== NoContext)\n throw Error(\"Cannot flush passive effects while already rendering.\");\n isFlushingPassiveEffects = !0;\n didScheduleUpdateDuringPassiveEffects = !1;\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markPassiveEffectsStarted &&\n injectedProfilingHooks.markPassiveEffectsStarted(lanes);\n var prevExecutionContext = executionContext;\n executionContext |= CommitContext;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n priority\n );\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markPassiveEffectsStopped &&\n injectedProfilingHooks.markPassiveEffectsStopped();\n commitDoubleInvokeEffectsInDEV(root$jscomp$0);\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n didScheduleUpdateDuringPassiveEffects\n ? root$jscomp$0 === rootWithPassiveNestedUpdates\n ? nestedPassiveUpdateCount++\n : ((nestedPassiveUpdateCount = 0),\n (rootWithPassiveNestedUpdates = root$jscomp$0))\n : (nestedPassiveUpdateCount = 0);\n didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = !1;\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {\n hasLoggedError ||\n ((hasLoggedError = !0),\n console.error(\n \"React instrumentation encountered an error: %s\",\n err\n ));\n }\n var stateNode = root$jscomp$0.current.stateNode;\n stateNode.effectDuration = 0;\n stateNode.passiveEffectDuration = 0;\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = renderPriority),\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n }\n function captureCommitPhaseError(\n sourceFiber,\n nearestMountedAncestor,\n error\n ) {\n isRunningInsertionEffect = !1;\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else {\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n return;\n }\n if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n return;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n console.error(\n \"Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\\n\\nError message:\\n\\n%s\",\n error\n );\n }\n }\n function attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (pingCache = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n isDevToolsPresent && restorePendingUpdaters(root, lanes),\n wakeable.then(pingCache, pingCache));\n }\n function pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n isConcurrentActEnvironment() &&\n null === ReactSharedInternals.actQueue &&\n console.error(\n \"A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\\n\\nWhen testing, code that resolves suspended data should be wrapped into act(...):\\n\\nact(() => {\\n /* finish loading suspended data */\\n});\\n/* assert on the output */\\n\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act\"\n );\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (workInProgressRootExitStatus === RootSuspendedWithDelay ||\n (workInProgressRootExitStatus === RootSuspended &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS)\n ? (executionContext & RenderContext) === NoContext &&\n prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n }\n function retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n }\n function retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(\n \"Pinged unknown suspense boundary type. This is probably a bug in React.\"\n );\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n }\n function recursivelyTraverseAndDoubleInvokeEffectsInDEV(\n root$jscomp$0,\n parentFiber,\n isInStrictMode\n ) {\n if (0 !== (parentFiber.subtreeFlags & 67117056))\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var root = root$jscomp$0,\n fiber = parentFiber,\n isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE;\n isStrictModeFiber = isInStrictMode || isStrictModeFiber;\n 22 !== fiber.tag\n ? fiber.flags & 67108864\n ? isStrictModeFiber &&\n runWithFiberInDEV(\n fiber,\n doubleInvokeEffectsOnFiber,\n root,\n fiber,\n (fiber.mode & NoStrictPassiveEffectsMode) === NoMode\n )\n : recursivelyTraverseAndDoubleInvokeEffectsInDEV(\n root,\n fiber,\n isStrictModeFiber\n )\n : null === fiber.memoizedState &&\n (isStrictModeFiber && fiber.flags & 8192\n ? runWithFiberInDEV(\n fiber,\n doubleInvokeEffectsOnFiber,\n root,\n fiber\n )\n : fiber.subtreeFlags & 67108864 &&\n runWithFiberInDEV(\n fiber,\n recursivelyTraverseAndDoubleInvokeEffectsInDEV,\n root,\n fiber,\n isStrictModeFiber\n ));\n parentFiber = parentFiber.sibling;\n }\n }\n function doubleInvokeEffectsOnFiber(root, fiber) {\n var shouldDoubleInvokePassiveEffects =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : !0;\n setIsStrictModeForDevtools(!0);\n try {\n disappearLayoutEffects(fiber),\n shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber),\n reappearLayoutEffects(root, fiber.alternate, fiber, !1),\n shouldDoubleInvokePassiveEffects &&\n reconnectPassiveEffects(root, fiber, 0, null, !1, 0);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n function commitDoubleInvokeEffectsInDEV(root) {\n var doubleInvokeEffects = !0;\n root.current.mode & (StrictLegacyMode | StrictEffectsMode) ||\n (doubleInvokeEffects = !1);\n recursivelyTraverseAndDoubleInvokeEffectsInDEV(\n root,\n root.current,\n doubleInvokeEffects\n );\n }\n function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) {\n if ((executionContext & RenderContext) === NoContext) {\n var tag = fiber.tag;\n if (\n 3 === tag ||\n 1 === tag ||\n 0 === tag ||\n 11 === tag ||\n 14 === tag ||\n 15 === tag\n ) {\n tag = getComponentNameFromFiber(fiber) || \"ReactComponent\";\n if (null !== didWarnStateUpdateForNotYetMountedComponent) {\n if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return;\n didWarnStateUpdateForNotYetMountedComponent.add(tag);\n } else didWarnStateUpdateForNotYetMountedComponent = new Set([tag]);\n runWithFiberInDEV(fiber, function () {\n console.error(\n \"Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead.\"\n );\n });\n }\n }\n }\n function restorePendingUpdaters(root, lanes) {\n isDevToolsPresent &&\n root.memoizedUpdaters.forEach(function (schedulingFiber) {\n addFiberToLanesMap(root, schedulingFiber, lanes);\n });\n }\n function scheduleCallback$1(priorityLevel, callback) {\n var actQueue = ReactSharedInternals.actQueue;\n return null !== actQueue\n ? (actQueue.push(callback), fakeActCallbackNode$1)\n : scheduleCallback$3(priorityLevel, callback);\n }\n function warnIfUpdatesNotWrappedWithActDEV(fiber) {\n isConcurrentActEnvironment() &&\n null === ReactSharedInternals.actQueue &&\n runWithFiberInDEV(fiber, function () {\n console.error(\n \"An update to %s inside a test was not wrapped in act(...).\\n\\nWhen testing, code that causes React state updates should be wrapped into act(...):\\n\\nact(() => {\\n /* fire events that update state */\\n});\\n/* assert on the output */\\n\\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act\",\n getComponentNameFromFiber(fiber)\n );\n });\n }\n function ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n null !== ReactSharedInternals.actQueue\n ? didScheduleMicrotask_act ||\n ((didScheduleMicrotask_act = !0), scheduleImmediateRootScheduleTask())\n : didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n }\n function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root = firstScheduledRoot; null !== root; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) var nextLanes = 0;\n else {\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n nextLanes =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes);\n nextLanes =\n nextLanes & 201326741\n ? (nextLanes & 201326741) | 1\n : nextLanes\n ? nextLanes | 2\n : 0;\n }\n 0 !== nextLanes &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, nextLanes));\n } else\n (nextLanes = workInProgressRootRenderLanes),\n (nextLanes = getNextLanes(\n root,\n root === workInProgressRoot ? nextLanes : 0,\n null !== root.cancelPendingCommit ||\n root.timeoutHandle !== noTimeout\n )),\n 0 === (nextLanes & 3) ||\n checkIfRootIsPrerendering(root, nextLanes) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, nextLanes));\n root = root.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n }\n function processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n }\n function processRootScheduleInMicrotask() {\n mightHavePendingSyncWork =\n didScheduleMicrotask_act =\n didScheduleMicrotask =\n !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n (shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane),\n (currentEventTransitionLane = 0));\n for (\n var currentTime = now$1(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n }\n function scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index = 31 - clz32(lanes),\n lane = 1 << index,\n expirationTime = expirationTimes[index];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || root.timeoutHandle !== noTimeout\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (workInProgressSuspendedReason === SuspendedOnData ||\n workInProgressSuspendedReason === SuspendedOnAction)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes && cancelCallback(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (\n currentTime !== root.callbackPriority ||\n (null !== ReactSharedInternals.actQueue &&\n pingedLanes !== fakeActCallbackNode)\n )\n cancelCallback(pingedLanes);\n else return currentTime;\n switch (lanesToEventPriority(suspendedLanes)) {\n case DiscreteEventPriority:\n case ContinuousEventPriority:\n suspendedLanes = UserBlockingPriority;\n break;\n case DefaultEventPriority:\n suspendedLanes = NormalPriority$1;\n break;\n case IdleEventPriority:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n null !== ReactSharedInternals.actQueue\n ? (ReactSharedInternals.actQueue.push(pingedLanes),\n (suspendedLanes = fakeActCallbackNode))\n : (suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes));\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && cancelCallback(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n }\n function performWorkOnRootViaSchedulerTask(root, didTimeout) {\n nestedUpdateScheduled = currentUpdateIsNested = !1;\n if (\n pendingEffectsStatus !== NO_PENDING_EFFECTS &&\n pendingEffectsStatus !== PENDING_PASSIVE_PHASE\n )\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects(!0) && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 =\n workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot\n ? workInProgressRootRenderLanes$jscomp$0\n : 0,\n null !== root.cancelPendingCommit || root.timeoutHandle !== noTimeout\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(\n root,\n workInProgressRootRenderLanes$jscomp$0,\n didTimeout\n );\n scheduleTaskForRootDuringMicrotask(root, now$1());\n return null != root.callbackNode &&\n root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n }\n function performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n currentUpdateIsNested = nestedUpdateScheduled;\n nestedUpdateScheduled = !1;\n performWorkOnRoot(root, lanes, !0);\n }\n function cancelCallback(callbackNode) {\n callbackNode !== fakeActCallbackNode &&\n null !== callbackNode &&\n cancelCallback$1(callbackNode);\n }\n function scheduleImmediateRootScheduleTask() {\n null !== ReactSharedInternals.actQueue &&\n ReactSharedInternals.actQueue.push(function () {\n processRootScheduleInMicrotask();\n return null;\n });\n scheduleMicrotask(function () {\n (executionContext & (RenderContext | CommitContext)) !== NoContext\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n }\n function requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n }\n function coerceFormActionProp(actionProp) {\n if (\n null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n )\n return null;\n if (\"function\" === typeof actionProp) return actionProp;\n checkAttributeStringCoercion(actionProp, \"action\");\n return sanitizeURL(\"\" + actionProp);\n }\n function createFormDataWithSubmitter(form, submitter) {\n var temp = submitter.ownerDocument.createElement(\"input\");\n temp.name = submitter.name;\n temp.value = submitter.value;\n form.id && temp.setAttribute(\"form\", form.id);\n submitter.parentNode.insertBefore(temp, submitter);\n form = new FormData(form);\n temp.parentNode.removeChild(temp);\n return form;\n }\n function extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName &&\n ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = submitter\n ? createFormDataWithSubmitter(\n nativeEventTarget,\n submitter\n )\n : new FormData(nativeEventTarget),\n pendingState = {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n };\n Object.freeze(pendingState);\n startHostTransition(\n maybeTargetInst,\n pendingState,\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = submitter\n ? createFormDataWithSubmitter(\n nativeEventTarget,\n submitter\n )\n : new FormData(nativeEventTarget)),\n (pendingState = {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n }),\n Object.freeze(pendingState),\n startHostTransition(\n maybeTargetInst,\n pendingState,\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n }\n function executeDispatch(event, listener, currentTarget) {\n event.currentTarget = currentTarget;\n try {\n listener(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n }\n function processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i];\n a: {\n var previousInstance = void 0,\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n null !== instance\n ? runWithFiberInDEV(\n instance,\n executeDispatch,\n event,\n _dispatchListeners$i,\n currentTarget\n )\n : executeDispatch(event, _dispatchListeners$i, currentTarget);\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n null !== instance\n ? runWithFiberInDEV(\n instance,\n executeDispatch,\n event,\n _dispatchListeners$i,\n currentTarget\n )\n : executeDispatch(event, _dispatchListeners$i, currentTarget);\n previousInstance = instance;\n }\n }\n }\n }\n function listenToNonDelegatedEvent(domEventName, targetElement) {\n nonDelegatedEvents.has(domEventName) ||\n console.error(\n 'Did not expect a listenToNonDelegatedEvent() call for \"%s\". This is a bug in React. Please file an issue.',\n domEventName\n );\n var listenerSet = targetElement[internalEventHandlersKey];\n void 0 === listenerSet &&\n (listenerSet = targetElement[internalEventHandlersKey] = new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n listenerSet.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n listenerSet.add(listenerSetKey));\n }\n function listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n nonDelegatedEvents.has(domEventName) &&\n !isCapturePhaseListener &&\n console.error(\n 'Did not expect a listenToNativeEvent() call for \"%s\" in the bubble phase. This is a bug in React. Please file an issue.',\n domEventName\n );\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n }\n function listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n }\n function addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n ) {\n switch (getEventPriority(domEventName)) {\n case DiscreteEventPriority:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case ContinuousEventPriority:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(\n domEventName,\n eventSystemFlags,\n !1\n );\n }\n function dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n ) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance2 = instance;\n lastHostComponent = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance2 = getListener(instance, reactEventName)),\n null != _instance2 &&\n inCapturePhase.push(\n createDispatchListener(\n instance,\n _instance2,\n lastHostComponent\n )\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: reactName,\n listeners: inCapturePhase\n }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n reactName =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n SyntheticEventCtor =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n reactName &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (SyntheticEventCtor || reactName) {\n reactName =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (reactName = nativeEventTarget.ownerDocument)\n ? reactName.defaultView || reactName.parentWindow\n : window;\n if (SyntheticEventCtor) {\n if (\n ((reactEventType =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (SyntheticEventCtor = targetInst),\n (reactEventType = reactEventType\n ? getClosestInstanceFromNode(reactEventType)\n : null),\n null !== reactEventType &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(reactEventType)),\n (inCapturePhase = reactEventType.tag),\n reactEventType !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n reactEventType = null;\n } else (SyntheticEventCtor = null), (reactEventType = targetInst);\n if (SyntheticEventCtor !== reactEventType) {\n inCapturePhase = SyntheticMouseEvent;\n _instance2 = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\n \"pointerout\" === domEventName ||\n \"pointerover\" === domEventName\n )\n (inCapturePhase = SyntheticPointerEvent),\n (_instance2 = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == SyntheticEventCtor\n ? reactName\n : getNodeFromInstance(SyntheticEventCtor);\n lastHostComponent =\n null == reactEventType\n ? reactName\n : getNodeFromInstance(reactEventType);\n reactName = new inCapturePhase(\n _instance2,\n instance + \"leave\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n );\n reactName.target = accumulateTargetOnly;\n reactName.relatedTarget = lastHostComponent;\n _instance2 = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n reactEventType,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance2 = inCapturePhase));\n accumulateTargetOnly = _instance2;\n if (SyntheticEventCtor && reactEventType)\n b: {\n inCapturePhase = SyntheticEventCtor;\n reactEventName = reactEventType;\n instance = 0;\n for (\n lastHostComponent = inCapturePhase;\n lastHostComponent;\n lastHostComponent = getParent(lastHostComponent)\n )\n instance++;\n lastHostComponent = 0;\n for (\n _instance2 = reactEventName;\n _instance2;\n _instance2 = getParent(_instance2)\n )\n lastHostComponent++;\n for (; 0 < instance - lastHostComponent; )\n (inCapturePhase = getParent(inCapturePhase)), instance--;\n for (; 0 < lastHostComponent - instance; )\n (reactEventName = getParent(reactEventName)),\n lastHostComponent--;\n for (; instance--; ) {\n if (\n inCapturePhase === reactEventName ||\n (null !== reactEventName &&\n inCapturePhase === reactEventName.alternate)\n )\n break b;\n inCapturePhase = getParent(inCapturePhase);\n reactEventName = getParent(reactEventName);\n }\n inCapturePhase = null;\n }\n else inCapturePhase = null;\n null !== SyntheticEventCtor &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactName,\n SyntheticEventCtor,\n inCapturePhase,\n !1\n );\n null !== reactEventType &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n reactEventType,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc &&\n handleEventFunc(domEventName, reactName, targetInst);\n \"focusout\" === domEventName &&\n targetInst &&\n \"number\" === reactName.type &&\n null != targetInst.memoizedProps.value &&\n setDefaultValue(reactName, \"number\", reactName.value);\n }\n handleEventFunc = targetInst\n ? getNodeFromInstance(targetInst)\n : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(\n dispatchQueue,\n nativeEvent,\n nativeEventTarget\n );\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(\n dispatchQueue,\n nativeEvent,\n nativeEventTarget\n );\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n nativeEvent.keyCode === START_KEYCODE &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(\n targetInst,\n eventType\n )),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: eventType,\n listeners: handleEventFunc\n }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(\n targetInst,\n \"onBeforeInput\"\n )),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticInputEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n }\n function createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n }\n function accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance3 = targetFiber,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((_instance3 = getListener(targetFiber, captureName)),\n null != _instance3 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance3, stateNode)\n ),\n (_instance3 = getListener(targetFiber, reactName)),\n null != _instance3 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance3, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n }\n function getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n }\n function accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n ) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance4 = target,\n alternate = _instance4.alternate,\n stateNode = _instance4.stateNode;\n _instance4 = _instance4.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n }\n function validatePropertiesInDevelopment(type, props) {\n validateProperties$2(type, props);\n (\"input\" !== type && \"textarea\" !== type && \"select\" !== type) ||\n null == props ||\n null !== props.value ||\n didWarnValueNull ||\n ((didWarnValueNull = !0),\n \"select\" === type && props.multiple\n ? console.error(\n \"`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.\",\n type\n )\n : console.error(\n \"`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.\",\n type\n ));\n var eventRegistry = {\n registrationNameDependencies: registrationNameDependencies,\n possibleRegistrationNames: possibleRegistrationNames\n };\n isCustomElement(type) ||\n \"string\" === typeof props.is ||\n warnUnknownProperties(type, props, eventRegistry);\n props.contentEditable &&\n !props.suppressContentEditableWarning &&\n null != props.children &&\n console.error(\n \"A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional.\"\n );\n }\n function warnForPropDifference(\n propName,\n serverValue,\n clientValue,\n serverDifferences\n ) {\n serverValue !== clientValue &&\n ((clientValue = normalizeMarkupForTextOrAttribute(clientValue)),\n normalizeMarkupForTextOrAttribute(serverValue) !== clientValue &&\n (serverDifferences[propName] = serverValue));\n }\n function warnForExtraAttributes(\n domElement,\n attributeNames,\n serverDifferences\n ) {\n attributeNames.forEach(function (attributeName) {\n serverDifferences[getPropNameFromAttributeName(attributeName)] =\n \"style\" === attributeName\n ? getStylesObjectFromElement(domElement)\n : domElement.getAttribute(attributeName);\n });\n }\n function warnForInvalidEventListener(registrationName, listener) {\n !1 === listener\n ? console.error(\n \"Expected `%s` listener to be a function, instead got `false`.\\n\\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.\",\n registrationName,\n registrationName,\n registrationName\n )\n : console.error(\n \"Expected `%s` listener to be a function, instead got a value of `%s` type.\",\n registrationName,\n typeof listener\n );\n }\n function normalizeHTML(parent, html) {\n parent =\n parent.namespaceURI === MATH_NAMESPACE ||\n parent.namespaceURI === SVG_NAMESPACE\n ? parent.ownerDocument.createElementNS(\n parent.namespaceURI,\n parent.tagName\n )\n : parent.ownerDocument.createElement(parent.tagName);\n parent.innerHTML = html;\n return parent.innerHTML;\n }\n function normalizeMarkupForTextOrAttribute(markup) {\n willCoercionThrow(markup) &&\n (console.error(\n \"The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.\",\n typeName(markup)\n ),\n testStringCoercion(markup));\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n }\n function checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText\n ? !0\n : !1;\n }\n function noop$1() {}\n function setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n if (\"string\" === typeof value)\n validateTextNesting(value, tag, !1),\n \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value);\n else if (\"number\" === typeof value || \"bigint\" === typeof value)\n validateTextNesting(\"\" + value, tag, !1),\n \"body\" !== tag && setTextContent(domElement, \"\" + value);\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n \"src\" === key\n ? console.error(\n 'An empty string (\"\") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',\n key,\n key\n )\n : console.error(\n 'An empty string (\"\") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',\n key,\n key\n );\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n checkAttributeStringCoercion(value, key);\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n null != value &&\n (\"form\" === tag\n ? \"formAction\" === key\n ? console.error(\n \"You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>.\"\n )\n : \"function\" === typeof value &&\n ((null == props.encType && null == props.method) ||\n didWarnFormActionMethod ||\n ((didWarnFormActionMethod = !0),\n console.error(\n \"Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden.\"\n )),\n null == props.target ||\n didWarnFormActionTarget ||\n ((didWarnFormActionTarget = !0),\n console.error(\n \"Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window.\"\n )))\n : \"input\" === tag || \"button\" === tag\n ? \"action\" === key\n ? console.error(\n \"You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>.\"\n )\n : \"input\" !== tag ||\n \"submit\" === props.type ||\n \"image\" === props.type ||\n didWarnFormActionType\n ? \"button\" !== tag ||\n null == props.type ||\n \"submit\" === props.type ||\n didWarnFormActionType\n ? \"function\" === typeof value &&\n (null == props.name ||\n didWarnFormActionName ||\n ((didWarnFormActionName = !0),\n console.error(\n 'Cannot specify a \"name\" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.'\n )),\n (null == props.formEncType &&\n null == props.formMethod) ||\n didWarnFormActionMethod ||\n ((didWarnFormActionMethod = !0),\n console.error(\n \"Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden.\"\n )),\n null == props.formTarget ||\n didWarnFormActionTarget ||\n ((didWarnFormActionTarget = !0),\n console.error(\n \"Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window.\"\n )))\n : ((didWarnFormActionType = !0),\n console.error(\n 'A button can only specify a formAction along with type=\"submit\" or no type.'\n ))\n : ((didWarnFormActionType = !0),\n console.error(\n 'An input can only specify a formAction along with type=\"submit\" or type=\"image\".'\n ))\n : \"action\" === key\n ? console.error(\n \"You can only pass the action prop to <form>.\"\n )\n : console.error(\n \"You can only pass the formAction prop to <input> or <button>.\"\n ));\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(\n domElement,\n tag,\n \"encType\",\n props.encType,\n props,\n null\n ),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(\n domElement,\n tag,\n \"target\",\n props.target,\n props,\n null\n )));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n checkAttributeStringCoercion(value, key);\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n (domElement.onclick = noop$1));\n break;\n case \"onScroll\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n listenToNonDelegatedEvent(\"scroll\", domElement));\n break;\n case \"onScrollEnd\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n listenToNonDelegatedEvent(\"scrollend\", domElement));\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(\n \"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.\"\n );\n key = value.__html;\n if (null != key) {\n if (null != props.children)\n throw Error(\n \"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\"\n );\n domElement.innerHTML = key;\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n checkAttributeStringCoercion(value, key);\n key = sanitizeURL(\"\" + value);\n domElement.setAttributeNS(xlinkNamespace, \"xlink:href\", key);\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? (checkAttributeStringCoercion(value, key),\n domElement.setAttribute(key, \"\" + value))\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n \"\" !== value ||\n didWarnForNewBooleanPropsWithEmptyValue[key] ||\n ((didWarnForNewBooleanPropsWithEmptyValue[key] = !0),\n console.error(\n \"Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.\",\n key\n ));\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? (checkAttributeStringCoercion(value, key),\n domElement.setAttribute(key, value))\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? (checkAttributeStringCoercion(value, key),\n domElement.setAttribute(key, value))\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : (checkAttributeStringCoercion(value, key),\n domElement.setAttribute(key, value));\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n xlinkNamespace,\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n xmlNamespace,\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n xmlNamespace,\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n xmlNamespace,\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n null != prevValue &&\n console.error(\n 'Cannot update the \"is\" prop after it has been initialized.'\n );\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n case \"popoverTarget\":\n didWarnPopoverTargetObject ||\n null == value ||\n \"object\" !== typeof value ||\n ((didWarnPopoverTargetObject = !0),\n console.error(\n \"The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.\",\n value\n ));\n default:\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n ? ((key = getAttributeAlias(key)),\n setValueForAttribute(domElement, key, value))\n : registrationNameDependencies.hasOwnProperty(key) &&\n null != value &&\n \"function\" !== typeof value &&\n warnForInvalidEventListener(key, value);\n }\n }\n function setPropOnCustomElement(\n domElement,\n tag,\n key,\n value,\n props,\n prevValue\n ) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(\n \"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information.\"\n );\n key = value.__html;\n if (null != key) {\n if (null != props.children)\n throw Error(\n \"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\"\n );\n domElement.innerHTML = key;\n }\n }\n break;\n case \"children\":\n \"string\" === typeof value\n ? setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"onScroll\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n listenToNonDelegatedEvent(\"scroll\", domElement));\n break;\n case \"onScrollEnd\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n listenToNonDelegatedEvent(\"scrollend\", domElement));\n break;\n case \"onClick\":\n null != value &&\n (\"function\" !== typeof value &&\n warnForInvalidEventListener(key, value),\n (domElement.onclick = noop$1));\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (registrationNameDependencies.hasOwnProperty(key))\n null != value &&\n \"function\" !== typeof value &&\n warnForInvalidEventListener(key, value);\n else\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (tag = key.slice(2, props ? key.length - 7 : void 0)),\n (prevValue = domElement[internalPropsKey] || null),\n (prevValue = null != prevValue ? prevValue[key] : null),\n \"function\" === typeof prevValue &&\n domElement.removeEventListener(tag, prevValue, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof prevValue &&\n null !== prevValue &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(tag, value, props);\n break a;\n }\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n }\n }\n function setInitialProperties(domElement, tag, props) {\n validatePropertiesInDevelopment(tag, props);\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(\n tag +\n \" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\"\n );\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n checkControlledValueProps(\"input\", props);\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var _propValue = props[hasSrc];\n if (null != _propValue)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = _propValue;\n break;\n case \"type\":\n propValue = _propValue;\n break;\n case \"checked\":\n checked = _propValue;\n break;\n case \"defaultChecked\":\n defaultChecked = _propValue;\n break;\n case \"value\":\n propKey = _propValue;\n break;\n case \"defaultValue\":\n defaultValue = _propValue;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != _propValue)\n throw Error(\n tag +\n \" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\"\n );\n break;\n default:\n setProp(domElement, tag, hasSrc, _propValue, props, null);\n }\n }\n validateInputProps(domElement, props);\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n track(domElement);\n return;\n case \"select\":\n checkControlledValueProps(\"select\", props);\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(\n domElement,\n tag,\n hasSrcSet,\n defaultValue,\n props,\n null\n );\n }\n validateSelectProps(domElement, props);\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n checkControlledValueProps(\"textarea\", props);\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue)\n throw Error(\n \"`dangerouslySetInnerHTML` does not make sense on <textarea>.\"\n );\n break;\n default:\n setProp(\n domElement,\n tag,\n propValue,\n defaultValue,\n props,\n null\n );\n }\n validateTextareaProps(domElement, props);\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n track(domElement);\n return;\n case \"option\":\n validateOptionProps(domElement, props);\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(\n tag +\n \" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\"\n );\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (_propValue in props)\n props.hasOwnProperty(_propValue) &&\n ((hasSrc = props[_propValue]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n _propValue,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n }\n function updateProperties(domElement, tag, lastProps, nextProps) {\n validatePropertiesInDevelopment(tag, nextProps);\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(\n domElement,\n tag,\n propKey,\n null,\n nextProps,\n lastProp\n );\n }\n }\n for (var _propKey8 in nextProps) {\n var propKey = nextProps[_propKey8];\n lastProp = lastProps[_propKey8];\n if (\n nextProps.hasOwnProperty(_propKey8) &&\n (null != propKey || null != lastProp)\n )\n switch (_propKey8) {\n case \"type\":\n type = propKey;\n break;\n case \"name\":\n name = propKey;\n break;\n case \"checked\":\n checked = propKey;\n break;\n case \"defaultChecked\":\n defaultChecked = propKey;\n break;\n case \"value\":\n value = propKey;\n break;\n case \"defaultValue\":\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(\n tag +\n \" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\"\n );\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n _propKey8,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n tag =\n \"checkbox\" === lastProps.type || \"radio\" === lastProps.type\n ? null != lastProps.checked\n : null != lastProps.value;\n nextProps =\n \"checkbox\" === nextProps.type || \"radio\" === nextProps.type\n ? null != nextProps.checked\n : null != nextProps.value;\n tag ||\n !nextProps ||\n didWarnUncontrolledToControlled ||\n (console.error(\n \"A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components\"\n ),\n (didWarnUncontrolledToControlled = !0));\n !tag ||\n nextProps ||\n didWarnControlledToUncontrolled ||\n (console.error(\n \"A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components\"\n ),\n (didWarnControlledToUncontrolled = !0));\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = _propKey8 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n _propKey8 = type;\n break;\n case \"defaultValue\":\n defaultValue = type;\n break;\n case \"multiple\":\n value = type;\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n nextProps = defaultValue;\n tag = value;\n lastProps = propKey;\n null != _propKey8\n ? updateOptions(domElement, !!tag, _propKey8, !1)\n : !!lastProps !== !!tag &&\n (null != nextProps\n ? updateOptions(domElement, !!tag, nextProps, !0)\n : updateOptions(domElement, !!tag, tag ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = _propKey8 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n _propKey8 = name;\n break;\n case \"defaultValue\":\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name)\n throw Error(\n \"`dangerouslySetInnerHTML` does not make sense on <textarea>.\"\n );\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, _propKey8, propKey);\n return;\n case \"option\":\n for (var _propKey13 in lastProps)\n if (\n ((_propKey8 = lastProps[_propKey13]),\n lastProps.hasOwnProperty(_propKey13) &&\n null != _propKey8 &&\n !nextProps.hasOwnProperty(_propKey13))\n )\n switch (_propKey13) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n _propKey13,\n null,\n nextProps,\n _propKey8\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((_propKey8 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n _propKey8 !== propKey &&\n (null != _propKey8 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n domElement.selected =\n _propKey8 &&\n \"function\" !== typeof _propKey8 &&\n \"symbol\" !== typeof _propKey8;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n _propKey8,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var _propKey15 in lastProps)\n (_propKey8 = lastProps[_propKey15]),\n lastProps.hasOwnProperty(_propKey15) &&\n null != _propKey8 &&\n !nextProps.hasOwnProperty(_propKey15) &&\n setProp(\n domElement,\n tag,\n _propKey15,\n null,\n nextProps,\n _propKey8\n );\n for (checked in nextProps)\n if (\n ((_propKey8 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n _propKey8 !== propKey &&\n (null != _propKey8 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != _propKey8)\n throw Error(\n tag +\n \" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\"\n );\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n _propKey8,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var _propKey17 in lastProps)\n (_propKey8 = lastProps[_propKey17]),\n lastProps.hasOwnProperty(_propKey17) &&\n void 0 !== _propKey8 &&\n !nextProps.hasOwnProperty(_propKey17) &&\n setPropOnCustomElement(\n domElement,\n tag,\n _propKey17,\n void 0,\n nextProps,\n _propKey8\n );\n for (defaultChecked in nextProps)\n (_propKey8 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n _propKey8 === propKey ||\n (void 0 === _propKey8 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n _propKey8,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var _propKey19 in lastProps)\n (_propKey8 = lastProps[_propKey19]),\n lastProps.hasOwnProperty(_propKey19) &&\n null != _propKey8 &&\n !nextProps.hasOwnProperty(_propKey19) &&\n setProp(domElement, tag, _propKey19, null, nextProps, _propKey8);\n for (lastProp in nextProps)\n (_propKey8 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n _propKey8 === propKey ||\n (null == _propKey8 && null == propKey) ||\n setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey);\n }\n function getPropNameFromAttributeName(attrName) {\n switch (attrName) {\n case \"class\":\n return \"className\";\n case \"for\":\n return \"htmlFor\";\n default:\n return attrName;\n }\n }\n function getStylesObjectFromElement(domElement) {\n var serverValueInObjectForm = {};\n domElement = domElement.style;\n for (var i = 0; i < domElement.length; i++) {\n var styleName = domElement[i];\n serverValueInObjectForm[styleName] =\n domElement.getPropertyValue(styleName);\n }\n return serverValueInObjectForm;\n }\n function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) {\n if (null != value$jscomp$0 && \"object\" !== typeof value$jscomp$0)\n console.error(\n \"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\"\n );\n else {\n var clientValue;\n var delimiter = (clientValue = \"\"),\n styleName;\n for (styleName in value$jscomp$0)\n if (value$jscomp$0.hasOwnProperty(styleName)) {\n var value = value$jscomp$0[styleName];\n null != value &&\n \"boolean\" !== typeof value &&\n \"\" !== value &&\n (0 === styleName.indexOf(\"--\")\n ? (checkCSSPropertyStringCoercion(value, styleName),\n (clientValue +=\n delimiter + styleName + \":\" + (\"\" + value).trim()))\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? (checkCSSPropertyStringCoercion(value, styleName),\n (clientValue +=\n delimiter +\n styleName\n .replace(uppercasePattern, \"-$1\")\n .toLowerCase()\n .replace(msPattern$1, \"-ms-\") +\n \":\" +\n (\"\" + value).trim()))\n : (clientValue +=\n delimiter +\n styleName\n .replace(uppercasePattern, \"-$1\")\n .toLowerCase()\n .replace(msPattern$1, \"-ms-\") +\n \":\" +\n value +\n \"px\"),\n (delimiter = \";\"));\n }\n clientValue = clientValue || null;\n value$jscomp$0 = domElement.getAttribute(\"style\");\n value$jscomp$0 !== clientValue &&\n ((clientValue = normalizeMarkupForTextOrAttribute(clientValue)),\n normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue &&\n (serverDifferences.style = getStylesObjectFromElement(domElement)));\n }\n }\n function hydrateAttribute(\n domElement,\n propKey,\n attributeName,\n value,\n extraAttributes,\n serverDifferences\n ) {\n extraAttributes.delete(attributeName);\n domElement = domElement.getAttribute(attributeName);\n if (null === domElement)\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n return;\n }\n else if (null != value)\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n break;\n default:\n if (\n (checkAttributeStringCoercion(value, propKey),\n domElement === \"\" + value)\n )\n return;\n }\n warnForPropDifference(propKey, domElement, value, serverDifferences);\n }\n function hydrateBooleanAttribute(\n domElement,\n propKey,\n attributeName,\n value,\n extraAttributes,\n serverDifferences\n ) {\n extraAttributes.delete(attributeName);\n domElement = domElement.getAttribute(attributeName);\n if (null === domElement) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n if (!value) return;\n } else\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n break;\n default:\n if (value) return;\n }\n warnForPropDifference(propKey, domElement, value, serverDifferences);\n }\n function hydrateBooleanishAttribute(\n domElement,\n propKey,\n attributeName,\n value,\n extraAttributes,\n serverDifferences\n ) {\n extraAttributes.delete(attributeName);\n domElement = domElement.getAttribute(attributeName);\n if (null === domElement)\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n return;\n }\n else if (null != value)\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n break;\n default:\n if (\n (checkAttributeStringCoercion(value, attributeName),\n domElement === \"\" + value)\n )\n return;\n }\n warnForPropDifference(propKey, domElement, value, serverDifferences);\n }\n function hydrateNumericAttribute(\n domElement,\n propKey,\n attributeName,\n value,\n extraAttributes,\n serverDifferences\n ) {\n extraAttributes.delete(attributeName);\n domElement = domElement.getAttribute(attributeName);\n if (null === domElement)\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n return;\n default:\n if (isNaN(value)) return;\n }\n else if (null != value)\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n break;\n default:\n if (\n !isNaN(value) &&\n (checkAttributeStringCoercion(value, propKey),\n domElement === \"\" + value)\n )\n return;\n }\n warnForPropDifference(propKey, domElement, value, serverDifferences);\n }\n function hydrateSanitizedAttribute(\n domElement,\n propKey,\n attributeName,\n value,\n extraAttributes,\n serverDifferences\n ) {\n extraAttributes.delete(attributeName);\n domElement = domElement.getAttribute(attributeName);\n if (null === domElement)\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n return;\n }\n else if (null != value)\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n break;\n default:\n if (\n (checkAttributeStringCoercion(value, propKey),\n (attributeName = sanitizeURL(\"\" + value)),\n domElement === attributeName)\n )\n return;\n }\n warnForPropDifference(propKey, domElement, value, serverDifferences);\n }\n function diffHydratedProperties(domElement, tag, props, hostContext) {\n for (\n var serverDifferences = {},\n extraAttributes = new Set(),\n attributes = domElement.attributes,\n i = 0;\n i < attributes.length;\n i++\n )\n switch (attributes[i].name.toLowerCase()) {\n case \"value\":\n break;\n case \"checked\":\n break;\n case \"selected\":\n break;\n default:\n extraAttributes.add(attributes[i].name);\n }\n if (isCustomElement(tag))\n for (var propKey in props) {\n if (props.hasOwnProperty(propKey)) {\n var value = props[propKey];\n if (null != value)\n if (registrationNameDependencies.hasOwnProperty(propKey))\n \"function\" !== typeof value &&\n warnForInvalidEventListener(propKey, value);\n else if (!0 !== props.suppressHydrationWarning)\n switch (propKey) {\n case \"children\":\n (\"string\" !== typeof value && \"number\" !== typeof value) ||\n warnForPropDifference(\n \"children\",\n domElement.textContent,\n value,\n serverDifferences\n );\n continue;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n continue;\n case \"dangerouslySetInnerHTML\":\n attributes = domElement.innerHTML;\n value = value ? value.__html : void 0;\n null != value &&\n ((value = normalizeHTML(domElement, value)),\n warnForPropDifference(\n propKey,\n attributes,\n value,\n serverDifferences\n ));\n continue;\n case \"style\":\n extraAttributes.delete(propKey);\n diffHydratedStyles(domElement, value, serverDifferences);\n continue;\n case \"offsetParent\":\n case \"offsetTop\":\n case \"offsetLeft\":\n case \"offsetWidth\":\n case \"offsetHeight\":\n case \"isContentEditable\":\n case \"outerText\":\n case \"outerHTML\":\n extraAttributes.delete(propKey.toLowerCase());\n console.error(\n \"Assignment to read-only property will result in a no-op: `%s`\",\n propKey\n );\n continue;\n case \"className\":\n extraAttributes.delete(\"class\");\n attributes = getValueForAttributeOnCustomComponent(\n domElement,\n \"class\",\n value\n );\n warnForPropDifference(\n \"className\",\n attributes,\n value,\n serverDifferences\n );\n continue;\n default:\n hostContext.context === HostContextNamespaceNone &&\n \"svg\" !== tag &&\n \"math\" !== tag\n ? extraAttributes.delete(propKey.toLowerCase())\n : extraAttributes.delete(propKey),\n (attributes = getValueForAttributeOnCustomComponent(\n domElement,\n propKey,\n value\n )),\n warnForPropDifference(\n propKey,\n attributes,\n value,\n serverDifferences\n );\n }\n }\n }\n else\n for (value in props)\n if (\n props.hasOwnProperty(value) &&\n ((propKey = props[value]), null != propKey)\n )\n if (registrationNameDependencies.hasOwnProperty(value))\n \"function\" !== typeof propKey &&\n warnForInvalidEventListener(value, propKey);\n else if (!0 !== props.suppressHydrationWarning)\n switch (value) {\n case \"children\":\n (\"string\" !== typeof propKey &&\n \"number\" !== typeof propKey) ||\n warnForPropDifference(\n \"children\",\n domElement.textContent,\n propKey,\n serverDifferences\n );\n continue;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"value\":\n case \"checked\":\n case \"selected\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n continue;\n case \"dangerouslySetInnerHTML\":\n attributes = domElement.innerHTML;\n propKey = propKey ? propKey.__html : void 0;\n null != propKey &&\n ((propKey = normalizeHTML(domElement, propKey)),\n attributes !== propKey &&\n (serverDifferences[value] = { __html: attributes }));\n continue;\n case \"className\":\n hydrateAttribute(\n domElement,\n value,\n \"class\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"tabIndex\":\n hydrateAttribute(\n domElement,\n value,\n \"tabindex\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"style\":\n extraAttributes.delete(value);\n diffHydratedStyles(domElement, propKey, serverDifferences);\n continue;\n case \"multiple\":\n extraAttributes.delete(value);\n warnForPropDifference(\n value,\n domElement.multiple,\n propKey,\n serverDifferences\n );\n continue;\n case \"muted\":\n extraAttributes.delete(value);\n warnForPropDifference(\n value,\n domElement.muted,\n propKey,\n serverDifferences\n );\n continue;\n case \"autoFocus\":\n extraAttributes.delete(\"autofocus\");\n warnForPropDifference(\n value,\n domElement.autofocus,\n propKey,\n serverDifferences\n );\n continue;\n case \"data\":\n if (\"object\" !== tag) {\n extraAttributes.delete(value);\n attributes = domElement.getAttribute(\"data\");\n warnForPropDifference(\n value,\n attributes,\n propKey,\n serverDifferences\n );\n continue;\n }\n case \"src\":\n case \"href\":\n if (\n !(\n \"\" !== propKey ||\n (\"a\" === tag && \"href\" === value) ||\n (\"object\" === tag && \"data\" === value)\n )\n ) {\n \"src\" === value\n ? console.error(\n 'An empty string (\"\") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',\n value,\n value\n )\n : console.error(\n 'An empty string (\"\") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.',\n value,\n value\n );\n continue;\n }\n hydrateSanitizedAttribute(\n domElement,\n value,\n value,\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"action\":\n case \"formAction\":\n attributes = domElement.getAttribute(value);\n if (\"function\" === typeof propKey) {\n extraAttributes.delete(value.toLowerCase());\n \"formAction\" === value\n ? (extraAttributes.delete(\"name\"),\n extraAttributes.delete(\"formenctype\"),\n extraAttributes.delete(\"formmethod\"),\n extraAttributes.delete(\"formtarget\"))\n : (extraAttributes.delete(\"enctype\"),\n extraAttributes.delete(\"method\"),\n extraAttributes.delete(\"target\"));\n continue;\n } else if (attributes === EXPECTED_FORM_ACTION_URL) {\n extraAttributes.delete(value.toLowerCase());\n warnForPropDifference(\n value,\n \"function\",\n propKey,\n serverDifferences\n );\n continue;\n }\n hydrateSanitizedAttribute(\n domElement,\n value,\n value.toLowerCase(),\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkHref\":\n hydrateSanitizedAttribute(\n domElement,\n value,\n \"xlink:href\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"contentEditable\":\n hydrateBooleanishAttribute(\n domElement,\n value,\n \"contenteditable\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"spellCheck\":\n hydrateBooleanishAttribute(\n domElement,\n value,\n \"spellcheck\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"draggable\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n hydrateBooleanishAttribute(\n domElement,\n value,\n value,\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n hydrateBooleanAttribute(\n domElement,\n value,\n value.toLowerCase(),\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"capture\":\n case \"download\":\n a: {\n i = domElement;\n var attributeName = (attributes = value),\n serverDifferences$jscomp$0 = serverDifferences;\n extraAttributes.delete(attributeName);\n i = i.getAttribute(attributeName);\n if (null === i)\n switch (typeof propKey) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n break a;\n default:\n if (!1 === propKey) break a;\n }\n else if (null != propKey)\n switch (typeof propKey) {\n case \"function\":\n case \"symbol\":\n break;\n case \"boolean\":\n if (!0 === propKey && \"\" === i) break a;\n break;\n default:\n if (\n (checkAttributeStringCoercion(propKey, attributes),\n i === \"\" + propKey)\n )\n break a;\n }\n warnForPropDifference(\n attributes,\n i,\n propKey,\n serverDifferences$jscomp$0\n );\n }\n continue;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n a: {\n i = domElement;\n attributeName = attributes = value;\n serverDifferences$jscomp$0 = serverDifferences;\n extraAttributes.delete(attributeName);\n i = i.getAttribute(attributeName);\n if (null === i)\n switch (typeof propKey) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n break a;\n default:\n if (isNaN(propKey) || 1 > propKey) break a;\n }\n else if (null != propKey)\n switch (typeof propKey) {\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n break;\n default:\n if (\n !(isNaN(propKey) || 1 > propKey) &&\n (checkAttributeStringCoercion(propKey, attributes),\n i === \"\" + propKey)\n )\n break a;\n }\n warnForPropDifference(\n attributes,\n i,\n propKey,\n serverDifferences$jscomp$0\n );\n }\n continue;\n case \"rowSpan\":\n hydrateNumericAttribute(\n domElement,\n value,\n \"rowspan\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"start\":\n hydrateNumericAttribute(\n domElement,\n value,\n value,\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xHeight\":\n hydrateAttribute(\n domElement,\n value,\n \"x-height\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkActuate\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:actuate\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkArcrole\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:arcrole\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkRole\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:role\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkShow\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:show\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkTitle\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:title\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xlinkType\":\n hydrateAttribute(\n domElement,\n value,\n \"xlink:type\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xmlBase\":\n hydrateAttribute(\n domElement,\n value,\n \"xml:base\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xmlLang\":\n hydrateAttribute(\n domElement,\n value,\n \"xml:lang\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"xmlSpace\":\n hydrateAttribute(\n domElement,\n value,\n \"xml:space\",\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n case \"inert\":\n \"\" !== propKey ||\n didWarnForNewBooleanPropsWithEmptyValue[value] ||\n ((didWarnForNewBooleanPropsWithEmptyValue[value] = !0),\n console.error(\n \"Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.\",\n value\n ));\n hydrateBooleanAttribute(\n domElement,\n value,\n value,\n propKey,\n extraAttributes,\n serverDifferences\n );\n continue;\n default:\n if (\n !(2 < value.length) ||\n (\"o\" !== value[0] && \"O\" !== value[0]) ||\n (\"n\" !== value[1] && \"N\" !== value[1])\n ) {\n i = getAttributeAlias(value);\n attributes = !1;\n hostContext.context === HostContextNamespaceNone &&\n \"svg\" !== tag &&\n \"math\" !== tag\n ? extraAttributes.delete(i.toLowerCase())\n : ((attributeName = value.toLowerCase()),\n (attributeName = possibleStandardNames.hasOwnProperty(\n attributeName\n )\n ? possibleStandardNames[attributeName] || null\n : null),\n null !== attributeName &&\n attributeName !== value &&\n ((attributes = !0),\n extraAttributes.delete(attributeName)),\n extraAttributes.delete(i));\n a: if (\n ((attributeName = domElement),\n (serverDifferences$jscomp$0 = i),\n (i = propKey),\n isAttributeNameSafe(serverDifferences$jscomp$0))\n )\n if (\n attributeName.hasAttribute(serverDifferences$jscomp$0)\n )\n (attributeName = attributeName.getAttribute(\n serverDifferences$jscomp$0\n )),\n checkAttributeStringCoercion(\n i,\n serverDifferences$jscomp$0\n ),\n (i = attributeName === \"\" + i ? i : attributeName);\n else {\n switch (typeof i) {\n case \"function\":\n case \"symbol\":\n break a;\n case \"boolean\":\n if (\n ((attributeName = serverDifferences$jscomp$0\n .toLowerCase()\n .slice(0, 5)),\n \"data-\" !== attributeName &&\n \"aria-\" !== attributeName)\n )\n break a;\n }\n i = void 0 === i ? void 0 : null;\n }\n else i = void 0;\n attributes ||\n warnForPropDifference(\n value,\n i,\n propKey,\n serverDifferences\n );\n }\n }\n 0 < extraAttributes.size &&\n !0 !== props.suppressHydrationWarning &&\n warnForExtraAttributes(domElement, extraAttributes, serverDifferences);\n return 0 === Object.keys(serverDifferences).length\n ? null\n : serverDifferences;\n }\n function propNamesListJoin(list, combinator) {\n switch (list.length) {\n case 0:\n return \"\";\n case 1:\n return list[0];\n case 2:\n return list[0] + \" \" + combinator + \" \" + list[1];\n default:\n return (\n list.slice(0, -1).join(\", \") +\n \", \" +\n combinator +\n \" \" +\n list[list.length - 1]\n );\n }\n }\n function getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n }\n function getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case SVG_NAMESPACE:\n return HostContextNamespaceSvg;\n case MATH_NAMESPACE:\n return HostContextNamespaceMath;\n default:\n return HostContextNamespaceNone;\n }\n }\n function getChildHostContextProd(parentNamespace, type) {\n if (parentNamespace === HostContextNamespaceNone)\n switch (type) {\n case \"svg\":\n return HostContextNamespaceSvg;\n case \"math\":\n return HostContextNamespaceMath;\n default:\n return HostContextNamespaceNone;\n }\n return parentNamespace === HostContextNamespaceSvg &&\n \"foreignObject\" === type\n ? HostContextNamespaceNone\n : parentNamespace;\n }\n function shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n }\n function shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n }\n function handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n }\n function commitMount(domElement, type, newProps) {\n switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n newProps.autoFocus && domElement.focus();\n break;\n case \"img\":\n newProps.src\n ? (domElement.src = newProps.src)\n : newProps.srcSet && (domElement.srcset = newProps.srcSet);\n }\n }\n function commitUpdate(domElement, type, oldProps, newProps) {\n updateProperties(domElement, type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n }\n function resetTextContent(domElement) {\n setTextContent(domElement, \"\");\n }\n function commitTextUpdate(textInstance, oldText, newText) {\n textInstance.nodeValue = newText;\n }\n function isSingletonScope(type) {\n return \"head\" === type;\n }\n function removeChild(parentInstance, child) {\n parentInstance.removeChild(child);\n }\n function removeChildFromContainer(container, child) {\n (9 === container.nodeType\n ? container.body\n : \"HTML\" === container.nodeName\n ? container.ownerDocument.body\n : container\n ).removeChild(child);\n }\n function clearSuspenseBoundary(parentInstance, suspenseInstance) {\n var node = suspenseInstance,\n possiblePreambleContribution = 0,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), node === SUSPENSE_END_DATA)) {\n if (\n 0 < possiblePreambleContribution &&\n 8 > possiblePreambleContribution\n ) {\n node = possiblePreambleContribution;\n var ownerDocument = parentInstance.ownerDocument;\n node & PREAMBLE_CONTRIBUTION_HTML &&\n releaseSingletonInstance(ownerDocument.documentElement);\n node & PREAMBLE_CONTRIBUTION_BODY &&\n releaseSingletonInstance(ownerDocument.body);\n if (node & PREAMBLE_CONTRIBUTION_HEAD)\n for (\n node = ownerDocument.head,\n releaseSingletonInstance(node),\n ownerDocument = node.firstChild;\n ownerDocument;\n\n ) {\n var nextNode$jscomp$0 = ownerDocument.nextSibling,\n nodeName = ownerDocument.nodeName;\n ownerDocument[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === ownerDocument.rel.toLowerCase()) ||\n node.removeChild(ownerDocument);\n ownerDocument = nextNode$jscomp$0;\n }\n }\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(suspenseInstance);\n return;\n }\n depth--;\n } else\n node === SUSPENSE_START_DATA ||\n node === SUSPENSE_PENDING_START_DATA ||\n node === SUSPENSE_FALLBACK_START_DATA\n ? depth++\n : (possiblePreambleContribution = node.charCodeAt(0) - 48);\n else possiblePreambleContribution = 0;\n node = nextNode;\n } while (node);\n retryIfBlockedOn(suspenseInstance);\n }\n function hideInstance(instance) {\n instance = instance.style;\n \"function\" === typeof instance.setProperty\n ? instance.setProperty(\"display\", \"none\", \"important\")\n : (instance.display = \"none\");\n }\n function hideTextInstance(textInstance) {\n textInstance.nodeValue = \"\";\n }\n function unhideInstance(instance, props) {\n props = props[STYLE];\n props =\n void 0 !== props && null !== props && props.hasOwnProperty(\"display\")\n ? props.display\n : null;\n instance.style.display =\n null == props || \"boolean\" === typeof props ? \"\" : (\"\" + props).trim();\n }\n function unhideTextInstance(textInstance, text) {\n textInstance.nodeValue = text;\n }\n function clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n }\n function canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n checkAttributeStringCoercion(anyProps.name, \"name\");\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\n \"stylesheet\" === name &&\n instance.hasAttribute(\"data-precedence\")\n )\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin\n ? null\n : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin\n ? null\n : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n }\n function canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n }\n function isSuspenseInstanceFallback(instance) {\n return (\n instance.data === SUSPENSE_FALLBACK_START_DATA ||\n (instance.data === SUSPENSE_PENDING_START_DATA &&\n instance.ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE)\n );\n }\n function registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\n instance.data !== SUSPENSE_PENDING_START_DATA ||\n ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE\n )\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n }\n function getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n nodeType === SUSPENSE_START_DATA ||\n nodeType === SUSPENSE_FALLBACK_START_DATA ||\n nodeType === SUSPENSE_PENDING_START_DATA ||\n nodeType === FORM_STATE_IS_MATCHING ||\n nodeType === FORM_STATE_IS_NOT_MATCHING\n )\n break;\n if (nodeType === SUSPENSE_END_DATA) return null;\n }\n }\n return node;\n }\n function describeHydratableInstanceForDevWarnings(instance) {\n if (1 === instance.nodeType) {\n for (\n var JSCompiler_temp_const = instance.nodeName.toLowerCase(),\n serverDifferences = {},\n attributes = instance.attributes,\n i = 0;\n i < attributes.length;\n i++\n ) {\n var attr = attributes[i];\n serverDifferences[getPropNameFromAttributeName(attr.name)] =\n \"style\" === attr.name.toLowerCase()\n ? getStylesObjectFromElement(instance)\n : attr.value;\n }\n return { type: JSCompiler_temp_const, props: serverDifferences };\n }\n return 8 === instance.nodeType\n ? { type: \"Suspense\", props: {} }\n : instance.nodeValue;\n }\n function diffHydratedTextForDevWarnings(textInstance, text, parentProps) {\n return null === parentProps ||\n !0 !== parentProps[SUPPRESS_HYDRATION_WARNING]\n ? (textInstance.nodeValue === text\n ? (textInstance = null)\n : ((text = normalizeMarkupForTextOrAttribute(text)),\n (textInstance =\n normalizeMarkupForTextOrAttribute(textInstance.nodeValue) ===\n text\n ? null\n : textInstance.nodeValue)),\n textInstance)\n : null;\n }\n function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\n suspenseInstance = suspenseInstance.nextSibling;\n for (var depth = 0; suspenseInstance; ) {\n if (8 === suspenseInstance.nodeType) {\n var data = suspenseInstance.data;\n if (data === SUSPENSE_END_DATA) {\n if (0 === depth)\n return getNextHydratable(suspenseInstance.nextSibling);\n depth--;\n } else\n (data !== SUSPENSE_START_DATA &&\n data !== SUSPENSE_FALLBACK_START_DATA &&\n data !== SUSPENSE_PENDING_START_DATA) ||\n depth++;\n }\n suspenseInstance = suspenseInstance.nextSibling;\n }\n return null;\n }\n function getParentSuspenseInstance(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\n data === SUSPENSE_START_DATA ||\n data === SUSPENSE_FALLBACK_START_DATA ||\n data === SUSPENSE_PENDING_START_DATA\n ) {\n if (0 === depth) return targetInstance;\n depth--;\n } else data === SUSPENSE_END_DATA && depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n }\n function commitHydratedContainer(container) {\n retryIfBlockedOn(container);\n }\n function commitHydratedSuspenseInstance(suspenseInstance) {\n retryIfBlockedOn(suspenseInstance);\n }\n function resolveSingletonInstance(\n type,\n props,\n rootContainerInstance,\n hostContext,\n validateDOMNestingDev\n ) {\n validateDOMNestingDev &&\n validateDOMNesting(type, hostContext.ancestorInfo);\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type)\n throw Error(\n \"React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page.\"\n );\n return type;\n case \"head\":\n type = props.head;\n if (!type)\n throw Error(\n \"React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page.\"\n );\n return type;\n case \"body\":\n type = props.body;\n if (!type)\n throw Error(\n \"React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page.\"\n );\n return type;\n default:\n throw Error(\n \"resolveSingletonInstance was called with an element type that is not supported. This is a bug in React.\"\n );\n }\n }\n function acquireSingletonInstance(\n type,\n props,\n instance,\n internalInstanceHandle\n ) {\n if (\n !instance[internalContainerInstanceKey] &&\n getInstanceFromNode(instance)\n ) {\n var tagName = instance.tagName.toLowerCase();\n console.error(\n \"You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.\",\n tagName,\n tagName,\n tagName\n );\n }\n switch (type) {\n case \"html\":\n case \"head\":\n case \"body\":\n break;\n default:\n console.error(\n \"acquireSingletonInstance was called with an element type that is not supported. This is a bug in React.\"\n );\n }\n for (tagName = instance.attributes; tagName.length; )\n instance.removeAttributeNode(tagName[0]);\n setInitialProperties(instance, type, props);\n instance[internalInstanceKey] = internalInstanceHandle;\n instance[internalPropsKey] = props;\n }\n function releaseSingletonInstance(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n }\n function getHoistableRoot(container) {\n return \"function\" === typeof container.getRootNode\n ? container.getRootNode()\n : 9 === container.nodeType\n ? container\n : container.ownerDocument;\n }\n function preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n }\n function getResource(type, currentProps, pendingProps, currentResource) {\n var resourceRoot = (resourceRoot = rootInstanceStackCursor.current)\n ? getHoistableRoot(resourceRoot)\n : null;\n if (!resourceRoot)\n throw Error(\n '\"resourceRoot\" was expected to exist. This is a bug in React.'\n );\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((pendingProps = getStyleKey(pendingProps.href)),\n (currentProps =\n getResourcesFromRoot(resourceRoot).hoistableStyles),\n (currentResource = currentProps.get(pendingProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n currentProps.set(pendingProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles,\n _resource = _styles.get(type);\n if (\n !_resource &&\n ((resourceRoot = resourceRoot.ownerDocument || resourceRoot),\n (_resource = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: NotLoaded, preload: null }\n }),\n _styles.set(type, _resource),\n (_styles = resourceRoot.querySelector(\n getStylesheetSelectorFromKey(type)\n )) &&\n !_styles._p &&\n ((_resource.instance = _styles),\n (_resource.state.loading = Loaded | Inserted)),\n !preloadPropsMap.has(type))\n ) {\n var preloadProps = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n };\n preloadPropsMap.set(type, preloadProps);\n _styles ||\n preloadStylesheet(\n resourceRoot,\n type,\n preloadProps,\n _resource.state\n );\n }\n if (currentProps && null === currentResource)\n throw (\n ((pendingProps =\n \"\\n\\n - \" +\n describeLinkForResourceErrorDEV(currentProps) +\n \"\\n + \" +\n describeLinkForResourceErrorDEV(pendingProps)),\n Error(\n \"Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key.\" +\n pendingProps\n ))\n );\n return _resource;\n }\n if (currentProps && null !== currentResource)\n throw (\n ((pendingProps =\n \"\\n\\n - \" +\n describeLinkForResourceErrorDEV(currentProps) +\n \"\\n + \" +\n describeLinkForResourceErrorDEV(pendingProps)),\n Error(\n \"Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key.\" +\n pendingProps\n ))\n );\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((pendingProps = getScriptKey(pendingProps)),\n (currentProps =\n getResourcesFromRoot(resourceRoot).hoistableScripts),\n (currentResource = currentProps.get(pendingProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n currentProps.set(pendingProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(\n 'getResource encountered a type it did not expect: \"' +\n type +\n '\". this is a bug in React.'\n );\n }\n }\n function describeLinkForResourceErrorDEV(props) {\n var describedProps = 0,\n description = \"<link\";\n \"string\" === typeof props.rel\n ? (describedProps++, (description += ' rel=\"' + props.rel + '\"'))\n : hasOwnProperty.call(props, \"rel\") &&\n (describedProps++,\n (description +=\n ' rel=\"' +\n (null === props.rel ? \"null\" : \"invalid type \" + typeof props.rel) +\n '\"'));\n \"string\" === typeof props.href\n ? (describedProps++, (description += ' href=\"' + props.href + '\"'))\n : hasOwnProperty.call(props, \"href\") &&\n (describedProps++,\n (description +=\n ' href=\"' +\n (null === props.href\n ? \"null\"\n : \"invalid type \" + typeof props.href) +\n '\"'));\n \"string\" === typeof props.precedence\n ? (describedProps++,\n (description += ' precedence=\"' + props.precedence + '\"'))\n : hasOwnProperty.call(props, \"precedence\") &&\n (describedProps++,\n (description +=\n \" precedence={\" +\n (null === props.precedence\n ? \"null\"\n : \"invalid type \" + typeof props.precedence) +\n \"}\"));\n Object.getOwnPropertyNames(props).length > describedProps &&\n (description += \" ...\");\n return description + \" />\";\n }\n function getStyleKey(href) {\n return (\n 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"'\n );\n }\n function getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n }\n function stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n }\n function preloadStylesheet(ownerDocument, key, preloadProps, state) {\n ownerDocument.querySelector(\n 'link[rel=\"preload\"][as=\"style\"][' + key + \"]\"\n )\n ? (state.loading = Loaded)\n : ((key = ownerDocument.createElement(\"link\")),\n (state.preload = key),\n key.addEventListener(\"load\", function () {\n return (state.loading |= Loaded);\n }),\n key.addEventListener(\"error\", function () {\n return (state.loading |= Errored);\n }),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key));\n }\n function getScriptKey(src) {\n return (\n '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]'\n );\n }\n function getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n }\n function acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"style\");\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var _instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (_instance)\n return (\n (resource.state.loading |= Inserted),\n (resource.instance = _instance),\n markNodeAsHoistable(_instance),\n _instance\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n _instance = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(_instance);\n var linkInstance = _instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(_instance, \"link\", instance);\n resource.state.loading |= Inserted;\n insertStylesheet(_instance, props.precedence, hoistableRoot);\n return (resource.instance = _instance);\n case \"script\":\n _instance = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(_instance)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(_instance)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(\n 'acquireResource encountered a resource type it did not expect: \"' +\n resource.type +\n '\". this is a bug in React.'\n );\n }\n else\n \"stylesheet\" === resource.type &&\n (resource.state.loading & Inserted) === NotLoaded &&\n ((instance = resource.instance),\n (resource.state.loading |= Inserted),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n }\n function insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n }\n function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title &&\n (stylesheetProps.title = preloadProps.title);\n }\n function adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n }\n function getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n node.namespaceURI !== SVG_NAMESPACE\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n }\n function mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n }\n function isHostHoistableType(type, props, hostContext) {\n var outsideHostContainerContext =\n !hostContext.ancestorInfo.containerTagInScope;\n if (\n hostContext.context === HostContextNamespaceSvg ||\n null != props.itemProp\n )\n return (\n !outsideHostContainerContext ||\n null == props.itemProp ||\n (\"meta\" !== type &&\n \"title\" !== type &&\n \"style\" !== type &&\n \"link\" !== type &&\n \"script\" !== type) ||\n console.error(\n \"Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.\",\n type,\n type\n ),\n !1\n );\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n ) {\n outsideHostContainerContext &&\n console.error(\n 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel=\"stylesheet\" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence=\"default\"` and `href=\"some unique resource identifier\"`.'\n );\n break;\n }\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n ) {\n if (\n \"stylesheet\" === props.rel &&\n \"string\" === typeof props.precedence\n ) {\n type = props.href;\n var onError = props.onError,\n disabled = props.disabled;\n hostContext = [];\n props.onLoad && hostContext.push(\"`onLoad`\");\n onError && hostContext.push(\"`onError`\");\n null != disabled && hostContext.push(\"`disabled`\");\n onError = propNamesListJoin(hostContext, \"and\");\n onError += 1 === hostContext.length ? \" prop\" : \" props\";\n disabled =\n 1 === hostContext.length ? \"an \" + onError : \"the \" + onError;\n hostContext.length &&\n console.error(\n 'React encountered a <link rel=\"stylesheet\" href=\"%s\" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.',\n type,\n disabled,\n onError\n );\n }\n outsideHostContainerContext &&\n (\"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n ? console.error(\n \"Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag\"\n )\n : (props.onError || props.onLoad) &&\n console.error(\n \"Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>.\"\n ));\n break;\n }\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.precedence),\n (props = props.disabled),\n \"string\" !== typeof type &&\n outsideHostContainerContext &&\n console.error(\n 'Cannot render a <link rel=\"stylesheet\" /> outside the main document without knowing its precedence. Consider adding precedence=\"default\" or moving it into the root <head> tag.'\n ),\n \"string\" === typeof type && null == props\n );\n default:\n return !0;\n }\n case \"script\":\n type =\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async;\n if (\n !type ||\n props.onLoad ||\n props.onError ||\n !props.src ||\n \"string\" !== typeof props.src\n ) {\n outsideHostContainerContext &&\n (type\n ? props.onLoad || props.onError\n ? console.error(\n \"Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>.\"\n )\n : console.error(\n \"Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>.\"\n )\n : console.error(\n 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async=\"\" or moving it into the root <head> tag.'\n ));\n break;\n }\n return !0;\n case \"noscript\":\n case \"template\":\n outsideHostContainerContext &&\n console.error(\n \"Cannot render <%s> outside the main document. Try moving it into the root <head> tag.\",\n type\n );\n }\n return !1;\n }\n function preloadResource(resource) {\n return \"stylesheet\" === resource.type &&\n (resource.state.loading & Settled) === NotLoaded\n ? !1\n : !0;\n }\n function noop() {}\n function suspendResource(hoistableRoot, resource, props) {\n if (null === suspendedState)\n throw Error(\n \"Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.\"\n );\n var state = suspendedState;\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n (resource.state.loading & Inserted) === NotLoaded\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= Inserted;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n (resource.state.loading & Settled) === NotLoaded &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n }\n function waitForCommitToBeReady() {\n if (null === suspendedState)\n throw Error(\n \"Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug.\"\n );\n var state = suspendedState;\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4);\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n };\n }\n : null;\n }\n function onUnsuspend() {\n this.count--;\n if (0 === this.count)\n if (this.stylesheets)\n insertSuspendedStylesheets(this, this.stylesheets);\n else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n }\n function insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n }\n function insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & Inserted)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(LAST_PRECEDENCE);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(LAST_PRECEDENCE, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(LAST_PRECEDENCE, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= Inserted;\n }\n }\n function FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n ) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = noTimeout;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n this.passiveEffectDuration = this.effectDuration = -0;\n this.memoizedUpdaters = new Set();\n containerInfo = this.pendingUpdatersLaneMap = [];\n for (tag = 0; 31 > tag; tag++) containerInfo.push(new Set());\n this._debugRootType = hydrate ? \"hydrateRoot()\" : \"createRoot()\";\n }\n function createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n ) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n );\n tag = ConcurrentMode;\n !0 === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode);\n isDevToolsPresent && (tag |= ProfileMode);\n isStrictMode = createFiber(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n retainCache(tag);\n containerInfo.pooledCache = tag;\n retainCache(tag);\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n }\n function getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n }\n function updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n ) {\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onScheduleFiberRoot\n )\n try {\n injectedHook.onScheduleFiberRoot(rendererID, container, element);\n } catch (err) {\n hasLoggedError ||\n ((hasLoggedError = !0),\n console.error(\n \"React instrumentation encountered an error: %s\",\n err\n ));\n }\n null !== injectedProfilingHooks &&\n \"function\" === typeof injectedProfilingHooks.markRenderScheduled &&\n injectedProfilingHooks.markRenderScheduled(lane);\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n isRendering &&\n null !== current &&\n !didWarnAboutNestedUpdates &&\n ((didWarnAboutNestedUpdates = !0),\n console.error(\n \"Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\\n\\nCheck the render method of %s.\",\n getComponentNameFromFiber(current) || \"Unknown\"\n ));\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback &&\n (\"function\" !== typeof callback &&\n console.error(\n \"Expected the last optional `callback` argument to be a function. Instead received: %s.\",\n callback\n ),\n (container.callback = callback));\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n }\n function markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n }\n function markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n }\n function attemptContinuousHydration(fiber) {\n if (13 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n }\n function getCurrentFiberForDevTools() {\n return current;\n }\n function getLaneLabelMap() {\n for (var map = new Map(), lane = 1, index = 0; 31 > index; index++) {\n var label = getLabelForLane(lane);\n map.set(lane, label);\n lane *= 2;\n }\n return map;\n }\n function dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n ) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = DiscreteEventPriority),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n ) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = ContinuousEventPriority),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n }\n function dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n ) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n (executionContext & (RenderContext | CommitContext)) ===\n NoContext &&\n ((workInProgressRootRenderTargetTime =\n now$1() + RENDER_TIMEOUT_MS),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n }\n function findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n }\n function findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n }\n function getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return DiscreteEventPriority;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return ContinuousEventPriority;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return DiscreteEventPriority;\n case UserBlockingPriority:\n return ContinuousEventPriority;\n case NormalPriority$1:\n case LowPriority:\n return DefaultEventPriority;\n case IdlePriority:\n return IdleEventPriority;\n default:\n return DefaultEventPriority;\n }\n default:\n return DefaultEventPriority;\n }\n }\n function clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n }\n function accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n ) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n }\n function queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n ) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n }\n function attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n if (13 === nearestMounted.tag) {\n var lane = requestUpdateLane(nearestMounted);\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(\n nearestMounted,\n lane\n );\n null !== root &&\n scheduleUpdateOnFiber(root, nearestMounted, lane);\n markRetryLaneIfNotHydrated(nearestMounted, lane);\n }\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n }\n function attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n ),\n event = nativeEventClone;\n null !== currentReplayingEvent &&\n console.error(\n \"Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue.\"\n );\n currentReplayingEvent = event;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n null === currentReplayingEvent &&\n console.error(\n \"Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue.\"\n );\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n }\n function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n }\n function replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n }\n function scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n }\n function scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (\n null === findInstanceBlockingTarget(submitterOrAction || form)\n )\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n (form = {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n }),\n Object.freeze(form),\n startHostTransition(\n formInst,\n form,\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n }\n function retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus &&\n scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse &&\n scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (\n submitterOrAction &&\n submitterOrAction.hasAttribute(\"formAction\")\n )\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n }\n function ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n }\n function ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n }\n function warnIfReactDOMContainerInDEV(container) {\n container[internalContainerInstanceKey] &&\n (container._reactRootContainer\n ? console.error(\n \"You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported.\"\n )\n : console.error(\n \"You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it.\"\n ));\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\"),\n assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\n Symbol.for(\"react.scope\");\n var REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\n Symbol.for(\"react.legacy_hidden\");\n Symbol.for(\"react.tracing_marker\");\n var REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\n Symbol.for(\"react.view_transition\");\n var MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n NotPending = Object.freeze({\n pending: !1,\n data: null,\n method: null,\n action: null\n }),\n valueStack = [];\n var fiberStack = [];\n var index$jscomp$0 = -1,\n contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null),\n hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now$1 = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null,\n injectedProfilingHooks = null,\n hasLoggedError = !1,\n isDevToolsPresent = \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__,\n clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2,\n nextTransitionLane = 256,\n nextRetryLane = 4194304,\n DiscreteEventPriority = 2,\n ContinuousEventPriority = 8,\n DefaultEventPriority = 32,\n IdleEventPriority = 268435456,\n randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey,\n allNativeEvents = new Set(),\n registrationNameDependencies = {},\n possibleRegistrationNames = {},\n hasReadOnlyValue = {\n button: !0,\n checkbox: !0,\n image: !0,\n hidden: !0,\n radio: !0,\n reset: !0,\n submit: !0\n },\n VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {},\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var current = null,\n isRendering = !1,\n escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g,\n didWarnValueDefaultValue$1 = !1,\n didWarnCheckedDefaultChecked = !1,\n didWarnSelectedSetOnOption = !1,\n didWarnInvalidChild = !1,\n didWarnInvalidInnerHTML = !1;\n var didWarnValueDefaultValue = !1;\n var valuePropNames = [\"value\", \"defaultValue\"],\n didWarnValDefaultVal = !1,\n needsEscaping = /[\"'&<>\\n\\t]|^\\s|\\s$/,\n specialTags =\n \"address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp\".split(\n \" \"\n ),\n inScopeTags =\n \"applet caption html table td th marquee object template foreignObject desc title\".split(\n \" \"\n ),\n buttonScopeTags = inScopeTags.concat([\"button\"]),\n impliedEndTags = \"dd dt li option optgroup p rp rt\".split(\" \"),\n emptyAncestorInfoDev = {\n current: null,\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null,\n containerTagInScope: null,\n implicitRootScope: !1\n },\n didWarn = {},\n shorthandToLonghand = {\n animation:\n \"animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction\".split(\n \" \"\n ),\n background:\n \"backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize\".split(\n \" \"\n ),\n backgroundPosition: [\"backgroundPositionX\", \"backgroundPositionY\"],\n border:\n \"borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth\".split(\n \" \"\n ),\n borderBlockEnd: [\n \"borderBlockEndColor\",\n \"borderBlockEndStyle\",\n \"borderBlockEndWidth\"\n ],\n borderBlockStart: [\n \"borderBlockStartColor\",\n \"borderBlockStartStyle\",\n \"borderBlockStartWidth\"\n ],\n borderBottom: [\n \"borderBottomColor\",\n \"borderBottomStyle\",\n \"borderBottomWidth\"\n ],\n borderColor: [\n \"borderBottomColor\",\n \"borderLeftColor\",\n \"borderRightColor\",\n \"borderTopColor\"\n ],\n borderImage: [\n \"borderImageOutset\",\n \"borderImageRepeat\",\n \"borderImageSlice\",\n \"borderImageSource\",\n \"borderImageWidth\"\n ],\n borderInlineEnd: [\n \"borderInlineEndColor\",\n \"borderInlineEndStyle\",\n \"borderInlineEndWidth\"\n ],\n borderInlineStart: [\n \"borderInlineStartColor\",\n \"borderInlineStartStyle\",\n \"borderInlineStartWidth\"\n ],\n borderLeft: [\"borderLeftColor\", \"borderLeftStyle\", \"borderLeftWidth\"],\n borderRadius: [\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\",\n \"borderTopLeftRadius\",\n \"borderTopRightRadius\"\n ],\n borderRight: [\n \"borderRightColor\",\n \"borderRightStyle\",\n \"borderRightWidth\"\n ],\n borderStyle: [\n \"borderBottomStyle\",\n \"borderLeftStyle\",\n \"borderRightStyle\",\n \"borderTopStyle\"\n ],\n borderTop: [\"borderTopColor\", \"borderTopStyle\", \"borderTopWidth\"],\n borderWidth: [\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\",\n \"borderTopWidth\"\n ],\n columnRule: [\"columnRuleColor\", \"columnRuleStyle\", \"columnRuleWidth\"],\n columns: [\"columnCount\", \"columnWidth\"],\n flex: [\"flexBasis\", \"flexGrow\", \"flexShrink\"],\n flexFlow: [\"flexDirection\", \"flexWrap\"],\n font: \"fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight\".split(\n \" \"\n ),\n fontVariant:\n \"fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition\".split(\n \" \"\n ),\n gap: [\"columnGap\", \"rowGap\"],\n grid: \"gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows\".split(\n \" \"\n ),\n gridArea: [\n \"gridColumnEnd\",\n \"gridColumnStart\",\n \"gridRowEnd\",\n \"gridRowStart\"\n ],\n gridColumn: [\"gridColumnEnd\", \"gridColumnStart\"],\n gridColumnGap: [\"columnGap\"],\n gridGap: [\"columnGap\", \"rowGap\"],\n gridRow: [\"gridRowEnd\", \"gridRowStart\"],\n gridRowGap: [\"rowGap\"],\n gridTemplate: [\n \"gridTemplateAreas\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\"\n ],\n listStyle: [\"listStyleImage\", \"listStylePosition\", \"listStyleType\"],\n margin: [\"marginBottom\", \"marginLeft\", \"marginRight\", \"marginTop\"],\n marker: [\"markerEnd\", \"markerMid\", \"markerStart\"],\n mask: \"maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize\".split(\n \" \"\n ),\n maskPosition: [\"maskPositionX\", \"maskPositionY\"],\n outline: [\"outlineColor\", \"outlineStyle\", \"outlineWidth\"],\n overflow: [\"overflowX\", \"overflowY\"],\n padding: [\"paddingBottom\", \"paddingLeft\", \"paddingRight\", \"paddingTop\"],\n placeContent: [\"alignContent\", \"justifyContent\"],\n placeItems: [\"alignItems\", \"justifyItems\"],\n placeSelf: [\"alignSelf\", \"justifySelf\"],\n textDecoration: [\n \"textDecorationColor\",\n \"textDecorationLine\",\n \"textDecorationStyle\"\n ],\n textEmphasis: [\"textEmphasisColor\", \"textEmphasisStyle\"],\n transition: [\n \"transitionDelay\",\n \"transitionDuration\",\n \"transitionProperty\",\n \"transitionTimingFunction\"\n ],\n wordWrap: [\"overflowWrap\"]\n },\n uppercasePattern = /([A-Z])/g,\n msPattern$1 = /^ms-/,\n badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/,\n msPattern = /^-ms-/,\n hyphenPattern = /-(.)/g,\n badStyleValueWithSemicolonPattern = /;\\s*$/,\n warnedStyleNames = {},\n warnedStyleValues = {},\n warnedForNaNValue = !1,\n warnedForInfinityValue = !1,\n unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n ),\n MATH_NAMESPACE = \"http://www.w3.org/1998/Math/MathML\",\n SVG_NAMESPACE = \"http://www.w3.org/2000/svg\",\n aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n possibleStandardNames = {\n accept: \"accept\",\n acceptcharset: \"acceptCharset\",\n \"accept-charset\": \"acceptCharset\",\n accesskey: \"accessKey\",\n action: \"action\",\n allowfullscreen: \"allowFullScreen\",\n alt: \"alt\",\n as: \"as\",\n async: \"async\",\n autocapitalize: \"autoCapitalize\",\n autocomplete: \"autoComplete\",\n autocorrect: \"autoCorrect\",\n autofocus: \"autoFocus\",\n autoplay: \"autoPlay\",\n autosave: \"autoSave\",\n capture: \"capture\",\n cellpadding: \"cellPadding\",\n cellspacing: \"cellSpacing\",\n challenge: \"challenge\",\n charset: \"charSet\",\n checked: \"checked\",\n children: \"children\",\n cite: \"cite\",\n class: \"className\",\n classid: \"classID\",\n classname: \"className\",\n cols: \"cols\",\n colspan: \"colSpan\",\n content: \"content\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n controls: \"controls\",\n controlslist: \"controlsList\",\n coords: \"coords\",\n crossorigin: \"crossOrigin\",\n dangerouslysetinnerhtml: \"dangerouslySetInnerHTML\",\n data: \"data\",\n datetime: \"dateTime\",\n default: \"default\",\n defaultchecked: \"defaultChecked\",\n defaultvalue: \"defaultValue\",\n defer: \"defer\",\n dir: \"dir\",\n disabled: \"disabled\",\n disablepictureinpicture: \"disablePictureInPicture\",\n disableremoteplayback: \"disableRemotePlayback\",\n download: \"download\",\n draggable: \"draggable\",\n enctype: \"encType\",\n enterkeyhint: \"enterKeyHint\",\n fetchpriority: \"fetchPriority\",\n for: \"htmlFor\",\n form: \"form\",\n formmethod: \"formMethod\",\n formaction: \"formAction\",\n formenctype: \"formEncType\",\n formnovalidate: \"formNoValidate\",\n formtarget: \"formTarget\",\n frameborder: \"frameBorder\",\n headers: \"headers\",\n height: \"height\",\n hidden: \"hidden\",\n high: \"high\",\n href: \"href\",\n hreflang: \"hrefLang\",\n htmlfor: \"htmlFor\",\n httpequiv: \"httpEquiv\",\n \"http-equiv\": \"httpEquiv\",\n icon: \"icon\",\n id: \"id\",\n imagesizes: \"imageSizes\",\n imagesrcset: \"imageSrcSet\",\n inert: \"inert\",\n innerhtml: \"innerHTML\",\n inputmode: \"inputMode\",\n integrity: \"integrity\",\n is: \"is\",\n itemid: \"itemID\",\n itemprop: \"itemProp\",\n itemref: \"itemRef\",\n itemscope: \"itemScope\",\n itemtype: \"itemType\",\n keyparams: \"keyParams\",\n keytype: \"keyType\",\n kind: \"kind\",\n label: \"label\",\n lang: \"lang\",\n list: \"list\",\n loop: \"loop\",\n low: \"low\",\n manifest: \"manifest\",\n marginwidth: \"marginWidth\",\n marginheight: \"marginHeight\",\n max: \"max\",\n maxlength: \"maxLength\",\n media: \"media\",\n mediagroup: \"mediaGroup\",\n method: \"method\",\n min: \"min\",\n minlength: \"minLength\",\n multiple: \"multiple\",\n muted: \"muted\",\n name: \"name\",\n nomodule: \"noModule\",\n nonce: \"nonce\",\n novalidate: \"noValidate\",\n open: \"open\",\n optimum: \"optimum\",\n pattern: \"pattern\",\n placeholder: \"placeholder\",\n playsinline: \"playsInline\",\n poster: \"poster\",\n preload: \"preload\",\n profile: \"profile\",\n radiogroup: \"radioGroup\",\n readonly: \"readOnly\",\n referrerpolicy: \"referrerPolicy\",\n rel: \"rel\",\n required: \"required\",\n reversed: \"reversed\",\n role: \"role\",\n rows: \"rows\",\n rowspan: \"rowSpan\",\n sandbox: \"sandbox\",\n scope: \"scope\",\n scoped: \"scoped\",\n scrolling: \"scrolling\",\n seamless: \"seamless\",\n selected: \"selected\",\n shape: \"shape\",\n size: \"size\",\n sizes: \"sizes\",\n span: \"span\",\n spellcheck: \"spellCheck\",\n src: \"src\",\n srcdoc: \"srcDoc\",\n srclang: \"srcLang\",\n srcset: \"srcSet\",\n start: \"start\",\n step: \"step\",\n style: \"style\",\n summary: \"summary\",\n tabindex: \"tabIndex\",\n target: \"target\",\n title: \"title\",\n type: \"type\",\n usemap: \"useMap\",\n value: \"value\",\n width: \"width\",\n wmode: \"wmode\",\n wrap: \"wrap\",\n about: \"about\",\n accentheight: \"accentHeight\",\n \"accent-height\": \"accentHeight\",\n accumulate: \"accumulate\",\n additive: \"additive\",\n alignmentbaseline: \"alignmentBaseline\",\n \"alignment-baseline\": \"alignmentBaseline\",\n allowreorder: \"allowReorder\",\n alphabetic: \"alphabetic\",\n amplitude: \"amplitude\",\n arabicform: \"arabicForm\",\n \"arabic-form\": \"arabicForm\",\n ascent: \"ascent\",\n attributename: \"attributeName\",\n attributetype: \"attributeType\",\n autoreverse: \"autoReverse\",\n azimuth: \"azimuth\",\n basefrequency: \"baseFrequency\",\n baselineshift: \"baselineShift\",\n \"baseline-shift\": \"baselineShift\",\n baseprofile: \"baseProfile\",\n bbox: \"bbox\",\n begin: \"begin\",\n bias: \"bias\",\n by: \"by\",\n calcmode: \"calcMode\",\n capheight: \"capHeight\",\n \"cap-height\": \"capHeight\",\n clip: \"clip\",\n clippath: \"clipPath\",\n \"clip-path\": \"clipPath\",\n clippathunits: \"clipPathUnits\",\n cliprule: \"clipRule\",\n \"clip-rule\": \"clipRule\",\n color: \"color\",\n colorinterpolation: \"colorInterpolation\",\n \"color-interpolation\": \"colorInterpolation\",\n colorinterpolationfilters: \"colorInterpolationFilters\",\n \"color-interpolation-filters\": \"colorInterpolationFilters\",\n colorprofile: \"colorProfile\",\n \"color-profile\": \"colorProfile\",\n colorrendering: \"colorRendering\",\n \"color-rendering\": \"colorRendering\",\n contentscripttype: \"contentScriptType\",\n contentstyletype: \"contentStyleType\",\n cursor: \"cursor\",\n cx: \"cx\",\n cy: \"cy\",\n d: \"d\",\n datatype: \"datatype\",\n decelerate: \"decelerate\",\n descent: \"descent\",\n diffuseconstant: \"diffuseConstant\",\n direction: \"direction\",\n display: \"display\",\n divisor: \"divisor\",\n dominantbaseline: \"dominantBaseline\",\n \"dominant-baseline\": \"dominantBaseline\",\n dur: \"dur\",\n dx: \"dx\",\n dy: \"dy\",\n edgemode: \"edgeMode\",\n elevation: \"elevation\",\n enablebackground: \"enableBackground\",\n \"enable-background\": \"enableBackground\",\n end: \"end\",\n exponent: \"exponent\",\n externalresourcesrequired: \"externalResourcesRequired\",\n fill: \"fill\",\n fillopacity: \"fillOpacity\",\n \"fill-opacity\": \"fillOpacity\",\n fillrule: \"fillRule\",\n \"fill-rule\": \"fillRule\",\n filter: \"filter\",\n filterres: \"filterRes\",\n filterunits: \"filterUnits\",\n floodopacity: \"floodOpacity\",\n \"flood-opacity\": \"floodOpacity\",\n floodcolor: \"floodColor\",\n \"flood-color\": \"floodColor\",\n focusable: \"focusable\",\n fontfamily: \"fontFamily\",\n \"font-family\": \"fontFamily\",\n fontsize: \"fontSize\",\n \"font-size\": \"fontSize\",\n fontsizeadjust: \"fontSizeAdjust\",\n \"font-size-adjust\": \"fontSizeAdjust\",\n fontstretch: \"fontStretch\",\n \"font-stretch\": \"fontStretch\",\n fontstyle: \"fontStyle\",\n \"font-style\": \"fontStyle\",\n fontvariant: \"fontVariant\",\n \"font-variant\": \"fontVariant\",\n fontweight: \"fontWeight\",\n \"font-weight\": \"fontWeight\",\n format: \"format\",\n from: \"from\",\n fx: \"fx\",\n fy: \"fy\",\n g1: \"g1\",\n g2: \"g2\",\n glyphname: \"glyphName\",\n \"glyph-name\": \"glyphName\",\n glyphorientationhorizontal: \"glyphOrientationHorizontal\",\n \"glyph-orientation-horizontal\": \"glyphOrientationHorizontal\",\n glyphorientationvertical: \"glyphOrientationVertical\",\n \"glyph-orientation-vertical\": \"glyphOrientationVertical\",\n glyphref: \"glyphRef\",\n gradienttransform: \"gradientTransform\",\n gradientunits: \"gradientUnits\",\n hanging: \"hanging\",\n horizadvx: \"horizAdvX\",\n \"horiz-adv-x\": \"horizAdvX\",\n horizoriginx: \"horizOriginX\",\n \"horiz-origin-x\": \"horizOriginX\",\n ideographic: \"ideographic\",\n imagerendering: \"imageRendering\",\n \"image-rendering\": \"imageRendering\",\n in2: \"in2\",\n in: \"in\",\n inlist: \"inlist\",\n intercept: \"intercept\",\n k1: \"k1\",\n k2: \"k2\",\n k3: \"k3\",\n k4: \"k4\",\n k: \"k\",\n kernelmatrix: \"kernelMatrix\",\n kernelunitlength: \"kernelUnitLength\",\n kerning: \"kerning\",\n keypoints: \"keyPoints\",\n keysplines: \"keySplines\",\n keytimes: \"keyTimes\",\n lengthadjust: \"lengthAdjust\",\n letterspacing: \"letterSpacing\",\n \"letter-spacing\": \"letterSpacing\",\n lightingcolor: \"lightingColor\",\n \"lighting-color\": \"lightingColor\",\n limitingconeangle: \"limitingConeAngle\",\n local: \"local\",\n markerend: \"markerEnd\",\n \"marker-end\": \"markerEnd\",\n markerheight: \"markerHeight\",\n markermid: \"markerMid\",\n \"marker-mid\": \"markerMid\",\n markerstart: \"markerStart\",\n \"marker-start\": \"markerStart\",\n markerunits: \"markerUnits\",\n markerwidth: \"markerWidth\",\n mask: \"mask\",\n maskcontentunits: \"maskContentUnits\",\n maskunits: \"maskUnits\",\n mathematical: \"mathematical\",\n mode: \"mode\",\n numoctaves: \"numOctaves\",\n offset: \"offset\",\n opacity: \"opacity\",\n operator: \"operator\",\n order: \"order\",\n orient: \"orient\",\n orientation: \"orientation\",\n origin: \"origin\",\n overflow: \"overflow\",\n overlineposition: \"overlinePosition\",\n \"overline-position\": \"overlinePosition\",\n overlinethickness: \"overlineThickness\",\n \"overline-thickness\": \"overlineThickness\",\n paintorder: \"paintOrder\",\n \"paint-order\": \"paintOrder\",\n panose1: \"panose1\",\n \"panose-1\": \"panose1\",\n pathlength: \"pathLength\",\n patterncontentunits: \"patternContentUnits\",\n patterntransform: \"patternTransform\",\n patternunits: \"patternUnits\",\n pointerevents: \"pointerEvents\",\n \"pointer-events\": \"pointerEvents\",\n points: \"points\",\n pointsatx: \"pointsAtX\",\n pointsaty: \"pointsAtY\",\n pointsatz: \"pointsAtZ\",\n popover: \"popover\",\n popovertarget: \"popoverTarget\",\n popovertargetaction: \"popoverTargetAction\",\n prefix: \"prefix\",\n preservealpha: \"preserveAlpha\",\n preserveaspectratio: \"preserveAspectRatio\",\n primitiveunits: \"primitiveUnits\",\n property: \"property\",\n r: \"r\",\n radius: \"radius\",\n refx: \"refX\",\n refy: \"refY\",\n renderingintent: \"renderingIntent\",\n \"rendering-intent\": \"renderingIntent\",\n repeatcount: \"repeatCount\",\n repeatdur: \"repeatDur\",\n requiredextensions: \"requiredExtensions\",\n requiredfeatures: \"requiredFeatures\",\n resource: \"resource\",\n restart: \"restart\",\n result: \"result\",\n results: \"results\",\n rotate: \"rotate\",\n rx: \"rx\",\n ry: \"ry\",\n scale: \"scale\",\n security: \"security\",\n seed: \"seed\",\n shaperendering: \"shapeRendering\",\n \"shape-rendering\": \"shapeRendering\",\n slope: \"slope\",\n spacing: \"spacing\",\n specularconstant: \"specularConstant\",\n specularexponent: \"specularExponent\",\n speed: \"speed\",\n spreadmethod: \"spreadMethod\",\n startoffset: \"startOffset\",\n stddeviation: \"stdDeviation\",\n stemh: \"stemh\",\n stemv: \"stemv\",\n stitchtiles: \"stitchTiles\",\n stopcolor: \"stopColor\",\n \"stop-color\": \"stopColor\",\n stopopacity: \"stopOpacity\",\n \"stop-opacity\": \"stopOpacity\",\n strikethroughposition: \"strikethroughPosition\",\n \"strikethrough-position\": \"strikethroughPosition\",\n strikethroughthickness: \"strikethroughThickness\",\n \"strikethrough-thickness\": \"strikethroughThickness\",\n string: \"string\",\n stroke: \"stroke\",\n strokedasharray: \"strokeDasharray\",\n \"stroke-dasharray\": \"strokeDasharray\",\n strokedashoffset: \"strokeDashoffset\",\n \"stroke-dashoffset\": \"strokeDashoffset\",\n strokelinecap: \"strokeLinecap\",\n \"stroke-linecap\": \"strokeLinecap\",\n strokelinejoin: \"strokeLinejoin\",\n \"stroke-linejoin\": \"strokeLinejoin\",\n strokemiterlimit: \"strokeMiterlimit\",\n \"stroke-miterlimit\": \"strokeMiterlimit\",\n strokewidth: \"strokeWidth\",\n \"stroke-width\": \"strokeWidth\",\n strokeopacity: \"strokeOpacity\",\n \"stroke-opacity\": \"strokeOpacity\",\n suppresscontenteditablewarning: \"suppressContentEditableWarning\",\n suppresshydrationwarning: \"suppressHydrationWarning\",\n surfacescale: \"surfaceScale\",\n systemlanguage: \"systemLanguage\",\n tablevalues: \"tableValues\",\n targetx: \"targetX\",\n targety: \"targetY\",\n textanchor: \"textAnchor\",\n \"text-anchor\": \"textAnchor\",\n textdecoration: \"textDecoration\",\n \"text-decoration\": \"textDecoration\",\n textlength: \"textLength\",\n textrendering: \"textRendering\",\n \"text-rendering\": \"textRendering\",\n to: \"to\",\n transform: \"transform\",\n transformorigin: \"transformOrigin\",\n \"transform-origin\": \"transformOrigin\",\n typeof: \"typeof\",\n u1: \"u1\",\n u2: \"u2\",\n underlineposition: \"underlinePosition\",\n \"underline-position\": \"underlinePosition\",\n underlinethickness: \"underlineThickness\",\n \"underline-thickness\": \"underlineThickness\",\n unicode: \"unicode\",\n unicodebidi: \"unicodeBidi\",\n \"unicode-bidi\": \"unicodeBidi\",\n unicoderange: \"unicodeRange\",\n \"unicode-range\": \"unicodeRange\",\n unitsperem: \"unitsPerEm\",\n \"units-per-em\": \"unitsPerEm\",\n unselectable: \"unselectable\",\n valphabetic: \"vAlphabetic\",\n \"v-alphabetic\": \"vAlphabetic\",\n values: \"values\",\n vectoreffect: \"vectorEffect\",\n \"vector-effect\": \"vectorEffect\",\n version: \"version\",\n vertadvy: \"vertAdvY\",\n \"vert-adv-y\": \"vertAdvY\",\n vertoriginx: \"vertOriginX\",\n \"vert-origin-x\": \"vertOriginX\",\n vertoriginy: \"vertOriginY\",\n \"vert-origin-y\": \"vertOriginY\",\n vhanging: \"vHanging\",\n \"v-hanging\": \"vHanging\",\n videographic: \"vIdeographic\",\n \"v-ideographic\": \"vIdeographic\",\n viewbox: \"viewBox\",\n viewtarget: \"viewTarget\",\n visibility: \"visibility\",\n vmathematical: \"vMathematical\",\n \"v-mathematical\": \"vMathematical\",\n vocab: \"vocab\",\n widths: \"widths\",\n wordspacing: \"wordSpacing\",\n \"word-spacing\": \"wordSpacing\",\n writingmode: \"writingMode\",\n \"writing-mode\": \"writingMode\",\n x1: \"x1\",\n x2: \"x2\",\n x: \"x\",\n xchannelselector: \"xChannelSelector\",\n xheight: \"xHeight\",\n \"x-height\": \"xHeight\",\n xlinkactuate: \"xlinkActuate\",\n \"xlink:actuate\": \"xlinkActuate\",\n xlinkarcrole: \"xlinkArcrole\",\n \"xlink:arcrole\": \"xlinkArcrole\",\n xlinkhref: \"xlinkHref\",\n \"xlink:href\": \"xlinkHref\",\n xlinkrole: \"xlinkRole\",\n \"xlink:role\": \"xlinkRole\",\n xlinkshow: \"xlinkShow\",\n \"xlink:show\": \"xlinkShow\",\n xlinktitle: \"xlinkTitle\",\n \"xlink:title\": \"xlinkTitle\",\n xlinktype: \"xlinkType\",\n \"xlink:type\": \"xlinkType\",\n xmlbase: \"xmlBase\",\n \"xml:base\": \"xmlBase\",\n xmllang: \"xmlLang\",\n \"xml:lang\": \"xmlLang\",\n xmlns: \"xmlns\",\n \"xml:space\": \"xmlSpace\",\n xmlnsxlink: \"xmlnsXlink\",\n \"xmlns:xlink\": \"xmlnsXlink\",\n xmlspace: \"xmlSpace\",\n y1: \"y1\",\n y2: \"y2\",\n y: \"y\",\n ychannelselector: \"yChannelSelector\",\n z: \"z\",\n zoomandpan: \"zoomAndPan\"\n },\n ariaProperties = {\n \"aria-current\": 0,\n \"aria-description\": 0,\n \"aria-details\": 0,\n \"aria-disabled\": 0,\n \"aria-hidden\": 0,\n \"aria-invalid\": 0,\n \"aria-keyshortcuts\": 0,\n \"aria-label\": 0,\n \"aria-roledescription\": 0,\n \"aria-autocomplete\": 0,\n \"aria-checked\": 0,\n \"aria-expanded\": 0,\n \"aria-haspopup\": 0,\n \"aria-level\": 0,\n \"aria-modal\": 0,\n \"aria-multiline\": 0,\n \"aria-multiselectable\": 0,\n \"aria-orientation\": 0,\n \"aria-placeholder\": 0,\n \"aria-pressed\": 0,\n \"aria-readonly\": 0,\n \"aria-required\": 0,\n \"aria-selected\": 0,\n \"aria-sort\": 0,\n \"aria-valuemax\": 0,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": 0,\n \"aria-valuetext\": 0,\n \"aria-atomic\": 0,\n \"aria-busy\": 0,\n \"aria-live\": 0,\n \"aria-relevant\": 0,\n \"aria-dropeffect\": 0,\n \"aria-grabbed\": 0,\n \"aria-activedescendant\": 0,\n \"aria-colcount\": 0,\n \"aria-colindex\": 0,\n \"aria-colspan\": 0,\n \"aria-controls\": 0,\n \"aria-describedby\": 0,\n \"aria-errormessage\": 0,\n \"aria-flowto\": 0,\n \"aria-labelledby\": 0,\n \"aria-owns\": 0,\n \"aria-posinset\": 0,\n \"aria-rowcount\": 0,\n \"aria-rowindex\": 0,\n \"aria-rowspan\": 0,\n \"aria-setsize\": 0\n },\n warnedProperties$1 = {},\n rARIA$1 = RegExp(\n \"^(aria)-[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n rARIACamel$1 = RegExp(\n \"^(aria)[A-Z][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n didWarnValueNull = !1,\n warnedProperties = {},\n EVENT_NAME_REGEX = /^on./,\n INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/,\n rARIA = RegExp(\n \"^(aria)-[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n rARIACamel = RegExp(\n \"^(aria)[A-Z][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i,\n currentReplayingEvent = null,\n restoreTarget = null,\n restoreQueue = null,\n isInsideEventHandler = !1,\n canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\n if (canUseDOM)\n try {\n var options$jscomp$0 = {};\n Object.defineProperty(options$jscomp$0, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options$jscomp$0, options$jscomp$0);\n window.removeEventListener(\"test\", options$jscomp$0, options$jscomp$0);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\n var root = null,\n startText = null,\n fallbackText = null,\n EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(\n CompositionEventInterface\n ),\n SyntheticInputEvent = SyntheticCompositionEvent,\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n },\n KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n START_KEYCODE = 229,\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\n canUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\n var canUseTextInputEvent =\n canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CODE = 32,\n SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE),\n hasSpaceKeypress = !1,\n isComposing = !1,\n supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n },\n activeElement$1 = null,\n activeElementInst$1 = null,\n isInputEventSupported = !1;\n canUseDOM &&\n (isInputEventSupported =\n isEventSupported(\"input\") &&\n (!document.documentMode || 9 < document.documentMode));\n var objectIs = \"function\" === typeof Object.is ? Object.is : is,\n skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1,\n vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\n canUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\n var ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\n simpleEventPluginEvents.push(\"scrollEnd\");\n var CapturedStacks = new WeakMap(),\n OffscreenVisible = 1,\n OffscreenPassiveEffectsConnected = 2,\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0,\n emptyContextObject = {};\n Object.freeze(emptyContextObject);\n var resolveFamily = null,\n failedBoundaries = null,\n NoMode = 0,\n ConcurrentMode = 1,\n ProfileMode = 2,\n StrictLegacyMode = 8,\n StrictEffectsMode = 16,\n NoStrictPassiveEffectsMode = 64;\n var hasBadMapPolyfill = !1;\n try {\n var nonExtensibleObject = Object.preventExtensions({});\n new Map([[nonExtensibleObject, null]]);\n new Set([nonExtensibleObject]);\n } catch (e$3) {\n hasBadMapPolyfill = !0;\n }\n var forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\",\n hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n didSuspendOrErrorDEV = !1,\n hydrationDiffRootDEV = null,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(\n \"Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\"\n ),\n lastResetTime = 0;\n if (\n \"object\" === typeof performance &&\n \"function\" === typeof performance.now\n ) {\n var localPerformance = performance;\n var getCurrentTime = function () {\n return localPerformance.now();\n };\n } else {\n var localDate = Date;\n getCurrentTime = function () {\n return localDate.now();\n };\n }\n var valueCursor = createCursor(null);\n var rendererCursorDEV = createCursor(null);\n var rendererSigil = {};\n var currentlyRenderingFiber$1 = null,\n lastContextDependency = null,\n isDisallowedContextReadInDEV = !1,\n AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0,\n _currentRenderer: null,\n _currentRenderer2: null\n },\n now = Scheduler.unstable_now,\n renderStartTime = -0,\n commitStartTime = -0,\n profilerStartTime = -1.1,\n profilerEffectDuration = -0,\n currentUpdateIsNested = !1,\n nestedUpdateScheduled = !1,\n currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null,\n prevOnStartTransitionFinish = ReactSharedInternals.S;\n ReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n };\n var resumedCache = createCursor(null),\n ReactStrictModeWarnings = {\n recordUnsafeLifecycleWarnings: function () {},\n flushPendingUnsafeLifecycleWarnings: function () {},\n recordLegacyContextWarning: function () {},\n flushLegacyContextWarning: function () {},\n discardPendingWarnings: function () {}\n },\n pendingComponentWillMountWarnings = [],\n pendingUNSAFE_ComponentWillMountWarnings = [],\n pendingComponentWillReceivePropsWarnings = [],\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [],\n pendingComponentWillUpdateWarnings = [],\n pendingUNSAFE_ComponentWillUpdateWarnings = [],\n didWarnAboutUnsafeLifecycles = new Set();\n ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (\n fiber,\n instance\n ) {\n didWarnAboutUnsafeLifecycles.has(fiber.type) ||\n (\"function\" === typeof instance.componentWillMount &&\n !0 !== instance.componentWillMount.__suppressDeprecationWarning &&\n pendingComponentWillMountWarnings.push(fiber),\n fiber.mode & StrictLegacyMode &&\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n pendingUNSAFE_ComponentWillMountWarnings.push(fiber),\n \"function\" === typeof instance.componentWillReceiveProps &&\n !0 !==\n instance.componentWillReceiveProps.__suppressDeprecationWarning &&\n pendingComponentWillReceivePropsWarnings.push(fiber),\n fiber.mode & StrictLegacyMode &&\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber),\n \"function\" === typeof instance.componentWillUpdate &&\n !0 !== instance.componentWillUpdate.__suppressDeprecationWarning &&\n pendingComponentWillUpdateWarnings.push(fiber),\n fiber.mode & StrictLegacyMode &&\n \"function\" === typeof instance.UNSAFE_componentWillUpdate &&\n pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber));\n };\n ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\n var componentWillMountUniqueNames = new Set();\n 0 < pendingComponentWillMountWarnings.length &&\n (pendingComponentWillMountWarnings.forEach(function (fiber) {\n componentWillMountUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }),\n (pendingComponentWillMountWarnings = []));\n var UNSAFE_componentWillMountUniqueNames = new Set();\n 0 < pendingUNSAFE_ComponentWillMountWarnings.length &&\n (pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\n UNSAFE_componentWillMountUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }),\n (pendingUNSAFE_ComponentWillMountWarnings = []));\n var componentWillReceivePropsUniqueNames = new Set();\n 0 < pendingComponentWillReceivePropsWarnings.length &&\n (pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\n componentWillReceivePropsUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }),\n (pendingComponentWillReceivePropsWarnings = []));\n var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\n 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length &&\n (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(\n function (fiber) {\n UNSAFE_componentWillReceivePropsUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }\n ),\n (pendingUNSAFE_ComponentWillReceivePropsWarnings = []));\n var componentWillUpdateUniqueNames = new Set();\n 0 < pendingComponentWillUpdateWarnings.length &&\n (pendingComponentWillUpdateWarnings.forEach(function (fiber) {\n componentWillUpdateUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }),\n (pendingComponentWillUpdateWarnings = []));\n var UNSAFE_componentWillUpdateUniqueNames = new Set();\n 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length &&\n (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\n UNSAFE_componentWillUpdateUniqueNames.add(\n getComponentNameFromFiber(fiber) || \"Component\"\n );\n didWarnAboutUnsafeLifecycles.add(fiber.type);\n }),\n (pendingUNSAFE_ComponentWillUpdateWarnings = []));\n if (0 < UNSAFE_componentWillMountUniqueNames.size) {\n var sortedNames = setToSortedString(\n UNSAFE_componentWillMountUniqueNames\n );\n console.error(\n \"Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n\\nPlease update the following components: %s\",\n sortedNames\n );\n }\n 0 < UNSAFE_componentWillReceivePropsUniqueNames.size &&\n ((sortedNames = setToSortedString(\n UNSAFE_componentWillReceivePropsUniqueNames\n )),\n console.error(\n \"Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\\n\\nPlease update the following components: %s\",\n sortedNames\n ));\n 0 < UNSAFE_componentWillUpdateUniqueNames.size &&\n ((sortedNames = setToSortedString(\n UNSAFE_componentWillUpdateUniqueNames\n )),\n console.error(\n \"Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n\\nPlease update the following components: %s\",\n sortedNames\n ));\n 0 < componentWillMountUniqueNames.size &&\n ((sortedNames = setToSortedString(componentWillMountUniqueNames)),\n console.warn(\n \"componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\",\n sortedNames\n ));\n 0 < componentWillReceivePropsUniqueNames.size &&\n ((sortedNames = setToSortedString(\n componentWillReceivePropsUniqueNames\n )),\n console.warn(\n \"componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\",\n sortedNames\n ));\n 0 < componentWillUpdateUniqueNames.size &&\n ((sortedNames = setToSortedString(componentWillUpdateUniqueNames)),\n console.warn(\n \"componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\\n\\n* Move data fetching code or side effects to componentDidUpdate.\\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\n\\nPlease update the following components: %s\",\n sortedNames\n ));\n };\n var pendingLegacyContextWarning = new Map(),\n didWarnAboutLegacyContext = new Set();\n ReactStrictModeWarnings.recordLegacyContextWarning = function (\n fiber,\n instance\n ) {\n var strictRoot = null;\n for (var node = fiber; null !== node; )\n node.mode & StrictLegacyMode && (strictRoot = node),\n (node = node.return);\n null === strictRoot\n ? console.error(\n \"Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue.\"\n )\n : !didWarnAboutLegacyContext.has(fiber.type) &&\n ((node = pendingLegacyContextWarning.get(strictRoot)),\n null != fiber.type.contextTypes ||\n null != fiber.type.childContextTypes ||\n (null !== instance &&\n \"function\" === typeof instance.getChildContext)) &&\n (void 0 === node &&\n ((node = []), pendingLegacyContextWarning.set(strictRoot, node)),\n node.push(fiber));\n };\n ReactStrictModeWarnings.flushLegacyContextWarning = function () {\n pendingLegacyContextWarning.forEach(function (fiberArray) {\n if (0 !== fiberArray.length) {\n var firstFiber = fiberArray[0],\n uniqueNames = new Set();\n fiberArray.forEach(function (fiber) {\n uniqueNames.add(getComponentNameFromFiber(fiber) || \"Component\");\n didWarnAboutLegacyContext.add(fiber.type);\n });\n var sortedNames = setToSortedString(uniqueNames);\n runWithFiberInDEV(firstFiber, function () {\n console.error(\n \"Legacy context API has been detected within a strict-mode tree.\\n\\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\\n\\nPlease update the following components: %s\\n\\nLearn more about this warning here: https://react.dev/link/legacy-context\",\n sortedNames\n );\n });\n }\n });\n };\n ReactStrictModeWarnings.discardPendingWarnings = function () {\n pendingComponentWillMountWarnings = [];\n pendingUNSAFE_ComponentWillMountWarnings = [];\n pendingComponentWillReceivePropsWarnings = [];\n pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\n pendingComponentWillUpdateWarnings = [];\n pendingUNSAFE_ComponentWillUpdateWarnings = [];\n pendingLegacyContextWarning = new Map();\n };\n var SuspenseException = Error(\n \"Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\\n\\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`.\"\n ),\n SuspenseyCommitException = Error(\n \"Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\"\n ),\n SuspenseActionException = Error(\n \"Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\\n\\nTo handle async errors, wrap your component in an error boundary.\"\n ),\n noopSuspenseyCommitThenable = {\n then: function () {\n console.error(\n 'Internal React error: A listener was unexpectedly attached to a \"noop\" thenable. This is a bug in React. Please file an issue.'\n );\n }\n },\n suspendedThenable = null,\n needsToResetSuspendedThenableDEV = !1,\n NoFlags = 0,\n HasEffect = 1,\n Insertion = 2,\n Layout = 4,\n Passive = 8,\n UpdateState = 0,\n ReplaceState = 1,\n ForceUpdate = 2,\n CaptureUpdate = 3,\n hasForceUpdate = !1;\n var didWarnUpdateInsideUpdate = !1;\n var currentlyProcessingQueue = null;\n var didReadFromEntangledAsyncAction = !1,\n currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0),\n didWarnUncachedGetSnapshot;\n var didWarnAboutMismatchedHooksForComponent = new Set();\n var didWarnAboutUseWrappedInTryCatch = new Set();\n var didWarnAboutAsyncClientComponent = new Set();\n var didWarnAboutUseFormState = new Set();\n var renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter$1 = 0,\n thenableState$1 = null,\n globalClientIdCounter = 0,\n RE_RENDER_LIMIT = 25,\n currentHookNameInDev = null,\n hookTypesDev = null,\n hookTypesUpdateIndexDev = -1,\n ignorePreviousDependencies = !1,\n ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n },\n HooksDispatcherOnMountInDEV = null,\n HooksDispatcherOnMountWithHookTypesInDEV = null,\n HooksDispatcherOnUpdateInDEV = null,\n HooksDispatcherOnRerenderInDEV = null,\n InvalidNestedHooksDispatcherOnMountInDEV = null,\n InvalidNestedHooksDispatcherOnUpdateInDEV = null,\n InvalidNestedHooksDispatcherOnRerenderInDEV = null;\n HooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n mountHookTypesDev();\n checkDepsAreArrayDev(createDeps);\n return mountEffect(create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n mountEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n mountHookTypesDev();\n checkDepsAreArrayDev(deps);\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n mountHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = \"useRef\";\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = \"useState\";\n mountHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountState(initialState);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n mountHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n mountHookTypesDev();\n return mountDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n mountHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n mountHookTypesDev();\n return mountSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n mountHookTypesDev();\n return mountId();\n },\n useFormState: function (action, initialState) {\n currentHookNameInDev = \"useFormState\";\n mountHookTypesDev();\n warnOnUseFormStateInDev();\n return mountActionState(action, initialState);\n },\n useActionState: function (action, initialState) {\n currentHookNameInDev = \"useActionState\";\n mountHookTypesDev();\n return mountActionState(action, initialState);\n },\n useOptimistic: function (passthrough) {\n currentHookNameInDev = \"useOptimistic\";\n mountHookTypesDev();\n return mountOptimistic(passthrough);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n mountHookTypesDev();\n return mountRefresh();\n }\n };\n HooksDispatcherOnMountWithHookTypesInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n updateHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n updateHookTypesDev();\n return mountEffect(create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n updateHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n updateHookTypesDev();\n mountEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n updateHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = \"useRef\";\n updateHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = \"useState\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountState(initialState);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n updateHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n updateHookTypesDev();\n return mountDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n updateHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n updateHookTypesDev();\n return mountSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n updateHookTypesDev();\n return mountId();\n },\n useActionState: function (action, initialState) {\n currentHookNameInDev = \"useActionState\";\n updateHookTypesDev();\n return mountActionState(action, initialState);\n },\n useFormState: function (action, initialState) {\n currentHookNameInDev = \"useFormState\";\n updateHookTypesDev();\n warnOnUseFormStateInDev();\n return mountActionState(action, initialState);\n },\n useOptimistic: function (passthrough) {\n currentHookNameInDev = \"useOptimistic\";\n updateHookTypesDev();\n return mountOptimistic(passthrough);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n updateHookTypesDev();\n return mountRefresh();\n }\n };\n HooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n updateHookTypesDev();\n updateEffectImpl(2048, Passive, create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n updateHookTypesDev();\n return updateEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n updateHookTypesDev();\n return updateEffectImpl(4, Layout, create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function () {\n currentHookNameInDev = \"useRef\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useState: function () {\n currentHookNameInDev = \"useState\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateReducer(basicStateReducer);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n updateHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n updateHookTypesDev();\n return updateDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n updateHookTypesDev();\n return updateTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n updateHookTypesDev();\n return updateSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useFormState: function (action) {\n currentHookNameInDev = \"useFormState\";\n updateHookTypesDev();\n warnOnUseFormStateInDev();\n return updateActionState(action);\n },\n useActionState: function (action) {\n currentHookNameInDev = \"useActionState\";\n updateHookTypesDev();\n return updateActionState(action);\n },\n useOptimistic: function (passthrough, reducer) {\n currentHookNameInDev = \"useOptimistic\";\n updateHookTypesDev();\n return updateOptimistic(passthrough, reducer);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n }\n };\n HooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n return readContext(context);\n },\n use: use,\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n updateHookTypesDev();\n updateEffectImpl(2048, Passive, create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n updateHookTypesDev();\n return updateEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n updateHookTypesDev();\n return updateEffectImpl(4, Layout, create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;\n try {\n return updateMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function () {\n currentHookNameInDev = \"useRef\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useState: function () {\n currentHookNameInDev = \"useState\";\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV;\n try {\n return rerenderReducer(basicStateReducer);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n updateHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n updateHookTypesDev();\n return rerenderDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n updateHookTypesDev();\n return rerenderTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n updateHookTypesDev();\n return updateSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useFormState: function (action) {\n currentHookNameInDev = \"useFormState\";\n updateHookTypesDev();\n warnOnUseFormStateInDev();\n return rerenderActionState(action);\n },\n useActionState: function (action) {\n currentHookNameInDev = \"useActionState\";\n updateHookTypesDev();\n return rerenderActionState(action);\n },\n useOptimistic: function (passthrough, reducer) {\n currentHookNameInDev = \"useOptimistic\";\n updateHookTypesDev();\n return rerenderOptimistic(passthrough, reducer);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n }\n };\n InvalidNestedHooksDispatcherOnMountInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountEffect(create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n mountEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountLayoutEffect(create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function (initialValue) {\n currentHookNameInDev = \"useRef\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountRef(initialValue);\n },\n useState: function (initialState) {\n currentHookNameInDev = \"useState\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV;\n try {\n return mountState(initialState);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountId();\n },\n useFormState: function (action, initialState) {\n currentHookNameInDev = \"useFormState\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountActionState(action, initialState);\n },\n useActionState: function (action, initialState) {\n currentHookNameInDev = \"useActionState\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountActionState(action, initialState);\n },\n useOptimistic: function (passthrough) {\n currentHookNameInDev = \"useOptimistic\";\n warnInvalidHookAccess();\n mountHookTypesDev();\n return mountOptimistic(passthrough);\n },\n useMemoCache: function (size) {\n warnInvalidHookAccess();\n return useMemoCache(size);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n mountHookTypesDev();\n return mountRefresh();\n }\n };\n InvalidNestedHooksDispatcherOnUpdateInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n updateEffectImpl(2048, Passive, create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffectImpl(4, Layout, create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function () {\n currentHookNameInDev = \"useRef\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useState: function () {\n currentHookNameInDev = \"useState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateReducer(basicStateReducer);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useFormState: function (action) {\n currentHookNameInDev = \"useFormState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateActionState(action);\n },\n useActionState: function (action) {\n currentHookNameInDev = \"useActionState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateActionState(action);\n },\n useOptimistic: function (passthrough, reducer) {\n currentHookNameInDev = \"useOptimistic\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateOptimistic(passthrough, reducer);\n },\n useMemoCache: function (size) {\n warnInvalidHookAccess();\n return useMemoCache(size);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n }\n };\n InvalidNestedHooksDispatcherOnRerenderInDEV = {\n readContext: function (context) {\n warnInvalidContextAccess();\n return readContext(context);\n },\n use: function (usable) {\n warnInvalidHookAccess();\n return use(usable);\n },\n useCallback: function (callback, deps) {\n currentHookNameInDev = \"useCallback\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateCallback(callback, deps);\n },\n useContext: function (context) {\n currentHookNameInDev = \"useContext\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return readContext(context);\n },\n useEffect: function (create, createDeps) {\n currentHookNameInDev = \"useEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n updateEffectImpl(2048, Passive, create, createDeps);\n },\n useImperativeHandle: function (ref, create, deps) {\n currentHookNameInDev = \"useImperativeHandle\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateImperativeHandle(ref, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n currentHookNameInDev = \"useInsertionEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffectImpl(4, Insertion, create, deps);\n },\n useLayoutEffect: function (create, deps) {\n currentHookNameInDev = \"useLayoutEffect\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateEffectImpl(4, Layout, create, deps);\n },\n useMemo: function (create, deps) {\n currentHookNameInDev = \"useMemo\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return updateMemo(create, deps);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useReducer: function (reducer, initialArg, init) {\n currentHookNameInDev = \"useReducer\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return rerenderReducer(reducer, initialArg, init);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useRef: function () {\n currentHookNameInDev = \"useRef\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useState: function () {\n currentHookNameInDev = \"useState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV;\n try {\n return rerenderReducer(basicStateReducer);\n } finally {\n ReactSharedInternals.H = prevDispatcher;\n }\n },\n useDebugValue: function () {\n currentHookNameInDev = \"useDebugValue\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n },\n useDeferredValue: function (value, initialValue) {\n currentHookNameInDev = \"useDeferredValue\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderDeferredValue(value, initialValue);\n },\n useTransition: function () {\n currentHookNameInDev = \"useTransition\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderTransition();\n },\n useSyncExternalStore: function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n currentHookNameInDev = \"useSyncExternalStore\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n },\n useId: function () {\n currentHookNameInDev = \"useId\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n },\n useFormState: function (action) {\n currentHookNameInDev = \"useFormState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderActionState(action);\n },\n useActionState: function (action) {\n currentHookNameInDev = \"useActionState\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderActionState(action);\n },\n useOptimistic: function (passthrough, reducer) {\n currentHookNameInDev = \"useOptimistic\";\n warnInvalidHookAccess();\n updateHookTypesDev();\n return rerenderOptimistic(passthrough, reducer);\n },\n useMemoCache: function (size) {\n warnInvalidHookAccess();\n return useMemoCache(size);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useCacheRefresh: function () {\n currentHookNameInDev = \"useCacheRefresh\";\n updateHookTypesDev();\n return updateWorkInProgressHook().memoizedState;\n }\n };\n var callComponent = {\n react_stack_bottom_frame: function (Component, props, secondArg) {\n var wasRendering = isRendering;\n isRendering = !0;\n try {\n return Component(props, secondArg);\n } finally {\n isRendering = wasRendering;\n }\n }\n },\n callComponentInDEV =\n callComponent.react_stack_bottom_frame.bind(callComponent),\n callRender = {\n react_stack_bottom_frame: function (instance) {\n var wasRendering = isRendering;\n isRendering = !0;\n try {\n return instance.render();\n } finally {\n isRendering = wasRendering;\n }\n }\n },\n callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender),\n callComponentDidMount = {\n react_stack_bottom_frame: function (finishedWork, instance) {\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n },\n callComponentDidMountInDEV =\n callComponentDidMount.react_stack_bottom_frame.bind(\n callComponentDidMount\n ),\n callComponentDidUpdate = {\n react_stack_bottom_frame: function (\n finishedWork,\n instance,\n prevProps,\n prevState,\n snapshot\n ) {\n try {\n instance.componentDidUpdate(prevProps, prevState, snapshot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n },\n callComponentDidUpdateInDEV =\n callComponentDidUpdate.react_stack_bottom_frame.bind(\n callComponentDidUpdate\n ),\n callComponentDidCatch = {\n react_stack_bottom_frame: function (instance, errorInfo) {\n var stack = errorInfo.stack;\n instance.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n }\n },\n callComponentDidCatchInDEV =\n callComponentDidCatch.react_stack_bottom_frame.bind(\n callComponentDidCatch\n ),\n callComponentWillUnmount = {\n react_stack_bottom_frame: function (\n current,\n nearestMountedAncestor,\n instance\n ) {\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n },\n callComponentWillUnmountInDEV =\n callComponentWillUnmount.react_stack_bottom_frame.bind(\n callComponentWillUnmount\n ),\n callCreate = {\n react_stack_bottom_frame: function (effect) {\n null != effect.resourceKind &&\n console.error(\n \"Expected only SimpleEffects when enableUseEffectCRUDOverload is disabled, got %s\",\n effect.resourceKind\n );\n var create = effect.create;\n effect = effect.inst;\n create = create();\n return (effect.destroy = create);\n }\n },\n callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate),\n callDestroy = {\n react_stack_bottom_frame: function (\n current,\n nearestMountedAncestor,\n destroy\n ) {\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n }\n },\n callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy),\n callLazyInit = {\n react_stack_bottom_frame: function (lazy) {\n var init = lazy._init;\n return init(lazy._payload);\n }\n },\n callLazyInitInDEV =\n callLazyInit.react_stack_bottom_frame.bind(callLazyInit),\n thenableState = null,\n thenableIndexCounter = 0,\n currentDebugInfo = null,\n didWarnAboutMaps;\n var didWarnAboutGenerators = (didWarnAboutMaps = !1);\n var ownerHasKeyUseWarning = {};\n var ownerHasFunctionTypeWarning = {};\n var ownerHasSymbolTypeWarning = {};\n warnForMissingKey = function (returnFiber, workInProgress, child) {\n if (\n null !== child &&\n \"object\" === typeof child &&\n child._store &&\n ((!child._store.validated && null == child.key) ||\n 2 === child._store.validated)\n ) {\n if (\"object\" !== typeof child._store)\n throw Error(\n \"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\"\n );\n child._store.validated = 1;\n var componentName = getComponentNameFromFiber(returnFiber),\n componentKey = componentName || \"null\";\n if (!ownerHasKeyUseWarning[componentKey]) {\n ownerHasKeyUseWarning[componentKey] = !0;\n child = child._owner;\n returnFiber = returnFiber._debugOwner;\n var currentComponentErrorInfo = \"\";\n returnFiber &&\n \"number\" === typeof returnFiber.tag &&\n (componentKey = getComponentNameFromFiber(returnFiber)) &&\n (currentComponentErrorInfo =\n \"\\n\\nCheck the render method of `\" + componentKey + \"`.\");\n currentComponentErrorInfo ||\n (componentName &&\n (currentComponentErrorInfo =\n \"\\n\\nCheck the top-level render call using <\" +\n componentName +\n \">.\"));\n var childOwnerAppendix = \"\";\n null != child &&\n returnFiber !== child &&\n ((componentName = null),\n \"number\" === typeof child.tag\n ? (componentName = getComponentNameFromFiber(child))\n : \"string\" === typeof child.name && (componentName = child.name),\n componentName &&\n (childOwnerAppendix =\n \" It was passed a child from \" + componentName + \".\"));\n runWithFiberInDEV(workInProgress, function () {\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n currentComponentErrorInfo,\n childOwnerAppendix\n );\n });\n }\n }\n };\n var reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null,\n SubtreeSuspenseContextMask = 1,\n ForceSuspenseFallback = 2,\n suspenseStackCursor = createCursor(0),\n fakeInternalInstance = {};\n var didWarnAboutStateAssignmentForComponent = new Set();\n var didWarnAboutUninitializedState = new Set();\n var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\n var didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\n var didWarnAboutDirectlyAssigningPropsToState = new Set();\n var didWarnAboutUndefinedDerivedState = new Set();\n var didWarnAboutContextTypes$1 = new Set();\n var didWarnAboutChildContextTypes = new Set();\n var didWarnAboutInvalidateContextType = new Set();\n var didWarnOnInvalidCallback = new Set();\n Object.freeze(fakeInternalInstance);\n var classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (warnOnInvalidCallback(callback), (update.callback = callback));\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n markStateUpdateScheduled(inst, lane);\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = ReplaceState;\n update.payload = payload;\n void 0 !== callback &&\n null !== callback &&\n (warnOnInvalidCallback(callback), (update.callback = callback));\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n markStateUpdateScheduled(inst, lane);\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = ForceUpdate;\n void 0 !== callback &&\n null !== callback &&\n (warnOnInvalidCallback(callback), (update.callback = callback));\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n null !== injectedProfilingHooks &&\n \"function\" ===\n typeof injectedProfilingHooks.markForceUpdateScheduled &&\n injectedProfilingHooks.markForceUpdateScheduled(inst, lane);\n }\n },\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n componentName = null,\n errorBoundaryName = null,\n SelectiveHydrationException = Error(\n \"This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue.\"\n ),\n didReceiveUpdate = !1;\n var didWarnAboutBadClass = {};\n var didWarnAboutContextTypeOnFunctionComponent = {};\n var didWarnAboutContextTypes = {};\n var didWarnAboutGetDerivedStateOnFunctionComponent = {};\n var didWarnAboutReassigningProps = !1;\n var didWarnAboutRevealOrder = {};\n var didWarnAboutTailOptions = {};\n var SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n },\n hasWarnedAboutUsingNoValuePropOnContextProvider = !1,\n didWarnAboutUndefinedSnapshotBeforeUpdate = null;\n didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\n var offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n inProgressLanes = null,\n inProgressRoot = null,\n hostParent = null,\n hostParentIsContainer = !1,\n currentHoistableRoot = null,\n suspenseyCommitFlag = 8192,\n DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n },\n getOwner: function () {\n return current;\n }\n };\n if (\"function\" === typeof Symbol && Symbol.for) {\n var symbolFor = Symbol.for;\n symbolFor(\"selector.component\");\n symbolFor(\"selector.has_pseudo_class\");\n symbolFor(\"selector.role\");\n symbolFor(\"selector.test_id\");\n symbolFor(\"selector.text\");\n }\n var commitHooks = [],\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n NoContext = 0,\n RenderContext = 2,\n CommitContext = 4,\n RootInProgress = 0,\n RootFatalErrored = 1,\n RootErrored = 2,\n RootSuspended = 3,\n RootSuspendedWithDelay = 4,\n RootSuspendedAtTheShell = 6,\n RootCompleted = 5,\n executionContext = NoContext,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n NotSuspended = 0,\n SuspendedOnError = 1,\n SuspendedOnData = 2,\n SuspendedOnImmediate = 3,\n SuspendedOnInstance = 4,\n SuspendedOnInstanceAndReadyToContinue = 5,\n SuspendedOnDeprecatedThrowPromise = 6,\n SuspendedAndReadyToContinue = 7,\n SuspendedOnHydration = 8,\n SuspendedOnAction = 9,\n workInProgressSuspendedReason = NotSuspended,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = RootInProgress,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n FALLBACK_THROTTLE_MS = 300,\n workInProgressRootRenderTargetTime = Infinity,\n RENDER_TIMEOUT_MS = 500,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n IMMEDIATE_COMMIT = 0,\n SUSPENDED_COMMIT = 1,\n THROTTLED_COMMIT = 2,\n NO_PENDING_EFFECTS = 0,\n PENDING_MUTATION_PHASE = 1,\n PENDING_LAYOUT_PHASE = 2,\n PENDING_AFTER_MUTATION_PHASE = 3,\n PENDING_SPAWNED_WORK = 4,\n PENDING_PASSIVE_PHASE = 5,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n NESTED_UPDATE_LIMIT = 50,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null,\n isFlushingPassiveEffects = !1,\n didScheduleUpdateDuringPassiveEffects = !1,\n NESTED_PASSIVE_UPDATE_LIMIT = 50,\n nestedPassiveUpdateCount = 0,\n rootWithPassiveNestedUpdates = null,\n isRunningInsertionEffect = !1,\n didWarnStateUpdateForNotYetMountedComponent = null,\n didWarnAboutUpdateInRender = !1;\n var didWarnAboutUpdateInRenderForAnotherComponent = new Set();\n var fakeActCallbackNode$1 = {},\n firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n didScheduleMicrotask_act = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0,\n fakeActCallbackNode = {};\n (function () {\n for (var i = 0; i < simpleEventPluginEvents.length; i++) {\n var eventName = simpleEventPluginEvents[i],\n domEventName = eventName.toLowerCase();\n eventName = eventName[0].toUpperCase() + eventName.slice(1);\n registerSimpleEvent(domEventName, \"on\" + eventName);\n }\n registerSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\n registerSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\n registerSimpleEvent(ANIMATION_START, \"onAnimationStart\");\n registerSimpleEvent(\"dblclick\", \"onDoubleClick\");\n registerSimpleEvent(\"focusin\", \"onFocus\");\n registerSimpleEvent(\"focusout\", \"onBlur\");\n registerSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\n registerSimpleEvent(TRANSITION_START, \"onTransitionStart\");\n registerSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\n registerSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\n })();\n registerDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\n registerDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\n registerDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\n registerDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\n registerTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\n \" \"\n )\n );\n registerTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n );\n registerTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n ]);\n registerTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n );\n registerTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n );\n registerTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n );\n var mediaEventTypes =\n \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n ),\n listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2),\n didWarnControlledToUncontrolled = !1,\n didWarnUncontrolledToControlled = !1,\n didWarnFormActionType = !1,\n didWarnFormActionName = !1,\n didWarnFormActionTarget = !1,\n didWarnFormActionMethod = !1,\n didWarnPopoverTargetObject = !1;\n var didWarnForNewBooleanPropsWithEmptyValue = {};\n var NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g,\n xlinkNamespace = \"http://www.w3.org/1999/xlink\",\n xmlNamespace = \"http://www.w3.org/XML/1998/namespace\",\n EXPECTED_FORM_ACTION_URL =\n \"javascript:throw new Error('React form unexpectedly submitted.')\",\n SUPPRESS_HYDRATION_WARNING = \"suppressHydrationWarning\",\n SUSPENSE_START_DATA = \"$\",\n SUSPENSE_END_DATA = \"/$\",\n SUSPENSE_PENDING_START_DATA = \"$?\",\n SUSPENSE_FALLBACK_START_DATA = \"$!\",\n PREAMBLE_CONTRIBUTION_HTML = 1,\n PREAMBLE_CONTRIBUTION_BODY = 2,\n PREAMBLE_CONTRIBUTION_HEAD = 4,\n FORM_STATE_IS_MATCHING = \"F!\",\n FORM_STATE_IS_NOT_MATCHING = \"F\",\n DOCUMENT_READY_STATE_COMPLETE = \"complete\",\n STYLE = \"style\",\n HostContextNamespaceNone = 0,\n HostContextNamespaceSvg = 1,\n HostContextNamespaceMath = 2,\n eventsEnabled = null,\n selectionInformation = null,\n warnedUnknownTags = { dialog: !0, webview: !0 },\n currentPopstateTransitionEvent = null,\n scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout =\n \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n noTimeout = -1,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout,\n previousHydratableOnEnteringScopedSingleton = null,\n NotLoaded = 0,\n Loaded = 1,\n Errored = 2,\n Settled = 3,\n Inserted = 4,\n preloadPropsMap = new Map(),\n preconnectsSet = new Set(),\n previousDispatcher = ReactDOMSharedInternals.d;\n ReactDOMSharedInternals.d = {\n f: function () {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n },\n r: function (form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n },\n D: function (href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n },\n C: function (href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n },\n L: function (href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet\n ? void 0\n : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n )) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))) ||\n ((as = ownerDocument.createElement(\"link\")),\n setInitialProperties(as, \"link\", href),\n markNodeAsHoistable(as),\n ownerDocument.head.appendChild(as)));\n }\n },\n m: function (href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as =\n options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n },\n X: function (src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(\n getScriptSelectorFromKey(key)\n )),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n },\n S: function (href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: NotLoaded, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = Loaded | Inserted;\n else {\n href = assign(\n {\n rel: \"stylesheet\",\n href: href,\n \"data-precedence\": precedence\n },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= Loaded;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= Errored;\n });\n state.loading |= Inserted;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n },\n M: function (src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(\n getScriptSelectorFromKey(key)\n )),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n }\n };\n var globalDocument = \"undefined\" === typeof document ? null : document,\n tagCaches = null,\n suspendedState = null,\n LAST_PRECEDENCE = null,\n precedencesByRoot = null,\n NotPendingTransition = NotPending,\n HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: NotPendingTransition,\n _currentValue2: NotPendingTransition,\n _threadCount: 0\n },\n badgeFormat = \"%c%s%c \",\n badgeStyle =\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n resetStyle = \"\",\n pad = \" \",\n bind = Function.prototype.bind;\n var didWarnAboutNestedUpdates = !1;\n var overrideHookState = null,\n overrideHookStateDeletePath = null,\n overrideHookStateRenamePath = null,\n overrideProps = null,\n overridePropsDeletePath = null,\n overridePropsRenamePath = null,\n scheduleUpdate = null,\n setErrorHandler = null,\n setSuspenseHandler = null;\n overrideHookState = function (fiber, id, path, value) {\n id = findHook(fiber, id);\n null !== id &&\n ((path = copyWithSetImpl(id.memoizedState, path, 0, value)),\n (id.memoizedState = path),\n (id.baseState = path),\n (fiber.memoizedProps = assign({}, fiber.memoizedProps)),\n (path = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== path && scheduleUpdateOnFiber(path, fiber, 2));\n };\n overrideHookStateDeletePath = function (fiber, id, path) {\n id = findHook(fiber, id);\n null !== id &&\n ((path = copyWithDeleteImpl(id.memoizedState, path, 0)),\n (id.memoizedState = path),\n (id.baseState = path),\n (fiber.memoizedProps = assign({}, fiber.memoizedProps)),\n (path = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== path && scheduleUpdateOnFiber(path, fiber, 2));\n };\n overrideHookStateRenamePath = function (fiber, id, oldPath, newPath) {\n id = findHook(fiber, id);\n null !== id &&\n ((oldPath = copyWithRename(id.memoizedState, oldPath, newPath)),\n (id.memoizedState = oldPath),\n (id.baseState = oldPath),\n (fiber.memoizedProps = assign({}, fiber.memoizedProps)),\n (oldPath = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2));\n };\n overrideProps = function (fiber, path, value) {\n fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value);\n fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);\n path = enqueueConcurrentRenderForLane(fiber, 2);\n null !== path && scheduleUpdateOnFiber(path, fiber, 2);\n };\n overridePropsDeletePath = function (fiber, path) {\n fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0);\n fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);\n path = enqueueConcurrentRenderForLane(fiber, 2);\n null !== path && scheduleUpdateOnFiber(path, fiber, 2);\n };\n overridePropsRenamePath = function (fiber, oldPath, newPath) {\n fiber.pendingProps = copyWithRename(\n fiber.memoizedProps,\n oldPath,\n newPath\n );\n fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps);\n oldPath = enqueueConcurrentRenderForLane(fiber, 2);\n null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2);\n };\n scheduleUpdate = function (fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n };\n setErrorHandler = function (newShouldErrorImpl) {\n shouldErrorImpl = newShouldErrorImpl;\n };\n setSuspenseHandler = function (newShouldSuspendImpl) {\n shouldSuspendImpl = newShouldSuspendImpl;\n };\n var _enabled = !0,\n return_targetInst = null,\n hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\n \" \"\n ),\n lastScheduledReplayQueue = null;\n ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(\"Cannot update an unmounted root.\");\n var args = arguments;\n \"function\" === typeof args[1]\n ? console.error(\n \"does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\"\n )\n : isValidContainer(args[1])\n ? console.error(\n \"You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root.\"\n )\n : \"undefined\" !== typeof args[1] &&\n console.error(\n \"You passed a second argument to root.render(...) but it only accepts one argument.\"\n );\n args = children;\n var current = root.current,\n lane = requestUpdateLane(current);\n updateContainerImpl(current, lane, args, root, null, null);\n };\n ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var args = arguments;\n \"function\" === typeof args[0] &&\n console.error(\n \"does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect().\"\n );\n args = this._internalRoot;\n if (null !== args) {\n this._internalRoot = null;\n var container = args.containerInfo;\n (executionContext & (RenderContext | CommitContext)) !== NoContext &&\n console.error(\n \"Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition.\"\n );\n updateContainerImpl(args.current, 2, null, args, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\n ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (\n target\n ) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n };\n (function () {\n var isomorphicReactPackageVersion = React.version;\n if (\"19.1.1\" !== isomorphicReactPackageVersion)\n throw Error(\n 'Incompatible React versions: The \"react\" and \"react-dom\" packages must have the exact same version. Instead got:\\n - react: ' +\n (isomorphicReactPackageVersion +\n \"\\n - react-dom: 19.1.1\\nLearn more: https://react.dev/warnings/version-mismatch\")\n );\n })();\n (\"function\" === typeof Map &&\n null != Map.prototype &&\n \"function\" === typeof Map.prototype.forEach &&\n \"function\" === typeof Set &&\n null != Set.prototype &&\n \"function\" === typeof Set.prototype.clear &&\n \"function\" === typeof Set.prototype.forEach) ||\n console.error(\n \"React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills\"\n );\n ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(\"Unable to find node on an unmounted component.\");\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(\n \"Argument appears to not be a ReactComponent. Keys: \" +\n componentOrElement\n );\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n };\n if (\n !(function () {\n var internals = {\n bundleType: 1,\n version: \"19.1.1\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.1.1\"\n };\n internals.overrideHookState = overrideHookState;\n internals.overrideHookStateDeletePath = overrideHookStateDeletePath;\n internals.overrideHookStateRenamePath = overrideHookStateRenamePath;\n internals.overrideProps = overrideProps;\n internals.overridePropsDeletePath = overridePropsDeletePath;\n internals.overridePropsRenamePath = overridePropsRenamePath;\n internals.scheduleUpdate = scheduleUpdate;\n internals.setErrorHandler = setErrorHandler;\n internals.setSuspenseHandler = setSuspenseHandler;\n internals.scheduleRefresh = scheduleRefresh;\n internals.scheduleRoot = scheduleRoot;\n internals.setRefreshHandler = setRefreshHandler;\n internals.getCurrentFiber = getCurrentFiberForDevTools;\n internals.getLaneLabelMap = getLaneLabelMap;\n internals.injectProfilingHooks = injectProfilingHooks;\n return injectInternals(internals);\n })() &&\n canUseDOM &&\n window.top === window.self &&\n ((-1 < navigator.userAgent.indexOf(\"Chrome\") &&\n -1 === navigator.userAgent.indexOf(\"Edge\")) ||\n -1 < navigator.userAgent.indexOf(\"Firefox\"))\n ) {\n var protocol = window.location.protocol;\n /^(https?|file):$/.test(protocol) &&\n console.info(\n \"%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools\" +\n (\"file:\" === protocol\n ? \"\\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq\"\n : \"\"),\n \"font-weight:bold\"\n );\n }\n exports.createRoot = function (container, options) {\n if (!isValidContainer(container))\n throw Error(\"Target container is not a DOM element.\");\n warnIfReactDOMContainerInDEV(container);\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n transitionCallbacks = null;\n null !== options &&\n void 0 !== options &&\n (options.hydrate\n ? console.warn(\n \"hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead.\"\n )\n : \"object\" === typeof options &&\n null !== options &&\n options.$$typeof === REACT_ELEMENT_TYPE &&\n console.error(\n \"You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\\n\\n let root = createRoot(domContainer);\\n root.render(<App />);\"\n ),\n !0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError &&\n (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.unstable_transitionCallbacks &&\n (transitionCallbacks = options.unstable_transitionCallbacks));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n null\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n };\n exports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container))\n throw Error(\"Target container is not a DOM element.\");\n warnIfReactDOMContainerInDEV(container);\n void 0 === initialChildren &&\n console.error(\n \"Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)\"\n );\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n transitionCallbacks = null,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError &&\n (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.unstable_transitionCallbacks &&\n (transitionCallbacks = options.unstable_transitionCallbacks),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n formState\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane(options);\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n };\n exports.version = \"19.1.1\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n", "import ReactDOM from 'react-dom/client';\nimport React, { CSSProperties, lazy, LazyExoticComponent, Suspense, useEffect, useState } from \"react\";\n\nconst LazyTicTacToe = lazy(() => import(\"./Tictactoe/main.tsx\").then(m => ({ default: m.TicTacToe })));\nconst LazyConnectFour = lazy(() => import(\"./Connectfour/main.tsx\").then(m => ({ default: m.ConnectFour })));\nconst LazyMemoryGame = lazy(() => import(\"./CardMatchiing/main.tsx\").then(m => ({ default: m.MemoryGame })));\nconst LazyLightsOut = lazy(() => import(\"./LightsOut/main.tsx\").then(m => ({ default: m.LightsOut })));\nconst LazyWordle = lazy(() => import(\"./Wordle/main.tsx\").then(m => ({ default: m.Wordle })));\nconst LazyMinesweeper = lazy(() => import(\"./Minesweeper/main.tsx\").then(m => ({ default: m.Minesweeper })));\n\n\n\nconst wrapperStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minHeight: '100vh',\n fontFamily: 'system-ui, sans-serif',\n};\n\nconst menuStyle: CSSProperties = {\n listStyle: 'none',\n padding: 0,\n margin: '2rem auto',\n width: 280,\n display: 'flex',\n flexDirection: 'column',\n gap: '1rem',\n cursor: 'pointer',\n};\n\nconst menuItemStyle: CSSProperties = {\n padding: '0.75rem 1rem',\n borderRadius: 8,\n background: '#f3f4f6',\n textAlign: 'center',\n transition: 'background 120ms',\n};\n\ntype ComponentLabels = \n | \"tictactoe\"\n | \"connectfour\"\n | \"memorygame\"\n | \"lightsout\"\n | \"wordle\"\n | \"minesweeper\"\n\ninterface ComponentData {\n LazyComponent: LazyExoticComponent<() => React.ReactNode>;\n title: string;\n}\n\nconst gameMap: (Record<ComponentLabels, ComponentData>) = {\n tictactoe: {\n LazyComponent: LazyTicTacToe,\n title: \"TicTacToe\",\n },\n connectfour: {\n LazyComponent: LazyConnectFour,\n title: \"Connect Four\",\n },\n memorygame: {\n LazyComponent: LazyMemoryGame,\n title: \"Memory Game\",\n },\n lightsout: {\n LazyComponent: LazyLightsOut,\n title: \"Lights out\",\n },\n wordle: {\n LazyComponent: LazyWordle,\n title: \"Wordle\",\n },\n minesweeper: {\n LazyComponent: LazyMinesweeper,\n title: \"Minesweeper\",\n },\n}\n\ntype GameKey = ComponentLabels | null;\n\nconst BASE = \"/games\";\nconst Games = () => {\n const getKey = (p: string): GameKey => {\n const m = p.match(/^\\/games\\/?([^/]+)?/i);\n const k = (m?.[1] || '').toLowerCase() as GameKey;\n return k && k in gameMap ? k : null;\n };\n \n const [game, setGame] = useState<GameKey>(() => getKey(location.pathname));\n \n useEffect(() => {\n const onPop = () => setGame(getKey(location.pathname));\n addEventListener('popstate', onPop);\n return () => removeEventListener('popstate', onPop);\n }, []);\n \n useEffect(() => {\n history.pushState(null, '', game ? `${BASE}/${game}` : BASE);\n }, [game]);\n\n const selected = game ? gameMap[game] : null;\n\n return (\n <main style={wrapperStyle}>\n <section>\n <h1 style={{ textAlign: \"center\" }}>MAI React Playground</h1>\n\n {selected?.LazyComponent ? (\n <Suspense fallback={<div>loading...</div>}>\n <div style={\n { \n display: \"flex\", \n flexDirection: \"column\", \n justifyContent: \"center\", \n alignItems: \"center\",\n gap: 10,\n }}> \n <selected.LazyComponent />\n </div>\n </Suspense>\n ) : (\n <ul style={menuStyle}>\n {Object.entries(gameMap).map(([key, value]) => (\n <li key={key} style={menuItemStyle} onClick={() => setGame(key as GameKey)}>\n {value.title}\n </li>\n ))}\n </ul>\n )}\n\n {game && (\n <button style={{ display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", alignItems: \"cetner\", margin: \"1.5rem auto 0\" }} onClick={() => setGame(null)}>\n Back to menu\n </button>\n )}\n\n </section>\n </main>\n );\n};\n\nexport {\n Games,\n}\n\nReactDOM.createRoot(document.getElementById('root')!).render(<Games />);\n"], + "mappings": "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", + "names": ["React", "root", "renderLanes", "prefix", "previousDispatcher", "workInProgress", "isHydrating", "React", "style", "current", "thenableState", "componentName", "didReadFromEntangledAsyncAction", "commitStartTime", "ReactDOM", "lazy", "ReactDOM"] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/chunk-AX5M7HF6.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,1286 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/react/cjs/react.development.js +var require_react_development = __commonJS({ + "node_modules/react/cjs/react.development.js"(exports, module) { + "use strict"; + (function() { + function defineDeprecationWarning(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function() { + console.warn( + "%s(...) is deprecated in plain JavaScript React classes. %s", + info[0], + info[1] + ); + } + }); + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function warnNoop(publicInstance, callerName) { + publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass"; + var warningKey = publicInstance + "." + callerName; + didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error( + "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", + callerName, + publicInstance + ), didWarnStateUpdateForUnmountedComponent[warningKey] = true); + } + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function ComponentDummy() { + } + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function cloneAndReplaceKey(oldElement, newKey) { + newKey = ReactElement( + oldElement.type, + newKey, + void 0, + void 0, + oldElement._owner, + oldElement.props, + oldElement._debugStack, + oldElement._debugTask + ); + oldElement._store && (newKey._store.validated = oldElement._store.validated); + return newKey; + } + function isValidElement(object) { + return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + } + function escape(key) { + var escaperLookup = { "=": "=0", ":": "=2" }; + return "$" + key.replace(/[=:]/g, function(match) { + return escaperLookup[match]; + }); + } + function getElementKey(element, index) { + return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36); + } + function noop$1() { + } + function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then( + function(fulfilledValue) { + "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue); + }, + function(error) { + "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error); + } + )), thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = false; + if (null === children) invokeCallback = true; + else + switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = true; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + break; + case REACT_LAZY_TYPE: + return invokeCallback = children._init, mapIntoArray( + invokeCallback(children._payload), + array, + escapedPrefix, + nameSoFar, + callback + ); + } + } + if (invokeCallback) { + invokeCallback = children; + callback = callback(invokeCallback); + var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; + isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) { + return c; + })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey( + callback, + escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace( + userProvidedKeyEscapeRegex, + "$&/" + ) + "/") + childKey + ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback)); + return 1; + } + invokeCallback = 0; + childKey = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) + for (var i = 0; i < children.length; i++) + nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if (i = getIteratorFn(children), "function" === typeof i) + for (i === children.entries && (didWarnAboutMaps || console.warn( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true), children = i.call(children), i = 0; !(nameSoFar = children.next()).done; ) + nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if ("object" === type) { + if ("function" === typeof children.then) + return mapIntoArray( + resolveThenable(children), + array, + escapedPrefix, + nameSoFar, + callback + ); + array = String(children); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead." + ); + } + return invokeCallback; + } + function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], count = 0; + mapIntoArray(children, result, "", "", function(child) { + return func.call(context, child, count++); + }); + return result; + } + function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then( + function(moduleObject) { + if (0 === payload._status || -1 === payload._status) + payload._status = 1, payload._result = moduleObject; + }, + function(error) { + if (0 === payload._status || -1 === payload._status) + payload._status = 2, payload._result = error; + } + ); + -1 === payload._status && (payload._status = 0, payload._result = ctor); + } + if (1 === payload._status) + return ctor = payload._result, void 0 === ctor && console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", + ctor + ), "default" in ctor || console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", + ctor + ), ctor.default; + throw payload._result; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + function noop() { + } + function enqueueTask(task) { + if (null === enqueueTaskImpl) + try { + var requireString = ("require" + Math.random()).slice(0, 7); + enqueueTaskImpl = (module && module[requireString]).call( + module, + "timers" + ).setImmediate; + } catch (_err) { + enqueueTaskImpl = function(callback) { + false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error( + "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning." + )); + var channel = new MessageChannel(); + channel.port1.onmessage = callback; + channel.port2.postMessage(void 0); + }; + } + return enqueueTaskImpl(task); + } + function aggregateErrors(errors) { + return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0]; + } + function popActScope(prevActQueue, prevActScopeDepth) { + prevActScopeDepth !== actScopeDepth - 1 && console.error( + "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. " + ); + actScopeDepth = prevActScopeDepth; + } + function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { + var queue = ReactSharedInternals.actQueue; + if (null !== queue) + if (0 !== queue.length) + try { + flushActQueue(queue); + enqueueTask(function() { + return recursivelyFlushAsyncActWork(returnValue, resolve, reject); + }); + return; + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + else ReactSharedInternals.actQueue = null; + 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue); + } + function flushActQueue(queue) { + if (!isFlushing) { + isFlushing = true; + var i = 0; + try { + for (; i < queue.length; i++) { + var callback = queue[i]; + do { + ReactSharedInternals.didUsePromise = false; + var continuation = callback(false); + if (null !== continuation) { + if (ReactSharedInternals.didUsePromise) { + queue[i] = callback; + queue.splice(0, i); + return; + } + callback = continuation; + } else break; + } while (1); + } + queue.length = 0; + } catch (error) { + queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error); + } finally { + isFlushing = false; + } + } + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = { + isMounted: function() { + return false; + }, + enqueueForceUpdate: function(publicInstance) { + warnNoop(publicInstance, "forceUpdate"); + }, + enqueueReplaceState: function(publicInstance) { + warnNoop(publicInstance, "replaceState"); + }, + enqueueSetState: function(publicInstance) { + warnNoop(publicInstance, "setState"); + } + }, assign = Object.assign, emptyObject = {}; + Object.freeze(emptyObject); + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function(partialState, callback) { + if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables." + ); + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function(callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + var deprecatedAPIs = { + isMounted: [ + "isMounted", + "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks." + ], + replaceState: [ + "replaceState", + "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)." + ] + }, fnName; + for (fnName in deprecatedAPIs) + deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + ComponentDummy.prototype = Component.prototype; + deprecatedAPIs = PureComponent.prototype = new ComponentDummy(); + deprecatedAPIs.constructor = PureComponent; + assign(deprecatedAPIs, Component.prototype); + deprecatedAPIs.isPureReactComponent = true; + var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = { + H: null, + A: null, + T: null, + S: null, + V: null, + actQueue: null, + isBatchingLegacy: false, + didScheduleLegacyUpdate: false, + didUsePromise: false, + thrownErrors: [], + getCurrentStack: null, + recentlyCreatedOwnerStacks: 0 + }, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() { + return null; + }; + deprecatedAPIs = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind( + deprecatedAPIs, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) { + queueMicrotask(function() { + return queueMicrotask(callback); + }); + } : enqueueTask; + deprecatedAPIs = Object.freeze({ + __proto__: null, + c: function(size) { + return resolveDispatcher().useMemoCache(size); + } + }); + exports.Children = { + map: mapChildren, + forEach: function(children, forEachFunc, forEachContext) { + mapChildren( + children, + function() { + forEachFunc.apply(this, arguments); + }, + forEachContext + ); + }, + count: function(children) { + var n = 0; + mapChildren(children, function() { + n++; + }); + return n; + }, + toArray: function(children) { + return mapChildren(children, function(child) { + return child; + }) || []; + }, + only: function(children) { + if (!isValidElement(children)) + throw Error( + "React.Children.only expected to receive a single React element child." + ); + return children; + } + }; + exports.Component = Component; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.Profiler = REACT_PROFILER_TYPE; + exports.PureComponent = PureComponent; + exports.StrictMode = REACT_STRICT_MODE_TYPE; + exports.Suspense = REACT_SUSPENSE_TYPE; + exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals; + exports.__COMPILER_RUNTIME = deprecatedAPIs; + exports.act = function(callback) { + var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth; + actScopeDepth++; + var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false; + try { + var result = callback(); + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + if (0 < ReactSharedInternals.thrownErrors.length) + throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + if (null !== result && "object" === typeof result && "function" === typeof result.then) { + var thenable = result; + queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);" + )); + }); + return { + then: function(resolve, reject) { + didAwaitActCall = true; + thenable.then( + function(returnValue) { + popActScope(prevActQueue, prevActScopeDepth); + if (0 === prevActScopeDepth) { + try { + flushActQueue(queue), enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue, + resolve, + reject + ); + }); + } catch (error$0) { + ReactSharedInternals.thrownErrors.push(error$0); + } + if (0 < ReactSharedInternals.thrownErrors.length) { + var _thrownError = aggregateErrors( + ReactSharedInternals.thrownErrors + ); + ReactSharedInternals.thrownErrors.length = 0; + reject(_thrownError); + } + } else resolve(returnValue); + }, + function(error) { + popActScope(prevActQueue, prevActScopeDepth); + 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors( + ReactSharedInternals.thrownErrors + ), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error); + } + ); + } + }; + } + var returnValue$jscomp$0 = result; + popActScope(prevActQueue, prevActScopeDepth); + 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)" + )); + }), ReactSharedInternals.actQueue = null); + if (0 < ReactSharedInternals.thrownErrors.length) + throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + return { + then: function(resolve, reject) { + didAwaitActCall = true; + 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue$jscomp$0, + resolve, + reject + ); + })) : resolve(returnValue$jscomp$0); + } + }; + }; + exports.cache = function(fn) { + return function() { + return fn.apply(null, arguments); + }; + }; + exports.captureOwnerStack = function() { + var getCurrentStack = ReactSharedInternals.getCurrentStack; + return null === getCurrentStack ? null : getCurrentStack(); + }; + exports.cloneElement = function(element, config, children) { + if (null === element || void 0 === element) + throw Error( + "The argument must be a React element, but you passed " + element + "." + ); + var props = assign({}, element.props), key = element.key, owner = element._owner; + if (null != config) { + var JSCompiler_inline_result; + a: { + if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( + config, + "ref" + ).get) && JSCompiler_inline_result.isReactWarning) { + JSCompiler_inline_result = false; + break a; + } + JSCompiler_inline_result = void 0 !== config.ref; + } + JSCompiler_inline_result && (owner = getOwner()); + hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key); + for (propName in config) + !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]); + } + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + JSCompiler_inline_result = Array(propName); + for (var i = 0; i < propName; i++) + JSCompiler_inline_result[i] = arguments[i + 2]; + props.children = JSCompiler_inline_result; + } + props = ReactElement( + element.type, + key, + void 0, + void 0, + owner, + props, + element._debugStack, + element._debugTask + ); + for (key = 2; key < arguments.length; key++) + owner = arguments[key], isValidElement(owner) && owner._store && (owner._store.validated = 1); + return props; + }; + exports.createContext = function(defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + defaultValue._currentRenderer = null; + defaultValue._currentRenderer2 = null; + return defaultValue; + }; + exports.createElement = function(type, config, children) { + for (var i = 2; i < arguments.length; i++) { + var node = arguments[i]; + isValidElement(node) && node._store && (node._store.validated = 1); + } + i = {}; + node = null; + if (null != config) + for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn( + "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" + )), hasValidKey(config) && (checkKeyStringCoercion(config.key), node = "" + config.key), config) + hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]); + var childrenLength = arguments.length - 2; + if (1 === childrenLength) i.children = children; + else if (1 < childrenLength) { + for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++) + childArray[_i] = arguments[_i + 2]; + Object.freeze && Object.freeze(childArray); + i.children = childArray; + } + if (type && type.defaultProps) + for (propName in childrenLength = type.defaultProps, childrenLength) + void 0 === i[propName] && (i[propName] = childrenLength[propName]); + node && defineKeyPropWarningGetter( + i, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return ReactElement( + type, + node, + void 0, + void 0, + getOwner(), + i, + propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.createRef = function() { + var refObject = { current: null }; + Object.seal(refObject); + return refObject; + }; + exports.forwardRef = function(render) { + null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error( + "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." + ) : "function" !== typeof render ? console.error( + "forwardRef requires a render function but was given %s.", + null === render ? "null" : typeof render + ) : 0 !== render.length && 2 !== render.length && console.error( + "forwardRef render functions accept exactly two parameters: props and ref. %s", + 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined." + ); + null != render && null != render.defaultProps && console.error( + "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" + ); + var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name); + } + }); + return elementType; + }; + exports.isValidElement = isValidElement; + exports.lazy = function(ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { _status: -1, _result: ctor }, + _init: lazyInitializer + }; + }; + exports.memo = function(type, compare) { + null == type && console.error( + "memo: The first argument must be a component. Instead received: %s", + null === type ? "null" : typeof type + ); + compare = { + $$typeof: REACT_MEMO_TYPE, + type, + compare: void 0 === compare ? null : compare + }; + var ownName; + Object.defineProperty(compare, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name); + } + }); + return compare; + }; + exports.startTransition = function(scope) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )), ReactSharedInternals.T = prevTransition; + } + }; + exports.unstable_useCacheRefresh = function() { + return resolveDispatcher().useCacheRefresh(); + }; + exports.use = function(usable) { + return resolveDispatcher().use(usable); + }; + exports.useActionState = function(action, initialState, permalink) { + return resolveDispatcher().useActionState( + action, + initialState, + permalink + ); + }; + exports.useCallback = function(callback, deps) { + return resolveDispatcher().useCallback(callback, deps); + }; + exports.useContext = function(Context) { + var dispatcher = resolveDispatcher(); + Context.$$typeof === REACT_CONSUMER_TYPE && console.error( + "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?" + ); + return dispatcher.useContext(Context); + }; + exports.useDebugValue = function(value, formatterFn) { + return resolveDispatcher().useDebugValue(value, formatterFn); + }; + exports.useDeferredValue = function(value, initialValue) { + return resolveDispatcher().useDeferredValue(value, initialValue); + }; + exports.useEffect = function(create, createDeps, update) { + null == create && console.warn( + "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + var dispatcher = resolveDispatcher(); + if ("function" === typeof update) + throw Error( + "useEffect CRUD overload is not enabled in this build of React." + ); + return dispatcher.useEffect(create, createDeps); + }; + exports.useId = function() { + return resolveDispatcher().useId(); + }; + exports.useImperativeHandle = function(ref, create, deps) { + return resolveDispatcher().useImperativeHandle(ref, create, deps); + }; + exports.useInsertionEffect = function(create, deps) { + null == create && console.warn( + "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useInsertionEffect(create, deps); + }; + exports.useLayoutEffect = function(create, deps) { + null == create && console.warn( + "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useLayoutEffect(create, deps); + }; + exports.useMemo = function(create, deps) { + return resolveDispatcher().useMemo(create, deps); + }; + exports.useOptimistic = function(passthrough, reducer) { + return resolveDispatcher().useOptimistic(passthrough, reducer); + }; + exports.useReducer = function(reducer, initialArg, init) { + return resolveDispatcher().useReducer(reducer, initialArg, init); + }; + exports.useRef = function(initialValue) { + return resolveDispatcher().useRef(initialValue); + }; + exports.useState = function(initialState) { + return resolveDispatcher().useState(initialState); + }; + exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) { + return resolveDispatcher().useSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }; + exports.useTransition = function() { + return resolveDispatcher().useTransition(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } +}); + +// node_modules/react/index.js +var require_react = __commonJS({ + "node_modules/react/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_development(); + } + } +}); + +// node_modules/react/cjs/react-jsx-runtime.development.js +var require_react_jsx_runtime_development = __commonJS({ + "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) { + "use strict"; + (function() { + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) { + var children = config.children; + if (void 0 !== children) + if (isStaticChildren) + if (isArrayImpl(children)) { + for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) + validateChildKeys(children[isStaticChildren]); + Object.freeze && Object.freeze(children); + } else + console.error( + "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." + ); + else validateChildKeys(children); + if (hasOwnProperty.call(config, "key")) { + children = getComponentNameFromType(type); + var keys = Object.keys(config).filter(function(k) { + return "key" !== k; + }); + isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}"; + didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error( + 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', + isStaticChildren, + children, + keys, + children + ), didWarnAboutKeySpread[children + isStaticChildren] = true); + } + children = null; + void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey); + hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + children && defineKeyPropWarningGetter( + maybeKey, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + return ReactElement( + type, + children, + self, + source, + getOwner(), + maybeKey, + debugStack, + debugTask + ); + } + function validateChildKeys(node) { + "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1); + } + var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() { + return null; + }; + React = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( + React, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutKeySpread = {}; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + false, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.jsxs = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + true, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + })(); + } +}); + +// node_modules/react/jsx-runtime.js +var require_jsx_runtime = __commonJS({ + "node_modules/react/jsx-runtime.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_jsx_runtime_development(); + } + } +}); + +export { + __commonJS, + __toESM, + require_react, + require_jsx_runtime +}; +/*! Bundled license information: + +react/cjs/react.development.js: + (** + * @license React + * react.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react-jsx-runtime.development.js: + (** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/ +//# sourceMappingURL=chunk-AX5M7HF6.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/chunk-AX5M7HF6.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../node_modules/react/cjs/react.development.js", "../../node_modules/react/index.js", "../../node_modules/react/cjs/react-jsx-runtime.development.js", "../../node_modules/react/jsx-runtime.js"], + "sourcesContent": ["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n oldElement._owner,\n oldElement.props,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function noop$1() {}\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status)\n return (\n (ctor = payload._result),\n void 0 === ctor &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ctor\n ),\n \"default\" in ctor ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ctor\n ),\n ctor.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function noop() {}\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n },\n fnName;\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n V: null,\n actQueue: null,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n exports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n void 0,\n void 0,\n owner,\n props,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n (owner = arguments[key]),\n isValidElement(owner) && owner._store && (owner._store.validated = 1);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++) {\n var node = arguments[i];\n isValidElement(node) && node._store && (node._store.validated = 1);\n }\n i = {};\n node = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (node = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n node &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return ReactElement(\n type,\n node,\n void 0,\n void 0,\n getOwner(),\n i,\n propName ? Error(\"react-stack-top-frame\") : unknownOwnerDebugStack,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n currentTransition._updatedFibers = new Set();\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, createDeps, update) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n var dispatcher = resolveDispatcher();\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.1.1\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/index.html Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,22 @@ +<HTML> + <head> + <title> All games </title> + <link rel="stylesheet" type="text/css" href="/base.css"></link> + <link rel="preload" href="/games/Games.js" as="script"></link> + </head> + <body> + <!-- Animated background particles --> + <div class="particle"></div> + <div class="particle"></div> + <div class="particle"></div> + <div class="particle"></div> + + <!-- Floating shapes --> + <div class="floating-shape shape-1"></div> + <div class="floating-shape shape-2"></div> + + + <div id="root"></div> + <script type="module" src="/games/Games.js"></script> + </body> +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-4N34LOQP.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,174 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/Wordle/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var MAX_WORD_LEN = 5; +var MAX_ATTEMP_LEN = 6; +var constructGameState = () => { + const board = Array.from( + { length: MAX_ATTEMP_LEN }, + () => { + return Array.from({ length: MAX_WORD_LEN }, () => { + return { + value: "", + status: 2 /* DEFAULT */ + }; + }); + } + ); + const targetWord = "hello".split(""); + const position = { + letterPos: 0, + attempPos: 0 + }; + return { + board, + status: "Try to guess the word!" /* PLAYABLE */, + targetWord, + position + }; +}; +var styles = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_WORD_LEN}, 1fr)`, + width: 400, + gap: 8 + }, + letter: (wordStatus) => { + let backgroundColor = "#e6e6e6"; + switch (wordStatus) { + case 0 /* CORRECT_IN_POSITION */: + backgroundColor = "green"; + break; + case 1 /* CORRECT_IN_WRONG_POSITION */: + backgroundColor = "yellow"; + break; + case 2 /* DEFAULT */: + break; + } + return { + display: "flex", + justifyContent: "center", + alignItems: "center", + backgroundColor, + width: "100%", + aspectRatio: "1 / 1", + border: "1px solid black" + }; + } +}; +var LetterComponent = ({ letter }) => { + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.letter(letter.status), children: letter.value }); +}; +var gameStateReducer = (state, action) => { + if (state.status != "Try to guess the word!" /* PLAYABLE */) return state; + switch (action.type) { + case 0 /* INITIALZE */: + return { + ...state, + targetWord: action.targetWord.split("") + }; + case 1 /* PLACE */: + const { character } = action; + let newBoard = state.board.map( + (word, attempIdx) => attempIdx === state.position.attempPos ? word.map( + (letter, letterIdx) => letterIdx === state.position.letterPos ? { ...letter, value: character } : letter + ) : word + ); + const newPosition = calculatePosition(state.position); + let newStatus = state.status; + if (newPosition.letterPos === 0) { + const { correctLetterIdxes, correctWrongPositionLetterIndex } = gameLogic(newBoard[state.position.attempPos], state.targetWord); + newBoard = newBoard.map( + (word, attempIdx) => attempIdx === state.position.attempPos ? word.map( + (letter, letterIdx) => correctLetterIdxes.some((value) => value === letterIdx) ? { ...letter, status: 0 /* CORRECT_IN_POSITION */ } : correctWrongPositionLetterIndex.some((value) => value === letterIdx) ? { ...letter, status: 1 /* CORRECT_IN_WRONG_POSITION */ } : letter + ) : word + ); + newStatus = correctLetterIdxes.length === MAX_WORD_LEN ? "You won!" /* WON */ : state.position.attempPos + 1 === MAX_ATTEMP_LEN ? "You Lost!" /* LOST */ : "Try to guess the word!" /* PLAYABLE */; + } + return { + ...state, + board: newBoard, + position: newPosition, + status: newStatus + }; + } +}; +function gameLogic(word, targetWord) { + const map = {}; + const correctLetterIdxes = []; + const correctWrongPositionLetterIndex = []; + for (let i = 0; i < MAX_WORD_LEN; i++) { + map[targetWord[i]] ? map[targetWord[i]]++ : map[targetWord[i]] = 1; + } + for (let i = 0; i < MAX_WORD_LEN; i++) { + if (word[i].value === targetWord[i]) { + correctLetterIdxes.push(i); + map[targetWord[i]]--; + } + } + for (let i = 0; i < MAX_WORD_LEN; i++) { + if (correctLetterIdxes.some((value) => value === i)) continue; + if (targetWord.some((value) => value === word[i].value && map[value] > 0)) { + correctWrongPositionLetterIndex.push(i); + map[word[i].value]--; + } + } + return { + correctLetterIdxes, + correctWrongPositionLetterIndex + }; +} +function calculatePosition(position) { + const letterPos = (position.letterPos + 1) % MAX_WORD_LEN; + const attempPos = (position.letterPos + 1 === MAX_WORD_LEN ? position.attempPos + 1 : position.attempPos) % MAX_ATTEMP_LEN; + return { + letterPos, + attempPos + }; +} +var Wordle = () => { + const [gameState, gameDispatch] = (0, import_react.useReducer)(gameStateReducer, null, constructGameState); + (0, import_react.useEffect)(() => { + (async () => { + const res = await fetch("/api/v1/wordle"); + if (!res.ok) return; + const response = await res.json(); + gameDispatch({ type: 0 /* INITIALZE */, targetWord: response.targetWord }); + })(); + }, []); + const placeLetters = (0, import_react.useCallback)((event) => { + const letters = event.key.trim().toLowerCase(); + const regex = new RegExp("[a-z]"); + if (!regex.exec(letters) || letters === "enter") { + return; + } + gameDispatch({ type: 1 /* PLACE */, character: event.key.trim() }); + }, [gameDispatch]); + (0, import_react.useEffect)(() => { + document.addEventListener("keypress", placeLetters); + }, []); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { children: " Wordle " }), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h2", { children: [ + " ", + gameState.status, + " " + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.board, children: gameState.board.map( + (word, wordIdx) => word.map( + (letter, letterIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LetterComponent, { letter }, `${wordIdx}-${letterIdx}`) + ) + ) }) + ] }); +}; +export { + Wordle +}; +//# sourceMappingURL=main-4N34LOQP.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-4N34LOQP.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/Wordle/main.tsx"], + "sourcesContent": ["import { CSSProperties, useCallback, useEffect, useReducer } from 'react';\n\n/**\n * Question:\n\n * Create a playable Wordle game in the browser using React within one hour. The game should allow the player to guess a hidden 5-letter word in at most 6 tries. After each guess, display feedback for each letter: correct letter and position (green), correct letter wrong position (yellow), or not in the word (gray). The game ends when the player guesses the word or runs out of tries.\n * \n * Requirements:\n * \n * Choose a fixed 5-letter target word in your code.\n * \n * Render a grid showing guesses made and remaining attempts.\n * \n * Accept input from the user (keyboard or on-screen).\n * \n * Color letters according to correctness after each guess.\n * \n * Display a win or lose message at the end of the game.\n */\n\nconst MAX_WORD_LEN = 5;\nconst MAX_ATTEMP_LEN = 6;\n\ninterface Position {\n letterPos: number;\n attempPos: number;\n}\n\nenum WordStatus {\n CORRECT_IN_POSITION,\n CORRECT_IN_WRONG_POSITION,\n DEFAULT,\n}\n\ninterface Letter {\n value: string;\n status: WordStatus;\n}\n\ntype Word = Letter[]\ntype Board = Word[];\n\nenum GameStatus {\n PLAYABLE=\"Try to guess the word!\",\n WON=\"You won!\",\n LOST=\"You Lost!\",\n}\n\ninterface GameState {\n board: Board;\n targetWord: string[];\n position: Position;\n status: GameStatus;\n}\n\nconst constructGameState = (): GameState => {\n const board: Board = Array.from(\n { length: MAX_ATTEMP_LEN }, () => {\n return Array.from({ length: MAX_WORD_LEN }, () => {\n return {\n value: \"\",\n status: WordStatus.DEFAULT,\n }\n })\n }\n );\n // dummy will get replace when it hits db\n const targetWord: string[] = \"hello\".split('');\n const position: Position = {\n letterPos: 0,\n attempPos: 0,\n }\n return {\n board,\n status: GameStatus.PLAYABLE,\n targetWord,\n position,\n }\n}\n\ninterface LetterComponentProp {\n letter: Letter;\n}\n\ninterface StyleProp {\n board: CSSProperties;\n letter: (wordStatus: WordStatus) => CSSProperties;\n}\n\nconst styles: StyleProp = {\n board: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${MAX_WORD_LEN}, 1fr)`,\n width: 400,\n gap: 8,\n },\n letter: (wordStatus: WordStatus): CSSProperties => {\n let backgroundColor: string = \"#e6e6e6\";\n switch(wordStatus) {\n case WordStatus.CORRECT_IN_POSITION:\n backgroundColor = \"green\";\n break;\n case WordStatus.CORRECT_IN_WRONG_POSITION:\n backgroundColor = \"yellow\";\n break;\n case WordStatus.DEFAULT:\n break;\n }\n return {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor,\n width: \"100%\",\n aspectRatio: \"1 / 1\",\n border: \"1px solid black\",\n }\n }\n}\n\nconst LetterComponent = ({letter}: LetterComponentProp) => {\n return (\n <div style={styles.letter(letter.status)}> \n {letter.value}\n </div>\n )\n}\n\nenum GameActionEnum {\n INITIALZE,\n PLACE,\n};\n\ntype GameAction =\n | { type: GameActionEnum.PLACE, character: string }\n | { type: GameActionEnum.INITIALZE, targetWord: string };\n\nconst gameStateReducer = (state: GameState, action: GameAction): GameState => {\n if (state.status != GameStatus.PLAYABLE) return state;\n\n switch(action.type) {\n case GameActionEnum.INITIALZE:\n return {\n ...state,\n targetWord: action.targetWord.split(''),\n };\n case GameActionEnum.PLACE:\n const { character } = action;\n let newBoard = state.board.map(\n (word, attempIdx) => attempIdx === state.position.attempPos ?\n word.map(\n (letter, letterIdx) => letterIdx === state.position.letterPos ?\n {...letter, value: character} : letter) : word);\n const newPosition = calculatePosition(state.position);\n let newStatus: GameStatus = state.status;\n if (newPosition.letterPos === 0) {\n const {correctLetterIdxes, correctWrongPositionLetterIndex} = gameLogic(newBoard[state.position.attempPos], state.targetWord);\n newBoard = newBoard.map(\n (word, attempIdx) => attempIdx === state.position.attempPos ?\n word.map(\n (letter, letterIdx) => correctLetterIdxes.some((value) => value === letterIdx) ?\n {...letter, status: WordStatus.CORRECT_IN_POSITION } : \n (correctWrongPositionLetterIndex.some((value) => value === letterIdx) ? \n {...letter, status: WordStatus.CORRECT_IN_WRONG_POSITION} : letter)\n )\n : word);\n newStatus = correctLetterIdxes.length === MAX_WORD_LEN ? \n GameStatus.WON : (\n state.position.attempPos + 1 === MAX_ATTEMP_LEN ? \n GameStatus.LOST : GameStatus.PLAYABLE\n );\n }\n return {\n ...state,\n board: newBoard,\n position: newPosition,\n status: newStatus,\n };\n }\n}\n\nfunction gameLogic(word: Word, targetWord: string[]) {\n const map: Record<string, number> = {};\n const correctLetterIdxes: number[] = []\n const correctWrongPositionLetterIndex: number[] = []\n for (let i = 0; i < MAX_WORD_LEN; i++) {\n map[targetWord[i]] ? map[targetWord[i]]++ : map[targetWord[i]] = 1;\n }\n for (let i = 0; i < MAX_WORD_LEN; i++) {\n if (word[i].value === targetWord[i]) {\n correctLetterIdxes.push(i);\n map[targetWord[i]]--;\n }\n }\n for (let i = 0; i < MAX_WORD_LEN; i++) {\n if (correctLetterIdxes.some((value) => value===i)) continue;\n if (\n targetWord.some((value) => value===word[i].value && map[value] > 0)\n ) {\n correctWrongPositionLetterIndex.push(i);\n map[word[i].value]--;\n }\n }\n return {\n correctLetterIdxes,\n correctWrongPositionLetterIndex,\n }\n}\n\nfunction calculatePosition(position: Position): Position {\n const letterPos = (position.letterPos + 1) % MAX_WORD_LEN;\n const attempPos = (\n (position.letterPos + 1) === MAX_WORD_LEN ? \n position.attempPos + 1 : position.attempPos) % MAX_ATTEMP_LEN;\n return {\n letterPos,\n attempPos,\n }\n}\n\nconst Wordle = () => {\n const [gameState, gameDispatch] = useReducer(gameStateReducer, null, constructGameState);\n\n useEffect(() => {\n (async() => {\n const res = await fetch('/api/v1/wordle');\n if (!res.ok) return;\n const response = await res.json();\n gameDispatch({ type: GameActionEnum.INITIALZE, targetWord: response.targetWord });\n })();\n }, []);\n\n const placeLetters = useCallback((event: KeyboardEvent) => {\n const letters = event.key.trim().toLowerCase();\n const regex = new RegExp('[a-z]');\n if (\n !regex.exec(letters) ||\n letters === \"enter\"\n ) {\n return;\n }\n gameDispatch({ type: GameActionEnum.PLACE, character: event.key.trim() })\n }, [gameDispatch]);\n\n useEffect(() => {\n document.addEventListener(\"keypress\", placeLetters)\n }, [])\n\n return (\n <>\n <h1> Wordle </h1>\n <h2> {gameState.status} </h2>\n <div style={styles.board}>\n {gameState.board.map(\n (word, wordIdx) => word.map(\n (letter, letterIdx) => (\n <LetterComponent key={`${wordIdx}-${letterIdx}`} letter={letter} />\n ))\n )} \n </div>\n </>\n );\n}\n\nexport {\n Wordle,\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-EQTPDHY4.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,117 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/LightsOut/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var MAX_COL = 5; +var MAX_ROW = 5; +var DIRECTION = [ + [0, 0], + [0, 1], + [1, 0], + [0, -1], + [-1, 0] +]; +var constructGameState = () => { + const board = Array.from( + { length: MAX_ROW }, + () => Array.from( + { length: MAX_COL }, + () => ({ value: false }) + ) + ); + for (let i = 0; i < 30; i++) { + const r = Math.floor(Math.random() * MAX_ROW); + const c = Math.floor(Math.random() * MAX_COL); + for (const [dr, dc] of DIRECTION) { + if (board[r + dr]?.[c + dc]) { + board[r + dr][c + dc].value = !board[r + dr]?.[c + dc].value; + } + } + } + return { + board, + status: 0 /* PLAYABLE */, + moves: 0 + }; +}; +var styles = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`, + width: MAX_COL * 30 + }, + cell: (isLightOn) => ({ + width: "100%", + aspectRatio: "1 / 1", + border: `1px solid #222`, + backgroundColor: isLightOn ? "white" : "black", + transition: "background-color 120ms ease", + cursor: "pointer" + }) +}; +var CellComponent = (0, import_react.memo)(({ cellValue, rowPos, colPos, dispatch }) => { + const onClickHandler = (0, import_react.useCallback)(() => { + dispatch({ type: "place", newRowPos: rowPos, newColPos: colPos }); + }, [rowPos, colPos, dispatch]); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { onClick: onClickHandler, style: styles.cell(cellValue.value) }); +}); +var gameStateReducer = (state, action) => { + if (state.status === 1 /* WON */) return state; + switch (action.type) { + case "place": + const allDirection = []; + for (const [dr, dc] of DIRECTION) { + allDirection.push([action.newRowPos + dr, action.newColPos + dc]); + } + const newBoard = state.board.map( + (row, rowIdx) => row.map((col, colIdx) => allDirection.some( + ([nr, nc]) => rowIdx === nr && colIdx === nc + ) ? { ...col, value: !col.value } : col) + ); + const newStatus = newBoard.flat().filter((cell) => cell.value).length === MAX_COL * MAX_ROW ? 1 /* WON */ : 0 /* PLAYABLE */; + return { + ...state, + status: newStatus, + board: newBoard, + moves: state.moves + 1 + }; + case "reset": + return constructGameState(); + } +}; +var LightsOut = () => { + const [gameState, dispatch] = (0, import_react.useReducer)(gameStateReducer, null, constructGameState); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h1", { children: [ + " Game Status ", + gameState.status + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h2", { children: [ + " Number of moves so far ", + gameState.moves + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.board, children: gameState.board.map( + (row, rowIdx) => row.map( + (cellValue, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + CellComponent, + { + cellValue, + rowPos: rowIdx, + colPos: colIdx, + dispatch + }, + `${rowIdx}-${colIdx}` + ) + ) + ) }) + ] }); +}; +export { + LightsOut +}; +//# sourceMappingURL=main-EQTPDHY4.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-EQTPDHY4.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/LightsOut/main.tsx"], + "sourcesContent": ["import { ActionDispatch, CSSProperties, memo, useCallback, useReducer } from 'react';\n\n/**\n * create lights out game\n *\n * - 5 x 5 grid\n * - when click it will turn on lights on top left right bottom.\n * - count number of moves\n * - timers\n * - when every thing is on then tthey win\n */\n\ninterface Cell {\n value: boolean; // true on and false off.\n}\n\ntype Board = Cell[][];\n\nenum GameStatus {\n PLAYABLE,\n WON,\n}\n\ninterface GameState {\n board: Board;\n status: GameStatus;\n moves: number;\n}\n\nconst MAX_COL = 5;\nconst MAX_ROW = 5;\nconst DIRECTION = [\n [0, 0],\n [0, 1],\n [1, 0],\n [0, -1],\n [-1, 0],\n]\nconst constructGameState = (): GameState => {\n const board = Array.from(\n { length: MAX_ROW }, \n () => Array.from({ length: MAX_COL},\n () => ({ value: false })\n )\n );\n\n for (let i = 0; i < 30; i++) {\n const r = Math.floor(Math.random() * MAX_ROW);\n const c = Math.floor(Math.random() * MAX_COL);\n for (const [dr, dc] of DIRECTION) {\n if (board[r+dr]?.[c+dc]) {\n board[r+dr][c+dc].value = !board[r+dr]?.[c+dc].value\n }\n }\n }\n return {\n board,\n status: GameStatus.PLAYABLE,\n moves: 0,\n }\n}\n\n\ninterface Styles {\n board: CSSProperties;\n cell: (isLightOn: boolean) => CSSProperties;\n}\n\nconst styles: Styles = {\n board: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`,\n width: MAX_COL * 30,\n },\n cell: (isLightOn: boolean) => ({\n width: \"100%\",\n aspectRatio: \"1 / 1\",\n border: `1px solid #222`,\n backgroundColor: isLightOn ? \"white\" : \"black\",\n transition: \"background-color 120ms ease\",\n cursor: \"pointer\",\n })\n}\n\ninterface CellComponentProp {\n cellValue: Cell;\n rowPos: number;\n colPos: number;\n dispatch: ActionDispatch<[action: Action]>;\n}\n\nconst CellComponent = memo(({ cellValue, rowPos, colPos, dispatch }: CellComponentProp) => {\n const onClickHandler = useCallback(()=>{\n dispatch({type: \"place\", newRowPos: rowPos, newColPos: colPos});\n }, [rowPos, colPos, dispatch]);\n\n return (\n <div onClick={onClickHandler} style={styles.cell(cellValue.value)}></div>\n )\n})\n\ntype Action = \n | { type: \"place\", newRowPos: number, newColPos: number }\n | { type: \"reset\" }\n\nconst gameStateReducer = (state: GameState, action: Action): GameState => {\n if (state.status === GameStatus.WON) return state;\n switch(action.type) {\n case \"place\":\n const allDirection: number[][] = [];\n for (const [dr, dc] of DIRECTION) {\n allDirection.push([action.newRowPos + dr, action.newColPos + dc]);\n }\n const newBoard: Board = state.board.map(\n (row, rowIdx) => \n row.map((col, colIdx) => \n (allDirection.some(\n ([nr, nc]) => rowIdx === nr && colIdx === nc\n )) ? { ...col, value: !col.value } : col)\n )\n const newStatus = \n (newBoard.flat().filter((cell) => cell.value).length === MAX_COL * MAX_ROW) ?\n GameStatus.WON : GameStatus.PLAYABLE;\n\n return {\n ...state,\n status: newStatus,\n board: newBoard,\n moves: state.moves + 1,\n };\n case \"reset\":\n return constructGameState();\n }\n}\n\nconst LightsOut = () => {\n const [gameState, dispatch] = useReducer(gameStateReducer, null, constructGameState);\n return (\n <>\n <h1> Game Status {gameState.status}</h1>\n <h2> Number of moves so far {gameState.moves}</h2>\n <div style={styles.board}>\n {\n gameState.board.map(\n (row, rowIdx) => \n row.map(\n (cellValue, colIdx) => \n (<CellComponent \n key={`${rowIdx}-${colIdx}`}\n cellValue={cellValue} \n rowPos={rowIdx}\n colPos={colIdx}\n dispatch={dispatch}/>)\n )\n )\n } \n </div>\n </>\n );\n}\n\nexport {\n LightsOut\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-HVML6WQS.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,94 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/Connectfour/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var ROWS = 6; +var COLS = 7; +var emptyBoard = () => Array.from({ length: ROWS }, () => Array(COLS).fill("" /* _ */)); +var init = { board: emptyBoard(), turn: "\u{1F534}" /* R */, status: "PLAYING" }; +function firstEmptyRow(board, col) { + for (let r = ROWS - 1; r >= 0; r--) if (board[r][col] === "" /* _ */) return r; + return null; +} +function scanWinner(b) { + const lines = [ + [1, 0], + [0, 1], + // vertical, horizontal + [1, 1], + [1, -1] + // two diagonals + ]; + for (let r = 0; r < ROWS; r++) + for (let c = 0; c < COLS; c++) + if (b[r][c] !== "" /* _ */) { + for (const [dr, dc] of lines) + if (b[r + dr]?.[c + dc] === b[r][c] && b[r + 2 * dr]?.[c + 2 * dc] === b[r][c] && b[r + 3 * dr]?.[c + 3 * dc] === b[r][c]) + return b[r][c] === "\u{1F534}" /* R */ ? "R_WON" : "Y_WON"; + } + return b.flat().every((p) => p !== "" /* _ */) ? "TIE" : "PLAYING"; +} +function reducer(s, a) { + if (a.type === "RESET") return init; + if (s.status !== "PLAYING") return s; + const row = firstEmptyRow(s.board, a.col); + if (row == null) return s; + const newRow = [...s.board[row]]; + newRow[a.col] = s.turn; + const newBoard = s.board.map((r, i) => i === row ? newRow : r); + const nextTurn = s.turn === "\u{1F534}" /* R */ ? "\u{1F7E1}" /* Y */ : "\u{1F534}" /* R */; + const status = scanWinner(newBoard); + return { board: newBoard, turn: nextTurn, status }; +} +var DispatchCtx = (0, import_react.createContext)(null); +var useGameDispatch = () => { + const d = (0, import_react.useContext)(DispatchCtx); + if (!d) throw new Error("outside provider"); + return d; +}; +var Cell = (0, import_react.memo)(({ v }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { + width: 52, + height: 52, + margin: 2, + borderRadius: "50%", + background: "#0e2a5a", + display: "grid", + placeItems: "center", + fontSize: 30 +}, children: v })); +var ColBtn = ({ col }) => { + const dispatch = useGameDispatch(); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { flex: 1, height: 20, cursor: "pointer" }, + onClick: () => dispatch({ type: "DROP", col }) + } + ); +}; +var BoardView = (0, import_react.memo)(({ board }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "flex" }, children: Array.from({ length: COLS }, (_, c) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ColBtn, { col: c }, c)) }), + board.map((row, r) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "flex" }, children: row.map((v, c) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Cell, { v }, c)) }, r)) +] })); +function ConnectFour() { + const [state, dispatch] = (0, import_react.useReducer)(reducer, init); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DispatchCtx.Provider, { value: dispatch, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h2", { style: { textAlign: "center" }, children: [ + state.status === "PLAYING" && `Turn: ${state.turn}`, + state.status === "TIE" && "Tie game", + state.status === "R_WON" && "Red wins!", + state.status === "Y_WON" && "Yellow wins!" + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BoardView, { board: state.board }), + state.status !== "PLAYING" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { marginTop: 16 }, onClick: () => dispatch({ type: "RESET" }), children: "Play again" }) + ] }); +} +export { + ConnectFour +}; +//# sourceMappingURL=main-HVML6WQS.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-HVML6WQS.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/Connectfour/main.tsx"], + "sourcesContent": ["import {\n useReducer, createContext, useContext, memo, Dispatch\n} from 'react'\n\nenum P { R = '\uD83D\uDD34', Y = '\uD83D\uDFE1', _ = '' }\n\ntype Board = P[][] // 6 rows \u00D7 7 cols\ntype Status = 'PLAYING' | 'TIE' | 'R_WON' | 'Y_WON'\n\ntype Action =\n | { type: 'DROP'; col: number }\n | { type: 'RESET' }\n\ninterface State {\n board: Board\n turn: P.R | P.Y\n status: Status\n}\n\nconst ROWS = 6, COLS = 7\nconst emptyBoard = (): Board =>\n Array.from({ length: ROWS }, () => Array(COLS).fill(P._))\n\nconst init: State = { board: emptyBoard(), turn: P.R, status: 'PLAYING' }\n\nfunction firstEmptyRow(board: Board, col: number): number | null {\n for (let r = ROWS - 1; r >= 0; r--) if (board[r][col] === P._) return r\n return null\n}\n\nfunction scanWinner(b: Board): Status {\n const lines = [\n [ 1, 0], [0, 1], // vertical, horizontal\n [ 1, 1], [1, -1], // two diagonals\n ]\n for (let r = 0; r < ROWS; r++)\n for (let c = 0; c < COLS; c++)\n if (b[r][c] !== P._)\n for (const [dr, dc] of lines)\n if (\n b[r + dr]?.[c + dc] === b[r][c] &&\n b[r + 2*dr]?.[c + 2*dc] === b[r][c] &&\n b[r + 3*dr]?.[c + 3*dc] === b[r][c]\n )\n return b[r][c] === P.R ? 'R_WON' : 'Y_WON'\n\n return b.flat().every(p => p !== P._) ? 'TIE' : 'PLAYING'\n}\n\n\nfunction reducer(s: State, a: Action): State {\n if (a.type === 'RESET') return init\n if (s.status !== 'PLAYING') return s // game over\n\n const row = firstEmptyRow(s.board, a.col)\n if (row == null) return s // full column\n\n // clone touched row only\n const newRow = [...s.board[row]]\n newRow[a.col] = s.turn\n const newBoard = s.board.map((r, i) => (i === row ? newRow : r))\n\n const nextTurn = s.turn === P.R ? P.Y : P.R\n const status = scanWinner(newBoard)\n\n return { board: newBoard, turn: nextTurn, status }\n}\n\nconst DispatchCtx = createContext<Dispatch<Action> | null>(null)\nconst useGameDispatch = () => {\n const d = useContext(DispatchCtx)\n if (!d) throw new Error('outside provider')\n return d\n}\n\n/* ------- Leaf ------- */\ninterface CellProps { v: P }\nconst Cell = memo<CellProps>(({ v }) => (\n <div style={{\n width: 52, height: 52, margin: 2, borderRadius: '50%',\n background: '#0e2a5a', display: 'grid', placeItems: 'center',\n fontSize: 30\n }}>\n {v}\n </div>\n))\n\n/* ------- Column button ------- */\nconst ColBtn = ({ col }: { col: number }) => {\n const dispatch = useGameDispatch()\n return (\n <button\n style={{ flex: 1, height: 20, cursor: 'pointer' }}\n onClick={() => dispatch({ type: 'DROP', col })}\n />\n )\n}\n\n/* ------- Board ------- */\nconst BoardView = memo(({ board }: { board: Board }) => (\n <div>\n {/* clickable top buttons */}\n <div style={{ display: 'flex' }}>\n {Array.from({ length: COLS }, (_, c) => <ColBtn key={c} col={c} />)}\n </div>\n\n {/* grid */}\n {board.map((row, r) => (\n <div key={r} style={{ display: 'flex' }}>\n {row.map((v, c) => <Cell key={c} v={v} />)}\n </div>\n ))}\n </div>\n))\n\nfunction ConnectFour() {\n const [state, dispatch] = useReducer(reducer, init)\n\n return (\n <DispatchCtx.Provider value={dispatch}>\n <h2 style={{ textAlign: 'center' }}>\n {state.status === 'PLAYING' && `Turn: ${state.turn}`}\n {state.status === 'TIE' && 'Tie game'}\n {state.status === 'R_WON' && 'Red wins!'}\n {state.status === 'Y_WON' && 'Yellow wins!'}\n </h2>\n\n <BoardView board={state.board} />\n\n {state.status !== 'PLAYING' && (\n <button style={{ marginTop: 16 }} onClick={() => dispatch({ type: 'RESET' })}>\n Play again\n </button>\n )}\n </DispatchCtx.Provider>\n )\n}\n\nexport {\n ConnectFour,\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-KK4JGOCU.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,191 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/Minesweeper/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var MAX_SIZE_LEN = 10; +var N_BOMBS = 10; +var DIRECTION = [ + [0, 1], + [1, 1], + [1, 0], + [1, -1], + [0, -1], + [-1, -1], + [-1, 0], + [-1, 1] +]; +var constructGameState = () => { + let board = Array.from( + { length: MAX_SIZE_LEN }, + () => Array.from( + { length: MAX_SIZE_LEN }, + () => ({ + value: 0 /* EMPTY */, + numberOfAdjacentBomb: 0, + isShown: false, + isFlag: false + }) + ) + ); + let placedBomb = 0; + const bombPlacments = []; + while (placedBomb < N_BOMBS) { + const bombRowIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + const bombColIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + if (board[bombRowIdx][bombColIdx].value === 0 /* EMPTY */) { + board[bombRowIdx][bombColIdx] = { + ...board[bombRowIdx][bombColIdx], + value: 1 /* BOMB */ + }; + placedBomb++; + bombPlacments.push([bombRowIdx, bombColIdx]); + } + } + for (const [bombR, bombC] of bombPlacments) { + for (const [dr, dc] of DIRECTION) { + if (board[bombR + dr]?.[bombC + dc]?.value === 0 /* EMPTY */) { + board[bombR + dr][bombC + dc] = { + ...board[bombR + dr][bombC + dc], + numberOfAdjacentBomb: board[bombR + dr][bombC + dc].numberOfAdjacentBomb + 1 + }; + } + } + } + return { + board, + status: "Reveal all the map while not clicking on mine" /* PLAYABLE */ + }; +}; +var gameStateReducer = (state, action) => { + switch (action.type) { + case 0 /* CHECK */: + const { position } = action; + const board = state.board.map((row) => row.map((col) => ({ ...col }))); + const start = board[position.row][position.col]; + if (start.value === 1 /* BOMB */) { + for (const row of board) for (const cell of row) cell.isShown = true; + return { board, status: "YOU LOST" /* LOST */ }; + } + if (!start.isShown) start.isShown = true; + if (start.numberOfAdjacentBomb === 0) { + const q = [position]; + while (q.length) { + const { row, col } = q.shift(); + for (const [dr, dc] of DIRECTION) { + const r = row + dr, c = col + dc; + const n = board[r]?.[c]; + if (!n || n.isShown || n.value === 1 /* BOMB */) continue; + n.isShown = true; + if (n.numberOfAdjacentBomb === 0) q.push({ row: r, col: c }); + } + } + } + const hidden = board.flat().filter((c) => !c.isShown).length; + const status = hidden === N_BOMBS ? "YOU WON" /* WON */ : "Reveal all the map while not clicking on mine" /* PLAYABLE */; + return { board, status }; + case 2 /* FLAG */: + const newBoard = state.board.map( + (row, rowIdx) => rowIdx === action.position.row ? row.map( + (col, colIdx) => colIdx === action.position.col ? { ...col, isFlag: true } : col + ) : row + ); + console.log(newBoard); + return { + ...state, + board: newBoard + }; + case 1 /* RESET */: + return constructGameState(); + } +}; +var styles = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_SIZE_LEN}, 1fr)`, + width: 400 + }, + cell: { + display: "flex", + justifyContent: "center", + alignItems: "center", + width: "100%", + aspectRatio: "1 / 1", + border: "1px solid black", + backgroundColor: "#e6e6e6" + } +}; +var CellComponent = (0, import_react.memo)(({ + cellValue, + row, + col, + placeDispatch, + flagDispatch +}) => { + console.log("re-render"); + const handleOnClikck = (0, import_react.useCallback)(() => { + placeDispatch(row, col); + }, [row, col, placeDispatch]); + const handleOnRightClikck = (0, import_react.useCallback)((event) => { + event.preventDefault(); + flagDispatch(row, col); + }, [row, col, placeDispatch]); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "div", + { + style: { + ...styles.cell, + cursor: "pointer", + backgroundColor: cellValue.isShown ? "#fafafa" : "#e6e6e6" + }, + onClick: handleOnClikck, + onContextMenu: handleOnRightClikck, + children: cellValue.isShown ? cellValue.value === 1 /* BOMB */ ? "\u{1F4A3}" : cellValue.numberOfAdjacentBomb || "" : cellValue.isFlag ? "\u{1F6A9}" : "" + } + ); +}, (prev, next) => prev.cellValue.isShown === next.cellValue.isShown && prev.cellValue.isFlag === next.cellValue.isFlag); +var Minesweeper = () => { + const [state, dispatch] = (0, import_react.useReducer)(gameStateReducer, null, constructGameState); + const placeDispatch = (0, import_react.useCallback)( + (row, col) => { + dispatch({ type: 0 /* CHECK */, position: { row, col } }); + }, + [dispatch] + ); + const flagDispatch = (0, import_react.useCallback)( + (row, col) => { + dispatch({ type: 2 /* FLAG */, position: { row, col } }); + }, + [dispatch] + ); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h1", { children: [ + " ", + state.status, + " " + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.board, children: state.board.map( + (row, rowIdx) => row.map( + (cell, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + CellComponent, + { + cellValue: cell, + row: rowIdx, + col: colIdx, + placeDispatch, + flagDispatch + }, + `${rowIdx}-${colIdx}` + ) + ) + ) }) + ] }); +}; +export { + Minesweeper +}; +//# sourceMappingURL=main-KK4JGOCU.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-KK4JGOCU.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/Minesweeper/main.tsx"], + "sourcesContent": ["import { CSSProperties, memo, useCallback, useReducer } from 'react';\n\n/**\n *\n * Build a simplified Minesweeper game in React where the user can click cells to reveal them. \n * Some cells contain mines, others show the number of adjacent mines. \n * If a cell with zero adjacent mines is revealed, all connected zero-cells should be revealed \n * automatically. \n * The game ends if a mine is revealed, and the player wins if all non-mine cells are revealed.\n *\n * The board should be 10\u00D710.\n * \n * Clicking a cell reveals it:\n * \n * If it\u2019s a mine, the game ends with a \u201CGame Over\u201D message.\n * \n * If it\u2019s not a mine, show the number of adjacent mines (0\u20138).\n * \n * If the number is 0, automatically reveal all connected empty cells and their numbered border.\n * \n * The player wins when all non-mine cells are revealed.\n * \n * Include a Reset button to restart the game with a new random layout.\n * \n * Optional: Allow right-clicking a cell to toggle a flag icon (to mark suspected mines).\n */\n\nenum CellValue {\n EMPTY,\n BOMB,\n}\n\ninterface Cell { \n value: CellValue;\n numberOfAdjacentBomb: number;\n isShown: boolean;\n isFlag: boolean,\n}\n\n\ntype Board = Cell[][];\n\nenum GameStatus {\n PLAYABLE=\"Reveal all the map while not clicking on mine\",\n WON=\"YOU WON\",\n LOST=\"YOU LOST\"\n}\n\ninterface GameState {\n board: Board;\n status: GameStatus;\n}\n\nconst MAX_SIZE_LEN = 10;\nconst N_BOMBS = 10;\nconst DIRECTION = [\n [0,1],\n [1,1],\n [1,0],\n [1,-1],\n [0,-1],\n [-1,-1],\n [-1,0],\n [-1,1],\n]\n\nconst constructGameState = (): GameState => {\n let board: Board = Array.from(\n { length: MAX_SIZE_LEN }, () => Array.from(\n { length: MAX_SIZE_LEN }, (): Cell => (\n {\n value: CellValue.EMPTY, numberOfAdjacentBomb: 0, isShown: false ,\n isFlag: false,\n })\n )\n );\n\n // Place the bombs\n let placedBomb = 0; \n const bombPlacments: number[][] = [];\n while (placedBomb < N_BOMBS) {\n const bombRowIdx = Math.floor(Math.random() * MAX_SIZE_LEN);\n const bombColIdx = Math.floor(Math.random() * MAX_SIZE_LEN);\n if (board[bombRowIdx][bombColIdx].value === CellValue.EMPTY) {\n board[bombRowIdx][bombColIdx] = {\n ...board[bombRowIdx][bombColIdx],\n value: CellValue.BOMB,\n }\n placedBomb++;\n bombPlacments.push([bombRowIdx, bombColIdx]);\n }\n }\n\n // Find all adjacent cells and add values\n for (const [bombR, bombC] of bombPlacments) {\n for (const [dr, dc] of DIRECTION) {\n if (board[bombR+dr]?.[bombC+dc]?.value === CellValue.EMPTY) {\n board[bombR+dr][bombC+dc] = {\n ...board[bombR+dr][bombC+dc],\n numberOfAdjacentBomb: board[bombR+dr][bombC+dc].numberOfAdjacentBomb + 1\n }\n }\n }\n }\n\n return {\n board,\n status: GameStatus.PLAYABLE,\n }\n}\n\nenum GameActionEnum {\n CHECK,\n RESET,\n FLAG,\n}\n\ninterface Position {\n row: number;\n col: number;\n}\n\ntype GameAction = \n | { type: GameActionEnum.CHECK, position: Position }\n | { type: GameActionEnum.FLAG, position: Position }\n | { type: GameActionEnum.RESET }\n\nconst gameStateReducer = (state: GameState, action: GameAction): GameState => {\n switch(action.type) {\n case GameActionEnum.CHECK:\n const {position} = action;\n const board = state.board.map(row=>row.map(col=>({...col})));\n const start = board[position.row][position.col];\n\n if (start.value === CellValue.BOMB) {\n for (const row of board) for (const cell of row) cell.isShown = true;\n return { board, status: GameStatus.LOST };\n }\n\n if (!start.isShown) start.isShown = true;\n\n if (start.numberOfAdjacentBomb === 0) {\n const q: Position[] = [position];\n while (q.length) {\n const { row, col } = q.shift()!;\n for (const [dr, dc] of DIRECTION) {\n const r = row + dr, c = col + dc;\n const n = board[r]?.[c];\n if (!n || n.isShown || n.value === CellValue.BOMB) continue;\n n.isShown = true;\n if (n.numberOfAdjacentBomb === 0) q.push({ row: r, col: c });\n }\n }\n }\n\n const hidden = board.flat().filter(c => !c.isShown).length;\n const status = hidden === N_BOMBS ? GameStatus.WON : GameStatus.PLAYABLE;\n return { board, status };\n\n case GameActionEnum.FLAG:\n const newBoard = state.board.map(\n (row, rowIdx) => rowIdx === action.position.row ?\n row.map(\n (col, colIdx): Cell => \n colIdx === action.position.col ? \n ({...col, isFlag: true }) : col\n ) : row\n );\n console.log(newBoard);\n return {\n ...state,\n board: newBoard,\n }\n case GameActionEnum.RESET:\n return constructGameState();\n }\n}\n\ninterface StylesProp {\n board: CSSProperties;\n cell: CSSProperties;\n}\n\nconst styles: StylesProp = {\n board: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${MAX_SIZE_LEN}, 1fr)`,\n width: 400,\n },\n cell: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n aspectRatio: \"1 / 1\",\n border: \"1px solid black\",\n backgroundColor: \"#e6e6e6\"\n }\n}\n\ninterface CellComponentProp {\n cellValue: Cell;\n row: number;\n col: number;\n placeDispatch: (row: number, col: number) => void;\n flagDispatch: (row: number, col: number) => void;\n}\n\nconst CellComponent = memo(({\n cellValue, row,\n col, placeDispatch,\n flagDispatch\n}: CellComponentProp) => {\n console.log(\"re-render\");\n const handleOnClikck = useCallback(() => {\n placeDispatch(row, col);\n }, [row, col, placeDispatch])\n\n const handleOnRightClikck = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n flagDispatch(row, col);\n }, [row, col, placeDispatch])\n\n\n return (\n <div\n style={{\n ...styles.cell,\n cursor: \"pointer\",\n backgroundColor: cellValue.isShown ? \"#fafafa\" : \"#e6e6e6\",\n }}\n onClick={handleOnClikck}\n onContextMenu={handleOnRightClikck} \n >\n {cellValue.isShown\n ? cellValue.value === CellValue.BOMB\n ? \"\uD83D\uDCA3\"\n : cellValue.numberOfAdjacentBomb || \"\"\n : cellValue.isFlag\n ? \"\uD83D\uDEA9\" \n : \"\"}\n </div>\n )\n}, (prev, next) =>\n prev.cellValue.isShown === next.cellValue.isShown &&\n prev.cellValue.isFlag === next.cellValue.isFlag)\n\nconst Minesweeper = () => {\n const [state, dispatch] = useReducer(gameStateReducer, null, constructGameState);\n\n const placeDispatch = useCallback(\n (row: number, col: number) => {\n dispatch({type: GameActionEnum.CHECK, position: { row, col }})\n }, [dispatch])\n\n const flagDispatch = useCallback(\n (row: number, col: number) => {\n dispatch({type: GameActionEnum.FLAG, position: { row, col }})\n }, [dispatch])\n\n return (\n <>\n <h1> {state.status} </h1>\n <div style={styles.board}> \n {state.board.map(\n (row, rowIdx) => row.map(\n (cell, colIdx) => (\n <CellComponent\n key={`${rowIdx}-${colIdx}`}\n cellValue={cell} \n row={rowIdx}\n col={colIdx}\n placeDispatch={placeDispatch}\n flagDispatch={flagDispatch} />)\n )\n )} \n </div>\n </>\n )\n}\n\nexport {\n Minesweeper,\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-MX6K4HMI.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,109 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/CardMatchiing/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var shuffle = (arr) => [...arr].sort(() => Math.random() - 0.5); +var makeBoard = () => { + const values = shuffle( + Array.from({ length: 10 }, (_, i) => i + 1).flatMap((v) => [v, v]) + ); + return Array.from( + { length: 4 }, + (_, r) => Array.from({ length: 5 }, (_2, c) => ({ + value: values[r * 5 + c], + isFacing: false, + isSolved: false + })) + ); +}; +var BoardContext = (0, import_react.createContext)(null); +var useBoardDispatch = () => { + const ctx = (0, import_react.useContext)(BoardContext); + if (!ctx) throw new Error("BoardContext missing"); + return ctx; +}; +var initial = () => ({ board: makeBoard(), open: [], busy: false }); +function reducer(state, action) { + switch (action.type) { + case "reset": + return initial(); + case "flipBack": { + const [a, b] = state.open; + const nextBoard = state.board.map( + (row, r) => row.map( + (card, c) => r === a.row && c === a.col || r === b.row && c === b.col ? { ...card, isFacing: false } : card + ) + ); + return { board: nextBoard, open: [], busy: false }; + } + case "move": { + if (state.busy) return state; + const { row, col } = action; + const target = state.board[row][col]; + if (target.isFacing || target.isSolved) return state; + const nextBoard = state.board.map( + (r, ri) => r.map( + (c, ci) => ri === row && ci === col ? { ...c, isFacing: true } : c + ) + ); + const open = [...state.open, { row, col }]; + if (open.length < 2) return { ...state, board: nextBoard, open }; + const [a, b] = open; + const first = nextBoard[a.row][a.col]; + const second = nextBoard[b.row][b.col]; + if (first.value === second.value) { + const solvedBoard = nextBoard.map( + (r, ri) => r.map( + (c, ci) => ri === a.row && ci === a.col || ri === b.row && ci === b.col ? { ...c, isSolved: true } : c + ) + ); + return { board: solvedBoard, open: [], busy: false }; + } + return { board: nextBoard, open, busy: true }; + } + default: + return state; + } +} +var Card = ({ row, col, card }) => { + const dispatch = useBoardDispatch(); + const style = { + width: 60, + height: 80, + margin: 4, + fontSize: 24, + display: "flex", + alignItems: "center", + justifyContent: "center", + background: card.isSolved ? "#8bc34a" : card.isFacing ? "#fff" : "#90caf9", + cursor: card.isSolved ? "default" : "pointer", + borderRadius: 6, + userSelect: "none" + }; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style, onClick: () => dispatch({ type: "move", row, col }), children: card.isFacing || card.isSolved ? card.value : "\u{1F0A0}" }); +}; +var Row = ({ row, rowPos }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "flex" }, children: row.map((card, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Card, { row: rowPos, col: idx, card }, idx)) }); +var MemoryGame = () => { + const [state, dispatch] = (0, import_react.useReducer)(reducer, void 0, initial); + (0, import_react.useEffect)(() => { + if (state.busy) { + const t = setTimeout(() => dispatch({ type: "flipBack" }), 1e3); + return () => clearTimeout(t); + } + }, [state.busy]); + const solved = state.board.every((r) => r.every((c) => c.isSolved)); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { style: { textAlign: "center" }, children: solved ? "\u{1F389} You won!" : "Memory Game" }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BoardContext.Provider, { value: dispatch, children: state.board.map((row, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Row, { rowPos: idx, row }, idx)) }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { textAlign: "center", marginTop: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { onClick: () => dispatch({ type: "reset" }), children: "Reset" }) }) + ] }); +}; +export { + MemoryGame +}; +//# sourceMappingURL=main-MX6K4HMI.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-MX6K4HMI.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/CardMatchiing/main.tsx"], + "sourcesContent": ["/**\n *\n * You\u2019re tasked with building a simple memory card-matching game in React.\n\n Each card has a hidden value, and the player flips two cards at a time to try to find a match.\n\n If the cards match, they stay face-up. If not, they flip back after a short delay.\n\n The game ends when all pairs are matched.\n\n // Basic components\n // Board\n // Cards (values 1 to 10) \n // There will be 20 cards, 4 x 5.\n //\n // GameState: playable or not\n // logic check if the value sames\n //\n // listOfCurrentlyTurnOpend: len(2) number[]\n*/\nimport React, {\n createContext,\n useContext,\n useEffect,\n useReducer,\n} from \"react\";\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Types \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\ninterface CardValue {\n value: number;\n isFacing: boolean;\n isSolved: boolean;\n}\n\ninterface CardProp {\n row: number;\n col: number;\n card: CardValue;\n}\n\ninterface RowProp {\n rowPos: number;\n row: CardValue[];\n}\n\ntype Action =\n | { type: \"move\"; row: number; col: number }\n | { type: \"flipBack\" }\n | { type: \"reset\" };\n\ninterface Position {\n row: number;\n col: number;\n}\n\ninterface GameState {\n board: CardValue[][];\n open: Position[]; // cards currently face-up but not yet decided (max 2)\n busy: boolean; // UI locked while we wait to flip cards back\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nconst shuffle = <T,>(arr: T[]): T[] =>\n [...arr].sort(() => Math.random() - 0.5);\n\nconst makeBoard = (): CardValue[][] => {\n // two of each from 1-10, then shuffle and slice into 4\u00D75\n const values = shuffle(\n Array.from({ length: 10 }, (_, i) => i + 1).flatMap((v) => [v, v])\n );\n\n return Array.from({ length: 4 }, (_, r) =>\n Array.from({ length: 5 }, (_, c) => ({\n value: values[r * 5 + c],\n isFacing: false,\n isSolved: false,\n }))\n );\n};\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Context \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nconst BoardContext = createContext<React.Dispatch<Action> | null>(null);\nconst useBoardDispatch = () => {\n const ctx = useContext(BoardContext);\n if (!ctx) throw new Error(\"BoardContext missing\");\n return ctx;\n};\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Reducer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nconst initial = (): GameState => ({ board: makeBoard(), open: [], busy: false });\n\nfunction reducer(state: GameState, action: Action): GameState {\n switch (action.type) {\n case \"reset\":\n return initial();\n\n case \"flipBack\": {\n // hide the two open cards\n const [a, b] = state.open;\n const nextBoard = state.board.map((row, r) =>\n row.map((card, c) =>\n (r === a.row && c === a.col) || (r === b.row && c === b.col)\n ? { ...card, isFacing: false }\n : card\n )\n );\n return { board: nextBoard, open: [], busy: false };\n }\n\n case \"move\": {\n if (state.busy) return state; // ignore clicks while waiting\n\n const { row, col } = action;\n const target = state.board[row][col];\n if (target.isFacing || target.isSolved) return state;\n\n // flip this one up\n const nextBoard = state.board.map((r, ri) =>\n r.map((c, ci) =>\n ri === row && ci === col ? { ...c, isFacing: true } : c\n )\n );\n const open = [...state.open, { row, col }];\n\n if (open.length < 2) return { ...state, board: nextBoard, open };\n\n // now we have two cards \u2013 decide match / mismatch\n const [a, b] = open;\n const first = nextBoard[a.row][a.col];\n const second = nextBoard[b.row][b.col];\n\n if (first.value === second.value) {\n // match \u2192 mark solved, leave face-up\n const solvedBoard = nextBoard.map((r, ri) =>\n r.map((c, ci) =>\n (ri === a.row && ci === a.col) || (ri === b.row && ci === b.col)\n ? { ...c, isSolved: true }\n : c\n )\n );\n return { board: solvedBoard, open: [], busy: false };\n }\n\n // mismatch \u2192 leave them up temporarily, then flip back via effect\n return { board: nextBoard, open, busy: true };\n }\n\n default:\n return state;\n }\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 UI Components \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nconst Card = ({ row, col, card }: CardProp) => {\n const dispatch = useBoardDispatch();\n const style: React.CSSProperties = {\n width: 60,\n height: 80,\n margin: 4,\n fontSize: 24,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n background: card.isSolved\n ? \"#8bc34a\"\n : card.isFacing\n ? \"#fff\"\n : \"#90caf9\",\n cursor: card.isSolved ? \"default\" : \"pointer\",\n borderRadius: 6,\n userSelect: \"none\",\n };\n return (\n <div style={style} onClick={() => dispatch({ type: \"move\", row, col })}>\n {card.isFacing || card.isSolved ? card.value : \"\uD83C\uDCA0\"}\n </div>\n );\n};\n\nconst Row = ({ row, rowPos }: RowProp) => (\n <div style={{ display: \"flex\" }}>\n {row.map((card, idx) => (\n <Card key={idx} row={rowPos} col={idx} card={card} />\n ))}\n </div>\n);\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Root component \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nexport const MemoryGame = () => {\n const [state, dispatch] = useReducer(reducer, undefined, initial);\n\n /* Handle \u201CflipBack\u201D after 1 s for a mismatch */\n useEffect(() => {\n if (state.busy) {\n const t = setTimeout(() => dispatch({ type: \"flipBack\" }), 1000);\n return () => clearTimeout(t);\n }\n }, [state.busy]);\n\n /* Quick win detection */\n const solved = state.board.every((r) => r.every((c) => c.isSolved));\n\n return (\n <>\n <h3 style={{ textAlign: \"center\" }}>\n {solved ? \"\uD83C\uDF89 You won!\" : \"Memory Game\"}\n </h3>\n <BoardContext.Provider value={dispatch}>\n {state.board.map((row, idx) => (\n <Row key={idx} rowPos={idx} row={row} />\n ))}\n </BoardContext.Provider>\n\n <div style={{ textAlign: \"center\", marginTop: 12 }}>\n <button onClick={() => dispatch({ type: \"reset\" })}>Reset</button>\n </div>\n </>\n );\n};\n\n"], + "mappings": "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", + "names": ["_"] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-QNFKFAB2.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,194 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/Minesweeper/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var MAX_SIZE_LEN = 10; +var N_BOMBS = 10; +var DIRECTION = [ + [0, 1], + [1, 1], + [1, 0], + [1, -1], + [0, -1], + [-1, -1], + [-1, 0], + [-1, 1] +]; +var constructGameState = () => { + let board = Array.from( + { length: MAX_SIZE_LEN }, + () => Array.from( + { length: MAX_SIZE_LEN }, + () => ({ + value: 0 /* EMPTY */, + numberOfAdjacentBomb: 0, + isShown: false, + isFlag: false + }) + ) + ); + let placedBomb = 0; + const bombPlacments = []; + while (placedBomb < N_BOMBS) { + const bombRowIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + const bombColIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + if (board[bombRowIdx][bombColIdx].value === 0 /* EMPTY */) { + board[bombRowIdx][bombColIdx] = { + ...board[bombRowIdx][bombColIdx], + value: 1 /* BOMB */ + }; + placedBomb++; + bombPlacments.push([bombRowIdx, bombColIdx]); + } + } + for (const [bombR, bombC] of bombPlacments) { + for (const [dr, dc] of DIRECTION) { + if (board[bombR + dr]?.[bombC + dc]?.value === 0 /* EMPTY */) { + board[bombR + dr][bombC + dc] = { + ...board[bombR + dr][bombC + dc], + numberOfAdjacentBomb: board[bombR + dr][bombC + dc].numberOfAdjacentBomb + 1 + }; + } + } + } + return { + board, + status: "Reveal all the map while not clicking on mine" /* PLAYABLE */ + }; +}; +var gameStateReducer = (state, action) => { + switch (action.type) { + case 0 /* CHECK */: + const { position } = action; + const board = state.board.map((row) => row.map((col) => ({ ...col }))); + const start = board[position.row][position.col]; + if (start.value === 1 /* BOMB */) { + for (const row of board) for (const cell of row) cell.isShown = true; + return { board, status: "YOU LOST" /* LOST */ }; + } + if (!start.isShown) start.isShown = true; + if (start.numberOfAdjacentBomb === 0) { + const q = [position]; + while (q.length) { + const { row, col } = q.shift(); + for (const [dr, dc] of DIRECTION) { + const r = row + dr, c = col + dc; + const n = board[r]?.[c]; + if (!n || n.isShown || n.value === 1 /* BOMB */) continue; + n.isShown = true; + if (n.numberOfAdjacentBomb === 0) q.push({ row: r, col: c }); + } + } + } + const hidden = board.flat().filter((c) => !c.isShown).length; + const status = hidden === N_BOMBS ? "YOU WON" /* WON */ : "Reveal all the map while not clicking on mine" /* PLAYABLE */; + return { board, status }; + case 2 /* FLAG */: + const newBoard = state.board.map( + (row, rowIdx) => rowIdx === action.position.row ? row.map( + (col, colIdx) => colIdx === action.position.col ? { ...col, isFlag: true } : col + ) : row + ); + console.log(newBoard); + return { + ...state, + board: newBoard + }; + case 1 /* RESET */: + return constructGameState(); + } +}; +var styles = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_SIZE_LEN}, 1fr)`, + width: 400 + }, + cell: { + display: "flex", + justifyContent: "center", + alignItems: "center", + width: "100%", + aspectRatio: "1 / 1", + border: "1px solid black", + backgroundColor: "#e6e6e6" + } +}; +var CellComponent = (0, import_react.memo)(({ + cellValue, + row, + col, + placeDispatch, + flagDispatch +}) => { + console.log("re-render"); + const handleOnClikck = (0, import_react.useCallback)(() => { + placeDispatch(row, col); + }, [row, col, placeDispatch]); + const handleOnRightClikck = (0, import_react.useCallback)((event) => { + event.preventDefault(); + flagDispatch(row, col); + }, [row, col, placeDispatch]); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "div", + { + style: { + ...styles.cell, + cursor: "pointer", + backgroundColor: cellValue.isShown ? "#fafafa" : "#e6e6e6" + }, + onClick: handleOnClikck, + onContextMenu: handleOnRightClikck, + children: cellValue.isShown ? cellValue.value === 1 /* BOMB */ ? "\u{1F4A3}" : cellValue.numberOfAdjacentBomb || "" : cellValue.isFlag ? "\u{1F6A9}" : "" + } + ); +}, (prev, next) => prev.cellValue.isShown === next.cellValue.isShown && prev.cellValue.isFlag === next.cellValue.isFlag); +var Minesweeper = () => { + const [state, dispatch] = (0, import_react.useReducer)(gameStateReducer, null, constructGameState); + const placeDispatch = (0, import_react.useCallback)( + (row, col) => { + dispatch({ type: 0 /* CHECK */, position: { row, col } }); + }, + [dispatch] + ); + const flagDispatch = (0, import_react.useCallback)( + (row, col) => { + dispatch({ type: 2 /* FLAG */, position: { row, col } }); + }, + [dispatch] + ); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h1", { children: [ + " ", + state.status, + " " + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.board, children: state.board.map( + (row, rowIdx) => row.map( + (cell, colIdx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + CellComponent, + { + cellValue: cell, + row: rowIdx, + col: colIdx, + placeDispatch, + flagDispatch + }, + `${rowIdx}-${colIdx}` + ) + ) + ) }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { onClick: () => { + dispatch({ type: 1 /* RESET */ }); + }, children: " reset " }) + ] }); +}; +export { + Minesweeper +}; +//# sourceMappingURL=main-QNFKFAB2.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-QNFKFAB2.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/Minesweeper/main.tsx"], + "sourcesContent": ["import { CSSProperties, memo, useCallback, useReducer } from 'react';\n\n/**\n *\n * Build a simplified Minesweeper game in React where the user can click cells to reveal them. \n * Some cells contain mines, others show the number of adjacent mines. \n * If a cell with zero adjacent mines is revealed, all connected zero-cells should be revealed \n * automatically. \n * The game ends if a mine is revealed, and the player wins if all non-mine cells are revealed.\n *\n * The board should be 10\u00D710.\n * \n * Clicking a cell reveals it:\n * \n * If it\u2019s a mine, the game ends with a \u201CGame Over\u201D message.\n * \n * If it\u2019s not a mine, show the number of adjacent mines (0\u20138).\n * \n * If the number is 0, automatically reveal all connected empty cells and their numbered border.\n * \n * The player wins when all non-mine cells are revealed.\n * \n * Include a Reset button to restart the game with a new random layout.\n * \n * Optional: Allow right-clicking a cell to toggle a flag icon (to mark suspected mines).\n */\n\nenum CellValue {\n EMPTY,\n BOMB,\n}\n\ninterface Cell { \n value: CellValue;\n numberOfAdjacentBomb: number;\n isShown: boolean;\n isFlag: boolean,\n}\n\n\ntype Board = Cell[][];\n\nenum GameStatus {\n PLAYABLE=\"Reveal all the map while not clicking on mine\",\n WON=\"YOU WON\",\n LOST=\"YOU LOST\"\n}\n\ninterface GameState {\n board: Board;\n status: GameStatus;\n}\n\nconst MAX_SIZE_LEN = 10;\nconst N_BOMBS = 10;\nconst DIRECTION = [\n [0,1],\n [1,1],\n [1,0],\n [1,-1],\n [0,-1],\n [-1,-1],\n [-1,0],\n [-1,1],\n]\n\nconst constructGameState = (): GameState => {\n let board: Board = Array.from(\n { length: MAX_SIZE_LEN }, () => Array.from(\n { length: MAX_SIZE_LEN }, (): Cell => (\n {\n value: CellValue.EMPTY, numberOfAdjacentBomb: 0, isShown: false ,\n isFlag: false,\n })\n )\n );\n\n // Place the bombs\n let placedBomb = 0; \n const bombPlacments: number[][] = [];\n while (placedBomb < N_BOMBS) {\n const bombRowIdx = Math.floor(Math.random() * MAX_SIZE_LEN);\n const bombColIdx = Math.floor(Math.random() * MAX_SIZE_LEN);\n if (board[bombRowIdx][bombColIdx].value === CellValue.EMPTY) {\n board[bombRowIdx][bombColIdx] = {\n ...board[bombRowIdx][bombColIdx],\n value: CellValue.BOMB,\n }\n placedBomb++;\n bombPlacments.push([bombRowIdx, bombColIdx]);\n }\n }\n\n // Find all adjacent cells and add values\n for (const [bombR, bombC] of bombPlacments) {\n for (const [dr, dc] of DIRECTION) {\n if (board[bombR+dr]?.[bombC+dc]?.value === CellValue.EMPTY) {\n board[bombR+dr][bombC+dc] = {\n ...board[bombR+dr][bombC+dc],\n numberOfAdjacentBomb: board[bombR+dr][bombC+dc].numberOfAdjacentBomb + 1\n }\n }\n }\n }\n\n return {\n board,\n status: GameStatus.PLAYABLE,\n }\n}\n\nenum GameActionEnum {\n CHECK,\n RESET,\n FLAG,\n}\n\ninterface Position {\n row: number;\n col: number;\n}\n\ntype GameAction = \n | { type: GameActionEnum.CHECK, position: Position }\n | { type: GameActionEnum.FLAG, position: Position }\n | { type: GameActionEnum.RESET }\n\nconst gameStateReducer = (state: GameState, action: GameAction): GameState => {\n switch(action.type) {\n case GameActionEnum.CHECK:\n const {position} = action;\n const board = state.board.map(row=>row.map(col=>({...col})));\n const start = board[position.row][position.col];\n\n if (start.value === CellValue.BOMB) {\n for (const row of board) for (const cell of row) cell.isShown = true;\n return { board, status: GameStatus.LOST };\n }\n\n if (!start.isShown) start.isShown = true;\n\n if (start.numberOfAdjacentBomb === 0) {\n const q: Position[] = [position];\n while (q.length) {\n const { row, col } = q.shift()!;\n for (const [dr, dc] of DIRECTION) {\n const r = row + dr, c = col + dc;\n const n = board[r]?.[c];\n if (!n || n.isShown || n.value === CellValue.BOMB) continue;\n n.isShown = true;\n if (n.numberOfAdjacentBomb === 0) q.push({ row: r, col: c });\n }\n }\n }\n\n const hidden = board.flat().filter(c => !c.isShown).length;\n const status = hidden === N_BOMBS ? GameStatus.WON : GameStatus.PLAYABLE;\n return { board, status };\n\n case GameActionEnum.FLAG:\n const newBoard = state.board.map(\n (row, rowIdx) => rowIdx === action.position.row ?\n row.map(\n (col, colIdx): Cell => \n colIdx === action.position.col ? \n ({...col, isFlag: true }) : col\n ) : row\n );\n console.log(newBoard);\n return {\n ...state,\n board: newBoard,\n }\n case GameActionEnum.RESET:\n return constructGameState();\n }\n}\n\ninterface StylesProp {\n board: CSSProperties;\n cell: CSSProperties;\n}\n\nconst styles: StylesProp = {\n board: {\n display: \"grid\",\n gridTemplateColumns: `repeat(${MAX_SIZE_LEN}, 1fr)`,\n width: 400,\n },\n cell: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n aspectRatio: \"1 / 1\",\n border: \"1px solid black\",\n backgroundColor: \"#e6e6e6\"\n }\n}\n\ninterface CellComponentProp {\n cellValue: Cell;\n row: number;\n col: number;\n placeDispatch: (row: number, col: number) => void;\n flagDispatch: (row: number, col: number) => void;\n}\n\nconst CellComponent = memo(({\n cellValue, row,\n col, placeDispatch,\n flagDispatch\n}: CellComponentProp) => {\n console.log(\"re-render\");\n const handleOnClikck = useCallback(() => {\n placeDispatch(row, col);\n }, [row, col, placeDispatch])\n\n const handleOnRightClikck = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n event.preventDefault();\n flagDispatch(row, col);\n }, [row, col, placeDispatch])\n\n\n return (\n <div\n style={{\n ...styles.cell,\n cursor: \"pointer\",\n backgroundColor: cellValue.isShown ? \"#fafafa\" : \"#e6e6e6\",\n }}\n onClick={handleOnClikck}\n onContextMenu={handleOnRightClikck} \n >\n {cellValue.isShown\n ? cellValue.value === CellValue.BOMB\n ? \"\uD83D\uDCA3\"\n : cellValue.numberOfAdjacentBomb || \"\"\n : cellValue.isFlag\n ? \"\uD83D\uDEA9\" \n : \"\"}\n </div>\n )\n}, (prev, next) =>\n prev.cellValue.isShown === next.cellValue.isShown &&\n prev.cellValue.isFlag === next.cellValue.isFlag)\n\nconst Minesweeper = () => {\n const [state, dispatch] = useReducer(gameStateReducer, null, constructGameState);\n\n const placeDispatch = useCallback(\n (row: number, col: number) => {\n dispatch({type: GameActionEnum.CHECK, position: { row, col }})\n }, [dispatch])\n\n const flagDispatch = useCallback(\n (row: number, col: number) => {\n dispatch({type: GameActionEnum.FLAG, position: { row, col }})\n }, [dispatch])\n\n return (\n <>\n <h1> {state.status} </h1>\n <div style={styles.board}> \n {state.board.map(\n (row, rowIdx) => row.map(\n (cell, colIdx) => (\n <CellComponent\n key={`${rowIdx}-${colIdx}`}\n cellValue={cell} \n row={rowIdx}\n col={colIdx}\n placeDispatch={placeDispatch}\n flagDispatch={flagDispatch} />)\n )\n )} \n </div>\n <button onClick={()=>{dispatch({type: GameActionEnum.RESET})}}> reset </button>\n </>\n )\n}\n\nexport {\n Minesweeper,\n}\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-XZMLBHCF.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,138 @@ +import { + __toESM, + require_jsx_runtime, + require_react +} from "./chunk-AX5M7HF6.js"; + +// src/Tictactoe/main.tsx +var import_react = __toESM(require_react()); +var import_jsx_runtime = __toESM(require_jsx_runtime()); +var MAX_ROW = 3; +var MAX_COL = 3; +var getInitialGameState = () => { + return { + board: Array.from( + { length: MAX_ROW }, + () => Array(MAX_COL).fill( + { + value: "", + isWonSquare: false + } + ) + ), + status: 0 /* PLAYABLE */, + player: "X" /* X */ + }; +}; +var cellCssStyle = (isWinningSquare) => ({ + display: "flex", + justifyContent: "center", + alignItems: "center", + width: "100%", + aspectRatio: "1 / 1", + background: isWinningSquare ? "blue" : "lightblue", + border: "1px solid black" +}); +var CellComponent = (0, import_react.memo)(({ cell, row, col, moveDispatch }) => { + const handleOnClick = (0, import_react.useCallback)(() => { + moveDispatch(row, col); + }, [row, col]); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: cellCssStyle(cell.isWonSquare), onClick: handleOnClick, children: cell.value }); +}); +var boardCssStyle = { + display: "grid", + gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`, + width: 500 +}; +var getGameStatus = (board) => { + const direction = [ + [0, 1], + [1, 0], + [1, 1], + [1, -1] + ]; + let numberOfFilledValue = 0; + for (let row = 0; row < MAX_ROW; row++) { + for (let col = 0; col < MAX_COL; col++) { + if (board[row][col].value === "") continue; + numberOfFilledValue++; + for (const [dr, dc] of direction) { + if (board[row][col].value === board[row + dr]?.[col + dc]?.value && board[row][col].value === board[row + dr * 2]?.[col + dc * 2]?.value) { + return { + newStatus: 1 /* WON */, + winningPositions: [ + [row, col], + [row + dr, col + dc], + [row + dr + dr, col + dc + dc] + ] + }; + } + } + } + } + return numberOfFilledValue === MAX_ROW * MAX_COL ? { newStatus: 2 /* TIE */ } : { newStatus: 0 /* PLAYABLE */ }; +}; +var gameStateReducer = (state, action) => { + if (state.status === 1 /* WON */) return state; + switch (action.type) { + case 0 /* PLACE */: + if (state.board[action.row][action.col].value) return state; + let newBoard = state.board.map( + (row, rowIdx) => rowIdx === action.row ? row.map( + (col, c) => c === action.col ? { ...col, value: state.player } : col + ) : row + ); + const res = getGameStatus(newBoard); + let winner = null; + if (res.newStatus === 1 /* WON */) { + winner = state.player; + newBoard = newBoard.map( + (row, rowIdx) => row.map( + (col, colIdx) => res.winningPositions.some(([wr, wc]) => wr === rowIdx && wc === colIdx) ? { ...col, isWonSquare: true } : col + ) + ); + } + return { + ...state, + board: newBoard, + status: res.newStatus, + player: "X" /* X */ === state.player ? "O" /* O */ : "X" /* X */, + winner + }; + case 1 /* RESET */: + return getInitialGameState(); + } +}; +var TicTacToe = () => { + const [state, dispatch] = (0, import_react.useReducer)(gameStateReducer, null, getInitialGameState); + const moveDispatch = (0, import_react.useCallback)( + (rowIdx, colIdx) => dispatch({ type: 0 /* PLACE */, row: rowIdx, col: colIdx }), + [] + ); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { children: " TicTacToe " }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { children: state.status === 0 /* PLAYABLE */ ? `Player ${state.player} Turn!` : state.status === 2 /* TIE */ ? "Game is tied! Please reset" : `Player ${state.winner} has won!` }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: boardCssStyle, children: state.board.map((row, rowIdx) => { + return row.map((cell, colIdx) => { + const cellComponentProp = { + cell, + row: rowIdx, + col: colIdx, + moveDispatch + }; + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + CellComponent, + { + ...cellComponentProp + }, + `${rowIdx}-${colIdx}` + ); + }); + }) }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { onClick: () => dispatch({ type: 1 /* RESET */ }), children: "Reset" }) + ] }); +}; +export { + TicTacToe +}; +//# sourceMappingURL=main-XZMLBHCF.js.map
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/games/main-XZMLBHCF.js.map Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../src/Tictactoe/main.tsx"], + "sourcesContent": ["import { CSSProperties, memo, useCallback, useReducer } from 'react';\n\nenum GameStatus {\n PLAYABLE,\n WON,\n TIE,\n}\n\nenum Player {\n O = \"O\",\n X = \"X\",\n}\n\ntype CellValue = Player | \"\";\n\ninterface Cell {\n value: CellValue; \n isWonSquare: boolean;\n}\n\ntype Board = Cell[][]\n\ninterface GameState {\n board: Board;\n status: GameStatus; \n player: Player;\n winner?: Player | null;\n}\n\nconst MAX_ROW = 3;\nconst MAX_COL = 3;\n\nconst getInitialGameState = (): GameState => {\n return {\n board: Array.from({ length: MAX_ROW }, \n () => Array(MAX_COL).fill(\n {\n value: \"\",\n isWonSquare: false,\n }) as Cell[],\n ),\n status: GameStatus.PLAYABLE,\n player: Player.X,\n }\n};\n\ninterface CellComponentProp {\n cell: Cell;\n row: number;\n col: number;\n moveDispatch: (r: number, c: number) => void;\n}\n\nconst cellCssStyle = (isWinningSquare: boolean): CSSProperties => ({\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n aspectRatio: \"1 / 1\",\n background: isWinningSquare ? \"blue\" : \"lightblue\",\n border: \"1px solid black\"\n})\n\nconst CellComponent = memo(({ cell, row, col, moveDispatch }: CellComponentProp) => {\n const handleOnClick = useCallback(() => {\n moveDispatch(row, col);\n }, [row,col])\n return (\n <div style={cellCssStyle(cell.isWonSquare)} onClick={handleOnClick}> \n {cell.value}\n </div>\n )\n})\n\nconst boardCssStyle: CSSProperties = {\n display: \"grid\",\n gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`,\n width: 500,\n}\n\nenum ActionType {\n PLACE,\n RESET,\n};\n\ntype Action =\n | { type: ActionType.PLACE, row: number, col: number }\n | { type: ActionType.RESET };\n\n\ntype GameStatusAndPosition = \n | { newStatus: GameStatus.WON, winningPositions: number[][]}\n | { newStatus: GameStatus.TIE }\n | { newStatus: GameStatus.PLAYABLE }\n\n\nconst getGameStatus = (board: Board): GameStatusAndPosition => {\n const direction = [\n [0, 1],\n [1, 0],\n [1, 1],\n [1, -1],\n ];\n let numberOfFilledValue = 0;\n for (let row=0; row<MAX_ROW; row++) {\n for (let col=0; col<MAX_COL; col++) {\n if (board[row][col].value === \"\") continue;\n numberOfFilledValue++;\n for (const [dr, dc] of direction) {\n if (\n board[row][col].value === board[row+dr]?.[col+dc]?.value &&\n board[row][col].value === board[row+(dr*2)]?.[col+(dc*2)]?.value\n ) {\n return {\n newStatus: GameStatus.WON,\n winningPositions: [\n [row, col],\n [row+dr, col+dc],\n [row+dr+dr, col+dc+dc],\n ]\n }\n }\n }\n }\n }\n return numberOfFilledValue === MAX_ROW * MAX_COL\n ? { newStatus: GameStatus.TIE }\n : { newStatus: GameStatus.PLAYABLE };\n}\n\nconst gameStateReducer = (state: GameState, action: Action): GameState => {\n if (state.status === GameStatus.WON) return state;\n\n switch(action.type) {\n case ActionType.PLACE:\n if (state.board[action.row][action.col].value) return state;\n\n let newBoard: Board = state.board.map(\n (row, rowIdx) =>\n rowIdx === action.row\n ? row.map((col, c) => \n c === action.col ? {...col, value: state.player} : col\n )\n : row\n );\n const res = getGameStatus(newBoard);\n let winner: Player | null = null;\n if (res.newStatus === GameStatus.WON) {\n winner = state.player; \n newBoard = newBoard.map((row, rowIdx) => \n row.map((col, colIdx) => \n res.winningPositions.some(([wr, wc]) => wr === rowIdx && wc === colIdx)\n ? { ...col, isWonSquare: true }\n : col\n )\n )\n }\n return {\n ...state,\n board: newBoard,\n status: res.newStatus,\n player: Player.X === state.player ? Player.O : Player.X,\n winner,\n };\n case ActionType.RESET:\n return getInitialGameState();\n }\n}\n\nconst TicTacToe = () => {\n const [state, dispatch] = useReducer( gameStateReducer, null, getInitialGameState);\n const moveDispatch = useCallback(\n (rowIdx: number, colIdx: number) => dispatch({type: ActionType.PLACE, row: rowIdx, col: colIdx}), [])\n return (\n <>\n <h1> TicTacToe </h1>\n <h2>\n {\n state.status === GameStatus.PLAYABLE\n ? `Player ${state.player} Turn!`\n : state.status === GameStatus.TIE\n ? \"Game is tied! Please reset\"\n : `Player ${state.winner} has won!`\n }\n </h2>\n <div style={boardCssStyle}>\n {\n state.board.map((row, rowIdx) => {\n return row.map((cell, colIdx) => {\n const cellComponentProp: CellComponentProp = {\n cell,\n row: rowIdx,\n col: colIdx,\n moveDispatch,\n };\n\n return (\n <CellComponent \n key={`${rowIdx}-${colIdx}`}\n {...cellComponentProp}\n />)\n })\n })\n }\n </div>\n <button onClick={() => dispatch({ type: ActionType.RESET })}>Reset</button>\n </>\n );\n}\n\nexport {\n TicTacToe,\n}\n\n"], + "mappings": "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", + "names": [] +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/index.html Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>TSX Playground!</title> + <link rel="stylesheet" type="text/css" href="base.css"></link> + <link rel="preload" as="script" href="landing_page.js"></link> +</head> +<body> + <div class="container"> + <!-- Animated background particles --> + <div class="particle"></div> + <div class="particle"></div> + <div class="particle"></div> + <div class="particle"></div> + + <!-- Floating shapes --> + <div class="floating-shape shape-1"></div> + <div class="floating-shape shape-2"></div> + + <div class="main-content"> + <div class="logo-container"> + <div class="logo"> + </div> + </div> + + <h1>Welcome</h1> + <p class="subtitle">Discover games, manage tasks, and explore more</p> + + <div class="nav-grid"> + <a href="/games" class="nav-card games"> + <span class="nav-icon">š®</span> + <h3 class="nav-title">Games</h3> + <p class="nav-description">Small games all made with SPA</p> + </a> + + <a href="/todo" class="nav-card todo"> + <span class="nav-icon">ā </span> + <h3 class="nav-title">Todo</h3> + <p class="nav-description">Encrypted TODO system</p> + </a> + </div> + </div> + </div> + <script type="module" src="landing_page.js"></script> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/landing_page.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,26 @@ +const createStars = (x, y) => { + const star = document.createElement("div"); + + star.style.position = 'fixed'; + star.style.left = x + 'px'; + star.style.top = y + 'px'; + star.style.width = '4px'; + star.style.height = '4px'; + star.style.background = 'white'; + star.style.borderRadius = '50%'; + star.style.pointerEvents = 'none'; + star.style.zIndex = '1000'; + star.style.animation = 'sparkleAnim 1s ease-out forwards'; + + document.body.appendChild(star); + + setTimeout(() => { + star.remove(); + }, 1000); +} + +document.addEventListener('mousemove', (e) => { + if (Math.random() > 0.99) { + createStars(e.clientX, e.clientY); + } +});
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/todo/index.html Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,15 @@ +<HTML> + <head> + <title> TODO </title> + <link rel="preload" href="/todo/todo.js" as="script"></link> + <style> + body { + margin: 0 + } + </style> + </head> + <body> + <div id="root"></div> + <script type="module" src="/todo/todo.js"></script> + </body> +</HTML>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/public/todo/todo.js Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,19974 @@ +"use strict"; +(() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + + // node_modules/scheduler/cjs/scheduler.development.js + var require_scheduler_development = __commonJS({ + "node_modules/scheduler/cjs/scheduler.development.js"(exports) { + "use strict"; + (function() { + function performWorkUntilDeadline() { + needsPaint = false; + if (isMessageLoopRunning) { + var currentTime = exports.unstable_now(); + startTime = currentTime; + var hasMoreWork = true; + try { + a: { + isHostCallbackScheduled = false; + isHostTimeoutScheduled && (isHostTimeoutScheduled = false, localClearTimeout(taskTimeoutID), taskTimeoutID = -1); + isPerformingWork = true; + var previousPriorityLevel = currentPriorityLevel; + try { + b: { + advanceTimers(currentTime); + for (currentTask = peek(taskQueue); null !== currentTask && !(currentTask.expirationTime > currentTime && shouldYieldToHost()); ) { + var callback = currentTask.callback; + if ("function" === typeof callback) { + currentTask.callback = null; + currentPriorityLevel = currentTask.priorityLevel; + var continuationCallback = callback( + currentTask.expirationTime <= currentTime + ); + currentTime = exports.unstable_now(); + if ("function" === typeof continuationCallback) { + currentTask.callback = continuationCallback; + advanceTimers(currentTime); + hasMoreWork = true; + break b; + } + currentTask === peek(taskQueue) && pop(taskQueue); + advanceTimers(currentTime); + } else pop(taskQueue); + currentTask = peek(taskQueue); + } + if (null !== currentTask) hasMoreWork = true; + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + hasMoreWork = false; + } + } + break a; + } finally { + currentTask = null, currentPriorityLevel = previousPriorityLevel, isPerformingWork = false; + } + hasMoreWork = void 0; + } + } finally { + hasMoreWork ? schedulePerformWorkUntilDeadline() : isMessageLoopRunning = false; + } + } + } + function push(heap, node) { + var index = heap.length; + heap.push(node); + a: for (; 0 < index; ) { + var parentIndex = index - 1 >>> 1, parent = heap[parentIndex]; + if (0 < compare(parent, node)) + heap[parentIndex] = node, heap[index] = parent, index = parentIndex; + else break a; + } + } + function peek(heap) { + return 0 === heap.length ? null : heap[0]; + } + function pop(heap) { + if (0 === heap.length) return null; + var first = heap[0], last = heap.pop(); + if (last !== first) { + heap[0] = last; + a: for (var index = 0, length = heap.length, halfLength = length >>> 1; index < halfLength; ) { + var leftIndex = 2 * (index + 1) - 1, left = heap[leftIndex], rightIndex = leftIndex + 1, right = heap[rightIndex]; + if (0 > compare(left, last)) + rightIndex < length && 0 > compare(right, left) ? (heap[index] = right, heap[rightIndex] = last, index = rightIndex) : (heap[index] = left, heap[leftIndex] = last, index = leftIndex); + else if (rightIndex < length && 0 > compare(right, last)) + heap[index] = right, heap[rightIndex] = last, index = rightIndex; + else break a; + } + } + return first; + } + function compare(a, b) { + var diff = a.sortIndex - b.sortIndex; + return 0 !== diff ? diff : a.id - b.id; + } + function advanceTimers(currentTime) { + for (var timer = peek(timerQueue); null !== timer; ) { + if (null === timer.callback) pop(timerQueue); + else if (timer.startTime <= currentTime) + pop(timerQueue), timer.sortIndex = timer.expirationTime, push(taskQueue, timer); + else break; + timer = peek(timerQueue); + } + } + function handleTimeout(currentTime) { + isHostTimeoutScheduled = false; + advanceTimers(currentTime); + if (!isHostCallbackScheduled) + if (null !== peek(taskQueue)) + isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()); + else { + var firstTimer = peek(timerQueue); + null !== firstTimer && requestHostTimeout( + handleTimeout, + firstTimer.startTime - currentTime + ); + } + } + function shouldYieldToHost() { + return needsPaint ? true : exports.unstable_now() - startTime < frameInterval ? false : true; + } + function requestHostTimeout(callback, ms) { + taskTimeoutID = localSetTimeout(function() { + callback(exports.unstable_now()); + }, ms); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + exports.unstable_now = void 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + exports.unstable_now = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date, initialTime = localDate.now(); + exports.unstable_now = function() { + return localDate.now() - initialTime; + }; + } + var taskQueue = [], timerQueue = [], taskIdCounter = 1, currentTask = null, currentPriorityLevel = 3, isPerformingWork = false, isHostCallbackScheduled = false, isHostTimeoutScheduled = false, needsPaint = false, localSetTimeout = "function" === typeof setTimeout ? setTimeout : null, localClearTimeout = "function" === typeof clearTimeout ? clearTimeout : null, localSetImmediate = "undefined" !== typeof setImmediate ? setImmediate : null, isMessageLoopRunning = false, taskTimeoutID = -1, frameInterval = 5, startTime = -1; + if ("function" === typeof localSetImmediate) + var schedulePerformWorkUntilDeadline = function() { + localSetImmediate(performWorkUntilDeadline); + }; + else if ("undefined" !== typeof MessageChannel) { + var channel = new MessageChannel(), port = channel.port2; + channel.port1.onmessage = performWorkUntilDeadline; + schedulePerformWorkUntilDeadline = function() { + port.postMessage(null); + }; + } else + schedulePerformWorkUntilDeadline = function() { + localSetTimeout(performWorkUntilDeadline, 0); + }; + exports.unstable_IdlePriority = 5; + exports.unstable_ImmediatePriority = 1; + exports.unstable_LowPriority = 4; + exports.unstable_NormalPriority = 3; + exports.unstable_Profiling = null; + exports.unstable_UserBlockingPriority = 2; + exports.unstable_cancelCallback = function(task) { + task.callback = null; + }; + exports.unstable_forceFrameRate = function(fps) { + 0 > fps || 125 < fps ? console.error( + "forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported" + ) : frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5; + }; + exports.unstable_getCurrentPriorityLevel = function() { + return currentPriorityLevel; + }; + exports.unstable_next = function(eventHandler) { + switch (currentPriorityLevel) { + case 1: + case 2: + case 3: + var priorityLevel = 3; + break; + default: + priorityLevel = currentPriorityLevel; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_requestPaint = function() { + needsPaint = true; + }; + exports.unstable_runWithPriority = function(priorityLevel, eventHandler) { + switch (priorityLevel) { + case 1: + case 2: + case 3: + case 4: + case 5: + break; + default: + priorityLevel = 3; + } + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = priorityLevel; + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + exports.unstable_scheduleCallback = function(priorityLevel, callback, options) { + var currentTime = exports.unstable_now(); + "object" === typeof options && null !== options ? (options = options.delay, options = "number" === typeof options && 0 < options ? currentTime + options : currentTime) : options = currentTime; + switch (priorityLevel) { + case 1: + var timeout = -1; + break; + case 2: + timeout = 250; + break; + case 5: + timeout = 1073741823; + break; + case 4: + timeout = 1e4; + break; + default: + timeout = 5e3; + } + timeout = options + timeout; + priorityLevel = { + id: taskIdCounter++, + callback, + priorityLevel, + startTime: options, + expirationTime: timeout, + sortIndex: -1 + }; + options > currentTime ? (priorityLevel.sortIndex = options, push(timerQueue, priorityLevel), null === peek(taskQueue) && priorityLevel === peek(timerQueue) && (isHostTimeoutScheduled ? (localClearTimeout(taskTimeoutID), taskTimeoutID = -1) : isHostTimeoutScheduled = true, requestHostTimeout(handleTimeout, options - currentTime))) : (priorityLevel.sortIndex = timeout, push(taskQueue, priorityLevel), isHostCallbackScheduled || isPerformingWork || (isHostCallbackScheduled = true, isMessageLoopRunning || (isMessageLoopRunning = true, schedulePerformWorkUntilDeadline()))); + return priorityLevel; + }; + exports.unstable_shouldYield = shouldYieldToHost; + exports.unstable_wrapCallback = function(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function() { + var previousPriorityLevel = currentPriorityLevel; + currentPriorityLevel = parentPriorityLevel; + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + } + }; + }; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/scheduler/index.js + var require_scheduler = __commonJS({ + "node_modules/scheduler/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_scheduler_development(); + } + } + }); + + // node_modules/react/cjs/react.development.js + var require_react_development = __commonJS({ + "node_modules/react/cjs/react.development.js"(exports, module) { + "use strict"; + (function() { + function defineDeprecationWarning(methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function() { + console.warn( + "%s(...) is deprecated in plain JavaScript React classes. %s", + info[0], + info[1] + ); + } + }); + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function warnNoop(publicInstance, callerName) { + publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || "ReactClass"; + var warningKey = publicInstance + "." + callerName; + didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error( + "Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.", + callerName, + publicInstance + ), didWarnStateUpdateForUnmountedComponent[warningKey] = true); + } + function Component(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function ComponentDummy() { + } + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function cloneAndReplaceKey(oldElement, newKey) { + newKey = ReactElement( + oldElement.type, + newKey, + void 0, + void 0, + oldElement._owner, + oldElement.props, + oldElement._debugStack, + oldElement._debugTask + ); + oldElement._store && (newKey._store.validated = oldElement._store.validated); + return newKey; + } + function isValidElement(object) { + return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; + } + function escape(key) { + var escaperLookup = { "=": "=0", ":": "=2" }; + return "$" + key.replace(/[=:]/g, function(match) { + return escaperLookup[match]; + }); + } + function getElementKey(element, index) { + return "object" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape("" + element.key)) : index.toString(36); + } + function noop$1() { + } + function resolveThenable(thenable) { + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + default: + switch ("string" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = "pending", thenable.then( + function(fulfilledValue) { + "pending" === thenable.status && (thenable.status = "fulfilled", thenable.value = fulfilledValue); + }, + function(error) { + "pending" === thenable.status && (thenable.status = "rejected", thenable.reason = error); + } + )), thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenable.reason; + } + } + throw thenable; + } + function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) { + var type = typeof children; + if ("undefined" === type || "boolean" === type) children = null; + var invokeCallback = false; + if (null === children) invokeCallback = true; + else + switch (type) { + case "bigint": + case "string": + case "number": + invokeCallback = true; + break; + case "object": + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + break; + case REACT_LAZY_TYPE: + return invokeCallback = children._init, mapIntoArray( + invokeCallback(children._payload), + array, + escapedPrefix, + nameSoFar, + callback + ); + } + } + if (invokeCallback) { + invokeCallback = children; + callback = callback(invokeCallback); + var childKey = "" === nameSoFar ? "." + getElementKey(invokeCallback, 0) : nameSoFar; + isArrayImpl(callback) ? (escapedPrefix = "", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, "$&/") + "/"), mapIntoArray(callback, array, escapedPrefix, "", function(c) { + return c; + })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey( + callback, + escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? "" : ("" + callback.key).replace( + userProvidedKeyEscapeRegex, + "$&/" + ) + "/") + childKey + ), "" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback)); + return 1; + } + invokeCallback = 0; + childKey = "" === nameSoFar ? "." : nameSoFar + ":"; + if (isArrayImpl(children)) + for (var i = 0; i < children.length; i++) + nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if (i = getIteratorFn(children), "function" === typeof i) + for (i === children.entries && (didWarnAboutMaps || console.warn( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true), children = i.call(children), i = 0; !(nameSoFar = children.next()).done; ) + nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray( + nameSoFar, + array, + escapedPrefix, + type, + callback + ); + else if ("object" === type) { + if ("function" === typeof children.then) + return mapIntoArray( + resolveThenable(children), + array, + escapedPrefix, + nameSoFar, + callback + ); + array = String(children); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === array ? "object with keys {" + Object.keys(children).join(", ") + "}" : array) + "). If you meant to render a collection of children, use an array instead." + ); + } + return invokeCallback; + } + function mapChildren(children, func, context) { + if (null == children) return children; + var result = [], count = 0; + mapIntoArray(children, result, "", "", function(child) { + return func.call(context, child, count++); + }); + return result; + } + function lazyInitializer(payload) { + if (-1 === payload._status) { + var ctor = payload._result; + ctor = ctor(); + ctor.then( + function(moduleObject) { + if (0 === payload._status || -1 === payload._status) + payload._status = 1, payload._result = moduleObject; + }, + function(error) { + if (0 === payload._status || -1 === payload._status) + payload._status = 2, payload._result = error; + } + ); + -1 === payload._status && (payload._status = 0, payload._result = ctor); + } + if (1 === payload._status) + return ctor = payload._result, void 0 === ctor && console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))\n\nDid you accidentally put curly braces around the import?", + ctor + ), "default" in ctor || console.error( + "lazy: Expected the result of a dynamic import() call. Instead received: %s\n\nYour code should look like: \n const MyComponent = lazy(() => import('./MyComponent'))", + ctor + ), ctor.default; + throw payload._result; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + function noop() { + } + function enqueueTask(task) { + if (null === enqueueTaskImpl) + try { + var requireString = ("require" + Math.random()).slice(0, 7); + enqueueTaskImpl = (module && module[requireString]).call( + module, + "timers" + ).setImmediate; + } catch (_err) { + enqueueTaskImpl = function(callback) { + false === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = true, "undefined" === typeof MessageChannel && console.error( + "This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning." + )); + var channel = new MessageChannel(); + channel.port1.onmessage = callback; + channel.port2.postMessage(void 0); + }; + } + return enqueueTaskImpl(task); + } + function aggregateErrors(errors) { + return 1 < errors.length && "function" === typeof AggregateError ? new AggregateError(errors) : errors[0]; + } + function popActScope(prevActQueue, prevActScopeDepth) { + prevActScopeDepth !== actScopeDepth - 1 && console.error( + "You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. " + ); + actScopeDepth = prevActScopeDepth; + } + function recursivelyFlushAsyncActWork(returnValue, resolve, reject) { + var queue = ReactSharedInternals.actQueue; + if (null !== queue) + if (0 !== queue.length) + try { + flushActQueue(queue); + enqueueTask(function() { + return recursivelyFlushAsyncActWork(returnValue, resolve, reject); + }); + return; + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + else ReactSharedInternals.actQueue = null; + 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue); + } + function flushActQueue(queue) { + if (!isFlushing) { + isFlushing = true; + var i = 0; + try { + for (; i < queue.length; i++) { + var callback = queue[i]; + do { + ReactSharedInternals.didUsePromise = false; + var continuation = callback(false); + if (null !== continuation) { + if (ReactSharedInternals.didUsePromise) { + queue[i] = callback; + queue.splice(0, i); + return; + } + callback = continuation; + } else break; + } while (1); + } + queue.length = 0; + } catch (error) { + queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error); + } finally { + isFlushing = false; + } + } + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), MAYBE_ITERATOR_SYMBOL = Symbol.iterator, didWarnStateUpdateForUnmountedComponent = {}, ReactNoopUpdateQueue = { + isMounted: function() { + return false; + }, + enqueueForceUpdate: function(publicInstance) { + warnNoop(publicInstance, "forceUpdate"); + }, + enqueueReplaceState: function(publicInstance) { + warnNoop(publicInstance, "replaceState"); + }, + enqueueSetState: function(publicInstance) { + warnNoop(publicInstance, "setState"); + } + }, assign = Object.assign, emptyObject = {}; + Object.freeze(emptyObject); + Component.prototype.isReactComponent = {}; + Component.prototype.setState = function(partialState, callback) { + if ("object" !== typeof partialState && "function" !== typeof partialState && null != partialState) + throw Error( + "takes an object of state variables to update or a function which returns an object of state variables." + ); + this.updater.enqueueSetState(this, partialState, callback, "setState"); + }; + Component.prototype.forceUpdate = function(callback) { + this.updater.enqueueForceUpdate(this, callback, "forceUpdate"); + }; + var deprecatedAPIs = { + isMounted: [ + "isMounted", + "Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks." + ], + replaceState: [ + "replaceState", + "Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)." + ] + }, fnName; + for (fnName in deprecatedAPIs) + deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + ComponentDummy.prototype = Component.prototype; + deprecatedAPIs = PureComponent.prototype = new ComponentDummy(); + deprecatedAPIs.constructor = PureComponent; + assign(deprecatedAPIs, Component.prototype); + deprecatedAPIs.isPureReactComponent = true; + var isArrayImpl = Array.isArray, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = { + H: null, + A: null, + T: null, + S: null, + V: null, + actQueue: null, + isBatchingLegacy: false, + didScheduleLegacyUpdate: false, + didUsePromise: false, + thrownErrors: [], + getCurrentStack: null, + recentlyCreatedOwnerStacks: 0 + }, hasOwnProperty = Object.prototype.hasOwnProperty, createTask = console.createTask ? console.createTask : function() { + return null; + }; + deprecatedAPIs = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind( + deprecatedAPIs, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutMaps = false, userProvidedKeyEscapeRegex = /\/+/g, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, didWarnAboutMessageChannel = false, enqueueTaskImpl = null, actScopeDepth = 0, didWarnNoAwaitAct = false, isFlushing = false, queueSeveralMicrotasks = "function" === typeof queueMicrotask ? function(callback) { + queueMicrotask(function() { + return queueMicrotask(callback); + }); + } : enqueueTask; + deprecatedAPIs = Object.freeze({ + __proto__: null, + c: function(size) { + return resolveDispatcher().useMemoCache(size); + } + }); + exports.Children = { + map: mapChildren, + forEach: function(children, forEachFunc, forEachContext) { + mapChildren( + children, + function() { + forEachFunc.apply(this, arguments); + }, + forEachContext + ); + }, + count: function(children) { + var n = 0; + mapChildren(children, function() { + n++; + }); + return n; + }, + toArray: function(children) { + return mapChildren(children, function(child) { + return child; + }) || []; + }, + only: function(children) { + if (!isValidElement(children)) + throw Error( + "React.Children.only expected to receive a single React element child." + ); + return children; + } + }; + exports.Component = Component; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.Profiler = REACT_PROFILER_TYPE; + exports.PureComponent = PureComponent; + exports.StrictMode = REACT_STRICT_MODE_TYPE; + exports.Suspense = REACT_SUSPENSE_TYPE; + exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals; + exports.__COMPILER_RUNTIME = deprecatedAPIs; + exports.act = function(callback) { + var prevActQueue = ReactSharedInternals.actQueue, prevActScopeDepth = actScopeDepth; + actScopeDepth++; + var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [], didAwaitActCall = false; + try { + var result = callback(); + } catch (error) { + ReactSharedInternals.thrownErrors.push(error); + } + if (0 < ReactSharedInternals.thrownErrors.length) + throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + if (null !== result && "object" === typeof result && "function" === typeof result.then) { + var thenable = result; + queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);" + )); + }); + return { + then: function(resolve, reject) { + didAwaitActCall = true; + thenable.then( + function(returnValue) { + popActScope(prevActQueue, prevActScopeDepth); + if (0 === prevActScopeDepth) { + try { + flushActQueue(queue), enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue, + resolve, + reject + ); + }); + } catch (error$0) { + ReactSharedInternals.thrownErrors.push(error$0); + } + if (0 < ReactSharedInternals.thrownErrors.length) { + var _thrownError = aggregateErrors( + ReactSharedInternals.thrownErrors + ); + ReactSharedInternals.thrownErrors.length = 0; + reject(_thrownError); + } + } else resolve(returnValue); + }, + function(error) { + popActScope(prevActQueue, prevActScopeDepth); + 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors( + ReactSharedInternals.thrownErrors + ), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error); + } + ); + } + }; + } + var returnValue$jscomp$0 = result; + popActScope(prevActQueue, prevActScopeDepth); + 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function() { + didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = true, console.error( + "A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)" + )); + }), ReactSharedInternals.actQueue = null); + if (0 < ReactSharedInternals.thrownErrors.length) + throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback; + return { + then: function(resolve, reject) { + didAwaitActCall = true; + 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function() { + return recursivelyFlushAsyncActWork( + returnValue$jscomp$0, + resolve, + reject + ); + })) : resolve(returnValue$jscomp$0); + } + }; + }; + exports.cache = function(fn) { + return function() { + return fn.apply(null, arguments); + }; + }; + exports.captureOwnerStack = function() { + var getCurrentStack = ReactSharedInternals.getCurrentStack; + return null === getCurrentStack ? null : getCurrentStack(); + }; + exports.cloneElement = function(element, config, children) { + if (null === element || void 0 === element) + throw Error( + "The argument must be a React element, but you passed " + element + "." + ); + var props = assign({}, element.props), key = element.key, owner = element._owner; + if (null != config) { + var JSCompiler_inline_result; + a: { + if (hasOwnProperty.call(config, "ref") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor( + config, + "ref" + ).get) && JSCompiler_inline_result.isReactWarning) { + JSCompiler_inline_result = false; + break a; + } + JSCompiler_inline_result = void 0 !== config.ref; + } + JSCompiler_inline_result && (owner = getOwner()); + hasValidKey(config) && (checkKeyStringCoercion(config.key), key = "" + config.key); + for (propName in config) + !hasOwnProperty.call(config, propName) || "key" === propName || "__self" === propName || "__source" === propName || "ref" === propName && void 0 === config.ref || (props[propName] = config[propName]); + } + var propName = arguments.length - 2; + if (1 === propName) props.children = children; + else if (1 < propName) { + JSCompiler_inline_result = Array(propName); + for (var i = 0; i < propName; i++) + JSCompiler_inline_result[i] = arguments[i + 2]; + props.children = JSCompiler_inline_result; + } + props = ReactElement( + element.type, + key, + void 0, + void 0, + owner, + props, + element._debugStack, + element._debugTask + ); + for (key = 2; key < arguments.length; key++) + owner = arguments[key], isValidElement(owner) && owner._store && (owner._store.validated = 1); + return props; + }; + exports.createContext = function(defaultValue) { + defaultValue = { + $$typeof: REACT_CONTEXT_TYPE, + _currentValue: defaultValue, + _currentValue2: defaultValue, + _threadCount: 0, + Provider: null, + Consumer: null + }; + defaultValue.Provider = defaultValue; + defaultValue.Consumer = { + $$typeof: REACT_CONSUMER_TYPE, + _context: defaultValue + }; + defaultValue._currentRenderer = null; + defaultValue._currentRenderer2 = null; + return defaultValue; + }; + exports.createElement = function(type, config, children) { + for (var i = 2; i < arguments.length; i++) { + var node = arguments[i]; + isValidElement(node) && node._store && (node._store.validated = 1); + } + i = {}; + node = null; + if (null != config) + for (propName in didWarnAboutOldJSXRuntime || !("__self" in config) || "key" in config || (didWarnAboutOldJSXRuntime = true, console.warn( + "Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform" + )), hasValidKey(config) && (checkKeyStringCoercion(config.key), node = "" + config.key), config) + hasOwnProperty.call(config, propName) && "key" !== propName && "__self" !== propName && "__source" !== propName && (i[propName] = config[propName]); + var childrenLength = arguments.length - 2; + if (1 === childrenLength) i.children = children; + else if (1 < childrenLength) { + for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++) + childArray[_i] = arguments[_i + 2]; + Object.freeze && Object.freeze(childArray); + i.children = childArray; + } + if (type && type.defaultProps) + for (propName in childrenLength = type.defaultProps, childrenLength) + void 0 === i[propName] && (i[propName] = childrenLength[propName]); + node && defineKeyPropWarningGetter( + i, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return ReactElement( + type, + node, + void 0, + void 0, + getOwner(), + i, + propName ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.createRef = function() { + var refObject = { current: null }; + Object.seal(refObject); + return refObject; + }; + exports.forwardRef = function(render) { + null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error( + "forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))." + ) : "function" !== typeof render ? console.error( + "forwardRef requires a render function but was given %s.", + null === render ? "null" : typeof render + ) : 0 !== render.length && 2 !== render.length && console.error( + "forwardRef render functions accept exactly two parameters: props and ref. %s", + 1 === render.length ? "Did you forget to use the ref parameter?" : "Any additional parameter will be undefined." + ); + null != render && null != render.defaultProps && console.error( + "forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?" + ); + var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render }, ownName; + Object.defineProperty(elementType, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + render.name || render.displayName || (Object.defineProperty(render, "name", { value: name }), render.displayName = name); + } + }); + return elementType; + }; + exports.isValidElement = isValidElement; + exports.lazy = function(ctor) { + return { + $$typeof: REACT_LAZY_TYPE, + _payload: { _status: -1, _result: ctor }, + _init: lazyInitializer + }; + }; + exports.memo = function(type, compare) { + null == type && console.error( + "memo: The first argument must be a component. Instead received: %s", + null === type ? "null" : typeof type + ); + compare = { + $$typeof: REACT_MEMO_TYPE, + type, + compare: void 0 === compare ? null : compare + }; + var ownName; + Object.defineProperty(compare, "displayName", { + enumerable: false, + configurable: true, + get: function() { + return ownName; + }, + set: function(name) { + ownName = name; + type.name || type.displayName || (Object.defineProperty(type, "name", { value: name }), type.displayName = name); + } + }); + return compare; + }; + exports.startTransition = function(scope) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = scope(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && returnValue.then(noop, reportGlobalError); + } catch (error) { + reportGlobalError(error); + } finally { + null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )), ReactSharedInternals.T = prevTransition; + } + }; + exports.unstable_useCacheRefresh = function() { + return resolveDispatcher().useCacheRefresh(); + }; + exports.use = function(usable) { + return resolveDispatcher().use(usable); + }; + exports.useActionState = function(action, initialState, permalink) { + return resolveDispatcher().useActionState( + action, + initialState, + permalink + ); + }; + exports.useCallback = function(callback, deps) { + return resolveDispatcher().useCallback(callback, deps); + }; + exports.useContext = function(Context) { + var dispatcher = resolveDispatcher(); + Context.$$typeof === REACT_CONSUMER_TYPE && console.error( + "Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?" + ); + return dispatcher.useContext(Context); + }; + exports.useDebugValue = function(value, formatterFn) { + return resolveDispatcher().useDebugValue(value, formatterFn); + }; + exports.useDeferredValue = function(value, initialValue) { + return resolveDispatcher().useDeferredValue(value, initialValue); + }; + exports.useEffect = function(create, createDeps, update) { + null == create && console.warn( + "React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + var dispatcher = resolveDispatcher(); + if ("function" === typeof update) + throw Error( + "useEffect CRUD overload is not enabled in this build of React." + ); + return dispatcher.useEffect(create, createDeps); + }; + exports.useId = function() { + return resolveDispatcher().useId(); + }; + exports.useImperativeHandle = function(ref, create, deps) { + return resolveDispatcher().useImperativeHandle(ref, create, deps); + }; + exports.useInsertionEffect = function(create, deps) { + null == create && console.warn( + "React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useInsertionEffect(create, deps); + }; + exports.useLayoutEffect = function(create, deps) { + null == create && console.warn( + "React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?" + ); + return resolveDispatcher().useLayoutEffect(create, deps); + }; + exports.useMemo = function(create, deps) { + return resolveDispatcher().useMemo(create, deps); + }; + exports.useOptimistic = function(passthrough, reducer) { + return resolveDispatcher().useOptimistic(passthrough, reducer); + }; + exports.useReducer = function(reducer, initialArg, init) { + return resolveDispatcher().useReducer(reducer, initialArg, init); + }; + exports.useRef = function(initialValue) { + return resolveDispatcher().useRef(initialValue); + }; + exports.useState = function(initialState) { + return resolveDispatcher().useState(initialState); + }; + exports.useSyncExternalStore = function(subscribe, getSnapshot, getServerSnapshot) { + return resolveDispatcher().useSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }; + exports.useTransition = function() { + return resolveDispatcher().useTransition(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react/index.js + var require_react = __commonJS({ + "node_modules/react/index.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_development(); + } + } + }); + + // node_modules/react-dom/cjs/react-dom.development.js + var require_react_dom_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom.development.js"(exports) { + "use strict"; + (function() { + function noop() { + } + function testStringCoercion(value) { + return "" + value; + } + function createPortal$1(children, containerInfo, implementation) { + var key = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null; + try { + testStringCoercion(key); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + JSCompiler_inline_result && (console.error( + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + "function" === typeof Symbol && Symbol.toStringTag && key[Symbol.toStringTag] || key.constructor.name || "Object" + ), testStringCoercion(key)); + return { + $$typeof: REACT_PORTAL_TYPE, + key: null == key ? null : "" + key, + children, + containerInfo, + implementation + }; + } + function getCrossOriginStringAs(as, input) { + if ("font" === as) return ""; + if ("string" === typeof input) + return "use-credentials" === input ? input : ""; + } + function getValueDescriptorExpectingObjectForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : 'something with type "' + typeof thing + '"'; + } + function getValueDescriptorExpectingEnumForWarning(thing) { + return null === thing ? "`null`" : void 0 === thing ? "`undefined`" : "" === thing ? "an empty string" : "string" === typeof thing ? JSON.stringify(thing) : "number" === typeof thing ? "`" + thing + "`" : 'something with type "' + typeof thing + '"'; + } + function resolveDispatcher() { + var dispatcher = ReactSharedInternals.H; + null === dispatcher && console.error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + return dispatcher; + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var React = require_react(), Internals = { + d: { + f: noop, + r: function() { + throw Error( + "Invalid form element. requestFormReset must be passed a form that was rendered by React." + ); + }, + D: noop, + C: noop, + L: noop, + m: noop, + X: noop, + S: noop, + M: noop + }, + p: 0, + findDOMNode: null + }, REACT_PORTAL_TYPE = Symbol.for("react.portal"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills" + ); + exports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = Internals; + exports.createPortal = function(children, container) { + var key = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null; + if (!container || 1 !== container.nodeType && 9 !== container.nodeType && 11 !== container.nodeType) + throw Error("Target container is not a DOM element."); + return createPortal$1(children, container, null, key); + }; + exports.flushSync = function(fn) { + var previousTransition = ReactSharedInternals.T, previousUpdatePriority = Internals.p; + try { + if (ReactSharedInternals.T = null, Internals.p = 2, fn) + return fn(); + } finally { + ReactSharedInternals.T = previousTransition, Internals.p = previousUpdatePriority, Internals.d.f() && console.error( + "flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task." + ); + } + }; + exports.preconnect = function(href, options) { + "string" === typeof href && href ? null != options && "object" !== typeof options ? console.error( + "ReactDOM.preconnect(): Expected the `options` argument (second) to be an object but encountered %s instead. The only supported option at this time is `crossOrigin` which accepts a string.", + getValueDescriptorExpectingEnumForWarning(options) + ) : null != options && "string" !== typeof options.crossOrigin && console.error( + "ReactDOM.preconnect(): Expected the `crossOrigin` option (second argument) to be a string but encountered %s instead. Try removing this option or passing a string value instead.", + getValueDescriptorExpectingObjectForWarning(options.crossOrigin) + ) : console.error( + "ReactDOM.preconnect(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + "string" === typeof href && (options ? (options = options.crossOrigin, options = "string" === typeof options ? "use-credentials" === options ? options : "" : void 0) : options = null, Internals.d.C(href, options)); + }; + exports.prefetchDNS = function(href) { + if ("string" !== typeof href || !href) + console.error( + "ReactDOM.prefetchDNS(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + else if (1 < arguments.length) { + var options = arguments[1]; + "object" === typeof options && options.hasOwnProperty("crossOrigin") ? console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. It looks like the you are attempting to set a crossOrigin property for this DNS lookup hint. Browsers do not perform DNS queries using CORS and setting this attribute on the resource hint has no effect. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ) : console.error( + "ReactDOM.prefetchDNS(): Expected only one argument, `href`, but encountered %s as a second argument instead. This argument is reserved for future options and is currently disallowed. Try calling ReactDOM.prefetchDNS() with just a single string argument, `href`.", + getValueDescriptorExpectingEnumForWarning(options) + ); + } + "string" === typeof href && Internals.d.D(href); + }; + exports.preinit = function(href, options) { + "string" === typeof href && href ? null == options || "object" !== typeof options ? console.error( + "ReactDOM.preinit(): Expected the `options` argument (second) to be an object with an `as` property describing the type of resource to be preinitialized but encountered %s instead.", + getValueDescriptorExpectingEnumForWarning(options) + ) : "style" !== options.as && "script" !== options.as && console.error( + 'ReactDOM.preinit(): Expected the `as` property in the `options` argument (second) to contain a valid value describing the type of resource to be preinitialized but encountered %s instead. Valid values for `as` are "style" and "script".', + getValueDescriptorExpectingEnumForWarning(options.as) + ) : console.error( + "ReactDOM.preinit(): Expected the `href` argument (first) to be a non-empty string but encountered %s instead.", + getValueDescriptorExpectingObjectForWarning(href) + ); + if ("string" === typeof href && options && "string" === typeof options.as) { + var as = options.as, crossOrigin = getCrossOriginStringAs(as, options.crossOrigin), integrity = "string" === typeof options.integrity ? options.integrity : void 0, fetchPriority = "string" === typeof options.fetchPriority ? options.fetchPriority : void 0; + "style" === as ? Internals.d.S( + href, + "string" === typeof options.precedence ? options.precedence : void 0, + { + crossOrigin, + integrity, + fetchPriority + } + ) : "script" === as && Internals.d.X(href, { + crossOrigin, + integrity, + fetchPriority, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } + }; + exports.preinitModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "script" !== options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingEnumForWarning(options.as) + "."); + if (encountered) + console.error( + "ReactDOM.preinitModule(): Expected up to two arguments, a non-empty `href` string and, optionally, an `options` object with a valid `as` property.%s", + encountered + ); + else + switch (encountered = options && "string" === typeof options.as ? options.as : "script", encountered) { + case "script": + break; + default: + encountered = getValueDescriptorExpectingEnumForWarning(encountered), console.error( + 'ReactDOM.preinitModule(): Currently the only supported "as" type for this function is "script" but received "%s" instead. This warning was generated for `href` "%s". In the future other module types will be supported, aligning with the import-attributes proposal. Learn more here: (https://github.com/tc39/proposal-import-attributes)', + encountered, + href + ); + } + if ("string" === typeof href) + if ("object" === typeof options && null !== options) { + if (null == options.as || "script" === options.as) + encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.M(href, { + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0 + }); + } else null == options && Internals.d.M(href); + }; + exports.preload = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + null == options || "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : "string" === typeof options.as && options.as || (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preload(): Expected two arguments, a non-empty `href` string and an `options` object with an `as` property valid for a `<link rel="preload" as="..." />` tag.%s', + encountered + ); + if ("string" === typeof href && "object" === typeof options && null !== options && "string" === typeof options.as) { + encountered = options.as; + var crossOrigin = getCrossOriginStringAs( + encountered, + options.crossOrigin + ); + Internals.d.L(href, encountered, { + crossOrigin, + integrity: "string" === typeof options.integrity ? options.integrity : void 0, + nonce: "string" === typeof options.nonce ? options.nonce : void 0, + type: "string" === typeof options.type ? options.type : void 0, + fetchPriority: "string" === typeof options.fetchPriority ? options.fetchPriority : void 0, + referrerPolicy: "string" === typeof options.referrerPolicy ? options.referrerPolicy : void 0, + imageSrcSet: "string" === typeof options.imageSrcSet ? options.imageSrcSet : void 0, + imageSizes: "string" === typeof options.imageSizes ? options.imageSizes : void 0, + media: "string" === typeof options.media ? options.media : void 0 + }); + } + }; + exports.preloadModule = function(href, options) { + var encountered = ""; + "string" === typeof href && href || (encountered += " The `href` argument encountered was " + getValueDescriptorExpectingObjectForWarning(href) + "."); + void 0 !== options && "object" !== typeof options ? encountered += " The `options` argument encountered was " + getValueDescriptorExpectingObjectForWarning(options) + "." : options && "as" in options && "string" !== typeof options.as && (encountered += " The `as` option encountered was " + getValueDescriptorExpectingObjectForWarning(options.as) + "."); + encountered && console.error( + 'ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `<link rel="modulepreload" as="..." />` tag.%s', + encountered + ); + "string" === typeof href && (options ? (encountered = getCrossOriginStringAs( + options.as, + options.crossOrigin + ), Internals.d.m(href, { + as: "string" === typeof options.as && "script" !== options.as ? options.as : void 0, + crossOrigin: encountered, + integrity: "string" === typeof options.integrity ? options.integrity : void 0 + })) : Internals.d.m(href)); + }; + exports.requestFormReset = function(form) { + Internals.d.r(form); + }; + exports.unstable_batchedUpdates = function(fn, a) { + return fn(a); + }; + exports.useFormState = function(action, initialState, permalink) { + return resolveDispatcher().useFormState(action, initialState, permalink); + }; + exports.useFormStatus = function() { + return resolveDispatcher().useHostTransitionStatus(); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react-dom/index.js + var require_react_dom = __commonJS({ + "node_modules/react-dom/index.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_development(); + } + } + }); + + // node_modules/react-dom/cjs/react-dom-client.development.js + var require_react_dom_client_development = __commonJS({ + "node_modules/react-dom/cjs/react-dom-client.development.js"(exports) { + "use strict"; + (function() { + function findHook(fiber, id) { + for (fiber = fiber.memoizedState; null !== fiber && 0 < id; ) + fiber = fiber.next, id--; + return fiber; + } + function copyWithSetImpl(obj, path, index, value) { + if (index >= path.length) return value; + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + updated[key] = copyWithSetImpl(obj[key], path, index + 1, value); + return updated; + } + function copyWithRename(obj, oldPath, newPath) { + if (oldPath.length !== newPath.length) + console.warn("copyWithRename() expects paths of the same length"); + else { + for (var i = 0; i < newPath.length - 1; i++) + if (oldPath[i] !== newPath[i]) { + console.warn( + "copyWithRename() expects paths to be the same except for the deepest key" + ); + return; + } + return copyWithRenameImpl(obj, oldPath, newPath, 0); + } + } + function copyWithRenameImpl(obj, oldPath, newPath, index) { + var oldKey = oldPath[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl( + obj[oldKey], + oldPath, + newPath, + index + 1 + ); + return updated; + } + function copyWithDeleteImpl(obj, path, index) { + var key = path[index], updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj); + if (index + 1 === path.length) + return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated; + updated[key] = copyWithDeleteImpl(obj[key], path, index + 1); + return updated; + } + function shouldSuspendImpl() { + return false; + } + function shouldErrorImpl() { + return null; + } + function warnForMissingKey() { + } + function warnInvalidHookAccess() { + console.error( + "Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks" + ); + } + function warnInvalidContextAccess() { + console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + } + function noop$2() { + } + function setToSortedString(set) { + var array = []; + set.forEach(function(value) { + array.push(value); + }); + return array.sort().join(", "); + } + function createFiber(tag, pendingProps, key, mode) { + return new FiberNode(tag, pendingProps, key, mode); + } + function scheduleRoot(root2, element) { + root2.context === emptyContextObject && (updateContainerImpl(root2.current, 2, element, root2, null, null), flushSyncWork$1()); + } + function scheduleRefresh(root2, update) { + if (null !== resolveFamily) { + var staleFamilies = update.staleFamilies; + update = update.updatedFamilies; + flushPendingEffects(); + scheduleFibersWithFamiliesRecursively( + root2.current, + update, + staleFamilies + ); + flushSyncWork$1(); + } + } + function setRefreshHandler(handler) { + resolveFamily = handler; + } + function isValidContainer(node) { + return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType); + } + function getNearestMountedFiber(fiber) { + var node = fiber, nearestMounted = fiber; + if (fiber.alternate) for (; node.return; ) node = node.return; + else { + fiber = node; + do + node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; + while (fiber); + } + return 3 === node.tag ? nearestMounted : null; + } + function getSuspenseInstanceFromFiber(fiber) { + if (13 === fiber.tag) { + var suspenseState = fiber.memoizedState; + null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState)); + if (null !== suspenseState) return suspenseState.dehydrated; + } + return null; + } + function assertIsMounted(fiber) { + if (getNearestMountedFiber(fiber) !== fiber) + throw Error("Unable to find node on an unmounted component."); + } + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) { + alternate = getNearestMountedFiber(fiber); + if (null === alternate) + throw Error("Unable to find node on an unmounted component."); + return alternate !== fiber ? null : fiber; + } + for (var a = fiber, b = alternate; ; ) { + var parentA = a.return; + if (null === parentA) break; + var parentB = parentA.alternate; + if (null === parentB) { + b = parentA.return; + if (null !== b) { + a = b; + continue; + } + break; + } + if (parentA.child === parentB.child) { + for (parentB = parentA.child; parentB; ) { + if (parentB === a) return assertIsMounted(parentA), fiber; + if (parentB === b) return assertIsMounted(parentA), alternate; + parentB = parentB.sibling; + } + throw Error("Unable to find node on an unmounted component."); + } + if (a.return !== b.return) a = parentA, b = parentB; + else { + for (var didFindChild = false, _child = parentA.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + _child = _child.sibling; + } + if (!didFindChild) { + for (_child = parentB.child; _child; ) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + _child = _child.sibling; + } + if (!didFindChild) + throw Error( + "Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue." + ); + } + } + if (a.alternate !== b) + throw Error( + "Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue." + ); + } + if (3 !== a.tag) + throw Error("Unable to find node on an unmounted component."); + return a.stateNode.current === a ? fiber : alternate; + } + function findCurrentHostFiberImpl(node) { + var tag = node.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node; + for (node = node.child; null !== node; ) { + tag = findCurrentHostFiberImpl(node); + if (null !== tag) return tag; + node = node.sibling; + } + return null; + } + function getIteratorFn(maybeIterable) { + if (null === maybeIterable || "object" !== typeof maybeIterable) + return null; + maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"]; + return "function" === typeof maybeIterable ? maybeIterable : null; + } + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function getComponentNameFromOwner(owner) { + return "number" === typeof owner.tag ? getComponentNameFromFiber(owner) : "string" === typeof owner.name ? owner.name : null; + } + function getComponentNameFromFiber(fiber) { + var type = fiber.type; + switch (fiber.tag) { + case 31: + return "Activity"; + case 24: + return "Cache"; + case 9: + return (type._context.displayName || "Context") + ".Consumer"; + case 10: + return (type.displayName || "Context") + ".Provider"; + case 18: + return "DehydratedFragment"; + case 11: + return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef"); + case 7: + return "Fragment"; + case 26: + case 27: + case 5: + return type; + case 4: + return "Portal"; + case 3: + return "Root"; + case 6: + return "Text"; + case 16: + return getComponentNameFromType(type); + case 8: + return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode"; + case 22: + return "Offscreen"; + case 12: + return "Profiler"; + case 21: + return "Scope"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 25: + return "TracingMarker"; + case 1: + case 0: + case 14: + case 15: + if ("function" === typeof type) + return type.displayName || type.name || null; + if ("string" === typeof type) return type; + break; + case 29: + type = fiber._debugInfo; + if (null != type) { + for (var i = type.length - 1; 0 <= i; i--) + if ("string" === typeof type[i].name) return type[i].name; + } + if (null !== fiber.return) + return getComponentNameFromFiber(fiber.return); + } + return null; + } + function createCursor(defaultValue) { + return { current: defaultValue }; + } + function pop(cursor, fiber) { + 0 > index$jscomp$0 ? console.error("Unexpected pop.") : (fiber !== fiberStack[index$jscomp$0] && console.error("Unexpected Fiber popped."), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--); + } + function push(cursor, value, fiber) { + index$jscomp$0++; + valueStack[index$jscomp$0] = cursor.current; + fiberStack[index$jscomp$0] = fiber; + cursor.current = value; + } + function requiredContext(c) { + null === c && console.error( + "Expected host context to exist. This error is likely caused by a bug in React. Please file an issue." + ); + return c; + } + function pushHostContainer(fiber, nextRootInstance) { + push(rootInstanceStackCursor, nextRootInstance, fiber); + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor, null, fiber); + var nextRootContext = nextRootInstance.nodeType; + switch (nextRootContext) { + case 9: + case 11: + nextRootContext = 9 === nextRootContext ? "#document" : "#fragment"; + nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone; + break; + default: + if (nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI) + nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd( + nextRootInstance, + nextRootContext + ); + else + switch (nextRootContext) { + case "svg": + nextRootInstance = HostContextNamespaceSvg; + break; + case "math": + nextRootInstance = HostContextNamespaceMath; + break; + default: + nextRootInstance = HostContextNamespaceNone; + } + } + nextRootContext = nextRootContext.toLowerCase(); + nextRootContext = updatedAncestorInfoDev(null, nextRootContext); + nextRootContext = { + context: nextRootInstance, + ancestorInfo: nextRootContext + }; + pop(contextStackCursor, fiber); + push(contextStackCursor, nextRootContext, fiber); + } + function popHostContainer(fiber) { + pop(contextStackCursor, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + function getHostContext() { + return requiredContext(contextStackCursor.current); + } + function pushHostContext(fiber) { + null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber); + var context = requiredContext(contextStackCursor.current); + var type = fiber.type; + var nextContext = getChildHostContextProd(context.context, type); + type = updatedAncestorInfoDev(context.ancestorInfo, type); + nextContext = { context: nextContext, ancestorInfo: type }; + context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber)); + } + function popHostContext(fiber) { + contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber)); + hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition); + } + function typeName(value) { + return "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + } + function willCoercionThrow(value) { + try { + return testStringCoercion(value), false; + } catch (e) { + return true; + } + } + function testStringCoercion(value) { + return "" + value; + } + function checkAttributeStringCoercion(value, attributeName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.", + attributeName, + typeName(value) + ), testStringCoercion(value); + } + function checkCSSPropertyStringCoercion(value, propName) { + if (willCoercionThrow(value)) + return console.error( + "The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.", + propName, + typeName(value) + ), testStringCoercion(value); + } + function checkFormFieldValueStringCoercion(value) { + if (willCoercionThrow(value)) + return console.error( + "Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.", + typeName(value) + ), testStringCoercion(value); + } + function injectInternals(internals) { + if ("undefined" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return false; + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled) return true; + if (!hook.supportsFiber) + return console.error( + "The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools" + ), true; + try { + rendererID = hook.inject(internals), injectedHook = hook; + } catch (err) { + console.error("React instrumentation encountered an error: %s.", err); + } + return hook.checkDCE ? true : false; + } + function setIsStrictModeForDevtools(newIsStrictMode) { + "function" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode); + if (injectedHook && "function" === typeof injectedHook.setStrictMode) + try { + injectedHook.setStrictMode(rendererID, newIsStrictMode); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + } + function injectProfilingHooks(profilingHooks) { + injectedProfilingHooks = profilingHooks; + } + function markCommitStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped(); + } + function markComponentRenderStarted(fiber) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber); + } + function markComponentRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped(); + } + function markRenderStarted(lanes) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes); + } + function markRenderStopped() { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped(); + } + function markStateUpdateScheduled(fiber, lane) { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane); + } + function clz32Fallback(x) { + x >>>= 0; + return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0; + } + function getLabelForLane(lane) { + if (lane & 1) return "SyncHydrationLane"; + if (lane & 2) return "Sync"; + if (lane & 4) return "InputContinuousHydration"; + if (lane & 8) return "InputContinuous"; + if (lane & 16) return "DefaultHydration"; + if (lane & 32) return "Default"; + if (lane & 128) return "TransitionHydration"; + if (lane & 4194048) return "Transition"; + if (lane & 62914560) return "Retry"; + if (lane & 67108864) return "SelectiveHydration"; + if (lane & 134217728) return "IdleHydration"; + if (lane & 268435456) return "Idle"; + if (lane & 536870912) return "Offscreen"; + if (lane & 1073741824) return "Deferred"; + } + function getHighestPriorityLanes(lanes) { + var pendingSyncLanes = lanes & 42; + if (0 !== pendingSyncLanes) return pendingSyncLanes; + switch (lanes & -lanes) { + case 1: + return 1; + case 2: + return 2; + case 4: + return 4; + case 8: + return 8; + case 16: + return 16; + case 32: + return 32; + case 64: + return 64; + case 128: + return 128; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return lanes & 4194048; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return lanes & 62914560; + case 67108864: + return 67108864; + case 134217728: + return 134217728; + case 268435456: + return 268435456; + case 536870912: + return 536870912; + case 1073741824: + return 0; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), lanes; + } + } + function getNextLanes(root2, wipLanes, rootHasPendingCommit) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) return 0; + var nextLanes = 0, suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + root2 = root2.warmLanes; + var nonIdlePendingLanes = pendingLanes & 134217727; + 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = nonIdlePendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : rootHasPendingCommit || (rootHasPendingCommit = pendingLanes & ~root2, 0 !== rootHasPendingCommit && (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))); + return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, rootHasPendingCommit = wipLanes & -wipLanes, suspendedLanes >= rootHasPendingCommit || 32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)) ? wipLanes : nextLanes; + } + function checkIfRootIsPrerendering(root2, renderLanes2) { + return 0 === (root2.pendingLanes & ~(root2.suspendedLanes & ~root2.pingedLanes) & renderLanes2); + } + function computeExpirationTime(lane, currentTime) { + switch (lane) { + case 1: + case 2: + case 4: + case 8: + case 64: + return currentTime + 250; + case 16: + case 32: + case 128: + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + return currentTime + 5e3; + case 4194304: + case 8388608: + case 16777216: + case 33554432: + return -1; + case 67108864: + case 134217728: + case 268435456: + case 536870912: + case 1073741824: + return -1; + default: + return console.error( + "Should have found matching lanes. This is a bug in React." + ), -1; + } + } + function claimNextTransitionLane() { + var lane = nextTransitionLane; + nextTransitionLane <<= 1; + 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256); + return lane; + } + function claimNextRetryLane() { + var lane = nextRetryLane; + nextRetryLane <<= 1; + 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304); + return lane; + } + function createLaneMap(initial) { + for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial); + return laneMap; + } + function markRootUpdated$1(root2, updateLane) { + root2.pendingLanes |= updateLane; + 268435456 !== updateLane && (root2.suspendedLanes = 0, root2.pingedLanes = 0, root2.warmLanes = 0); + } + function markRootFinished(root2, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) { + var previouslyPendingLanes = root2.pendingLanes; + root2.pendingLanes = remainingLanes; + root2.suspendedLanes = 0; + root2.pingedLanes = 0; + root2.warmLanes = 0; + root2.expiredLanes &= remainingLanes; + root2.entangledLanes &= remainingLanes; + root2.errorRecoveryDisabledLanes &= remainingLanes; + root2.shellSuspendCounter = 0; + var entanglements = root2.entanglements, expirationTimes = root2.expirationTimes, hiddenUpdates = root2.hiddenUpdates; + for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes; ) { + var index = 31 - clz32(remainingLanes), lane = 1 << index; + entanglements[index] = 0; + expirationTimes[index] = -1; + var hiddenUpdatesForLane = hiddenUpdates[index]; + if (null !== hiddenUpdatesForLane) + for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) { + var update = hiddenUpdatesForLane[index]; + null !== update && (update.lane &= -536870913); + } + remainingLanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, 0); + 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root2.tag && (root2.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes)); + } + function markSpawnedDeferredLane(root2, spawnedLane, entangledLanes) { + root2.pendingLanes |= spawnedLane; + root2.suspendedLanes &= ~spawnedLane; + var spawnedLaneIndex = 31 - clz32(spawnedLane); + root2.entangledLanes |= spawnedLane; + root2.entanglements[spawnedLaneIndex] = root2.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194090; + } + function markRootEntangled(root2, entangledLanes) { + var rootEntangledLanes = root2.entangledLanes |= entangledLanes; + for (root2 = root2.entanglements; rootEntangledLanes; ) { + var index = 31 - clz32(rootEntangledLanes), lane = 1 << index; + lane & entangledLanes | root2[index] & entangledLanes && (root2[index] |= entangledLanes); + rootEntangledLanes &= ~lane; + } + } + function getBumpedLaneForHydrationByLane(lane) { + switch (lane) { + case 2: + lane = 1; + break; + case 8: + lane = 4; + break; + case 32: + lane = 16; + break; + case 256: + case 512: + case 1024: + case 2048: + case 4096: + case 8192: + case 16384: + case 32768: + case 65536: + case 131072: + case 262144: + case 524288: + case 1048576: + case 2097152: + case 4194304: + case 8388608: + case 16777216: + case 33554432: + lane = 128; + break; + case 268435456: + lane = 134217728; + break; + default: + lane = 0; + } + return lane; + } + function addFiberToLanesMap(root2, fiber, lanes) { + if (isDevToolsPresent) + for (root2 = root2.pendingUpdatersLaneMap; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + root2[index].add(fiber); + lanes &= ~lane; + } + } + function movePendingFibersToMemoized(root2, lanes) { + if (isDevToolsPresent) + for (var pendingUpdatersLaneMap = root2.pendingUpdatersLaneMap, memoizedUpdaters = root2.memoizedUpdaters; 0 < lanes; ) { + var index = 31 - clz32(lanes); + root2 = 1 << index; + index = pendingUpdatersLaneMap[index]; + 0 < index.size && (index.forEach(function(fiber) { + var alternate = fiber.alternate; + null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber); + }), index.clear()); + lanes &= ~root2; + } + } + function lanesToEventPriority(lanes) { + lanes &= -lanes; + return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority; + } + function resolveUpdatePriority() { + var updatePriority = ReactDOMSharedInternals.p; + if (0 !== updatePriority) return updatePriority; + updatePriority = window.event; + return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type); + } + function runWithPriority(priority, fn) { + var previousPriority = ReactDOMSharedInternals.p; + try { + return ReactDOMSharedInternals.p = priority, fn(); + } finally { + ReactDOMSharedInternals.p = previousPriority; + } + } + function detachDeletedInstance(node) { + delete node[internalInstanceKey]; + delete node[internalPropsKey]; + delete node[internalEventHandlersKey]; + delete node[internalEventHandlerListenersKey]; + delete node[internalEventHandlesSetKey]; + } + function getClosestInstanceFromNode(targetNode) { + var targetInst = targetNode[internalInstanceKey]; + if (targetInst) return targetInst; + for (var parentNode = targetNode.parentNode; parentNode; ) { + if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) { + parentNode = targetInst.alternate; + if (null !== targetInst.child || null !== parentNode && null !== parentNode.child) + for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode; ) { + if (parentNode = targetNode[internalInstanceKey]) + return parentNode; + targetNode = getParentSuspenseInstance(targetNode); + } + return targetInst; + } + targetNode = parentNode; + parentNode = targetNode.parentNode; + } + return null; + } + function getInstanceFromNode(node) { + if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) { + var tag = node.tag; + if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag) + return node; + } + return null; + } + function getNodeFromInstance(inst) { + var tag = inst.tag; + if (5 === tag || 26 === tag || 27 === tag || 6 === tag) + return inst.stateNode; + throw Error("getNodeFromInstance: Invalid argument."); + } + function getResourcesFromRoot(root2) { + var resources = root2[internalRootNodeResourcesKey]; + resources || (resources = root2[internalRootNodeResourcesKey] = { hoistableStyles: /* @__PURE__ */ new Map(), hoistableScripts: /* @__PURE__ */ new Map() }); + return resources; + } + function markNodeAsHoistable(node) { + node[internalHoistableMarker] = true; + } + function registerTwoPhaseEvent(registrationName, dependencies) { + registerDirectEvent(registrationName, dependencies); + registerDirectEvent(registrationName + "Capture", dependencies); + } + function registerDirectEvent(registrationName, dependencies) { + registrationNameDependencies[registrationName] && console.error( + "EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.", + registrationName + ); + registrationNameDependencies[registrationName] = dependencies; + var lowerCasedName = registrationName.toLowerCase(); + possibleRegistrationNames[lowerCasedName] = registrationName; + "onDoubleClick" === registrationName && (possibleRegistrationNames.ondblclick = registrationName); + for (registrationName = 0; registrationName < dependencies.length; registrationName++) + allNativeEvents.add(dependencies[registrationName]); + } + function checkControlledValueProps(tagName, props) { + hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || ("select" === tagName ? console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`." + ) : console.error( + "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`." + )); + props.onChange || props.readOnly || props.disabled || null == props.checked || console.error( + "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`." + ); + } + function isAttributeNameSafe(attributeName) { + if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) + return true; + if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) + return false; + if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) + return validatedAttributeNameCache[attributeName] = true; + illegalAttributeNameCache[attributeName] = true; + console.error("Invalid attribute name: `%s`", attributeName); + return false; + } + function getValueForAttributeOnCustomComponent(node, name, expected) { + if (isAttributeNameSafe(name)) { + if (!node.hasAttribute(name)) { + switch (typeof expected) { + case "symbol": + case "object": + return expected; + case "function": + return expected; + case "boolean": + if (false === expected) return expected; + } + return void 0 === expected ? void 0 : null; + } + node = node.getAttribute(name); + if ("" === node && true === expected) return true; + checkAttributeStringCoercion(expected, name); + return node === "" + expected ? expected : node; + } + } + function setValueForAttribute(node, name, value) { + if (isAttributeNameSafe(name)) + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + node.removeAttribute(name); + return; + case "boolean": + var prefix2 = name.toLowerCase().slice(0, 5); + if ("data-" !== prefix2 && "aria-" !== prefix2) { + node.removeAttribute(name); + return; + } + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForKnownAttribute(node, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttribute(name, "" + value); + } + } + function setValueForNamespacedAttribute(node, namespace, name, value) { + if (null === value) node.removeAttribute(name); + else { + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + node.removeAttribute(name); + return; + } + checkAttributeStringCoercion(value, name); + node.setAttributeNS(namespace, name, "" + value); + } + } + function disabledLog() { + } + function disableLogs() { + if (0 === disabledDepth) { + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + } + disabledDepth++; + } + function reenableLogs() { + disabledDepth--; + if (0 === disabledDepth) { + var props = { configurable: true, enumerable: true, writable: true }; + Object.defineProperties(console, { + log: assign({}, props, { value: prevLog }), + info: assign({}, props, { value: prevInfo }), + warn: assign({}, props, { value: prevWarn }), + error: assign({}, props, { value: prevError }), + group: assign({}, props, { value: prevGroup }), + groupCollapsed: assign({}, props, { value: prevGroupCollapsed }), + groupEnd: assign({}, props, { value: prevGroupEnd }) + }); + } + 0 > disabledDepth && console.error( + "disabledDepth fell below zero. This is a bug in React. Please file an issue." + ); + } + function describeBuiltInComponentFrame(name) { + if (void 0 === prefix) + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ""; + suffix = -1 < x.stack.indexOf("\n at") ? " (<anonymous>)" : -1 < x.stack.indexOf("@") ? "@unknown:0:0" : ""; + } + return "\n" + prefix + name + suffix; + } + function describeNativeComponentFrame(fn, construct) { + if (!fn || reentry) return ""; + var frame = componentFrameCache.get(fn); + if (void 0 !== frame) return frame; + reentry = true; + frame = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + var previousDispatcher2 = null; + previousDispatcher2 = ReactSharedInternals.H; + ReactSharedInternals.H = null; + disableLogs(); + try { + var RunInRootFrame = { + DetermineComponentFrameRoot: function() { + try { + if (construct) { + var Fake = function() { + throw Error(); + }; + Object.defineProperty(Fake.prototype, "props", { + set: function() { + throw Error(); + } + }); + if ("object" === typeof Reflect && Reflect.construct) { + try { + Reflect.construct(Fake, []); + } catch (x) { + var control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x$0) { + control = x$0; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x$1) { + control = x$1; + } + (Fake = fn()) && "function" === typeof Fake.catch && Fake.catch(function() { + }); + } + } catch (sample) { + if (sample && control && "string" === typeof sample.stack) + return [sample.stack, control.stack]; + } + return [null, null]; + } + }; + RunInRootFrame.DetermineComponentFrameRoot.displayName = "DetermineComponentFrameRoot"; + var namePropDescriptor = Object.getOwnPropertyDescriptor( + RunInRootFrame.DetermineComponentFrameRoot, + "name" + ); + namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty( + RunInRootFrame.DetermineComponentFrameRoot, + "name", + { value: "DetermineComponentFrameRoot" } + ); + var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(), sampleStack = _RunInRootFrame$Deter[0], controlStack = _RunInRootFrame$Deter[1]; + if (sampleStack && controlStack) { + var sampleLines = sampleStack.split("\n"), controlLines = controlStack.split("\n"); + for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes( + "DetermineComponentFrameRoot" + ); ) + namePropDescriptor++; + for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes( + "DetermineComponentFrameRoot" + ); ) + _RunInRootFrame$Deter++; + if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) + for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]; ) + _RunInRootFrame$Deter--; + for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) + if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) { + do + if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) { + var _frame = "\n" + sampleLines[namePropDescriptor].replace( + " at new ", + " at " + ); + fn.displayName && _frame.includes("<anonymous>") && (_frame = _frame.replace("<anonymous>", fn.displayName)); + "function" === typeof fn && componentFrameCache.set(fn, _frame); + return _frame; + } + while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter); + } + break; + } + } + } finally { + reentry = false, ReactSharedInternals.H = previousDispatcher2, reenableLogs(), Error.prepareStackTrace = frame; + } + sampleLines = (sampleLines = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(sampleLines) : ""; + "function" === typeof fn && componentFrameCache.set(fn, sampleLines); + return sampleLines; + } + function formatOwnerStack(error) { + var prevPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + error = error.stack; + Error.prepareStackTrace = prevPrepareStackTrace; + error.startsWith("Error: react-stack-top-frame\n") && (error = error.slice(29)); + prevPrepareStackTrace = error.indexOf("\n"); + -1 !== prevPrepareStackTrace && (error = error.slice(prevPrepareStackTrace + 1)); + prevPrepareStackTrace = error.indexOf("react_stack_bottom_frame"); + -1 !== prevPrepareStackTrace && (prevPrepareStackTrace = error.lastIndexOf( + "\n", + prevPrepareStackTrace + )); + if (-1 !== prevPrepareStackTrace) + error = error.slice(0, prevPrepareStackTrace); + else return ""; + return error; + } + function describeFiber(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return describeBuiltInComponentFrame(fiber.type); + case 16: + return describeBuiltInComponentFrame("Lazy"); + case 13: + return describeBuiltInComponentFrame("Suspense"); + case 19: + return describeBuiltInComponentFrame("SuspenseList"); + case 0: + case 15: + return describeNativeComponentFrame(fiber.type, false); + case 11: + return describeNativeComponentFrame(fiber.type.render, false); + case 1: + return describeNativeComponentFrame(fiber.type, true); + case 31: + return describeBuiltInComponentFrame("Activity"); + default: + return ""; + } + } + function getStackByFiberInDevAndProd(workInProgress2) { + try { + var info = ""; + do { + info += describeFiber(workInProgress2); + var debugInfo = workInProgress2._debugInfo; + if (debugInfo) + for (var i = debugInfo.length - 1; 0 <= i; i--) { + var entry = debugInfo[i]; + if ("string" === typeof entry.name) { + var JSCompiler_temp_const = info, env = entry.env; + var JSCompiler_inline_result = describeBuiltInComponentFrame( + entry.name + (env ? " [" + env + "]" : "") + ); + info = JSCompiler_temp_const + JSCompiler_inline_result; + } + } + workInProgress2 = workInProgress2.return; + } while (workInProgress2); + return info; + } catch (x) { + return "\nError generating stack: " + x.message + "\n" + x.stack; + } + } + function describeFunctionComponentFrameWithoutLineNumber(fn) { + return (fn = fn ? fn.displayName || fn.name : "") ? describeBuiltInComponentFrame(fn) : ""; + } + function getCurrentFiberOwnerNameInDevOrNull() { + if (null === current) return null; + var owner = current._debugOwner; + return null != owner ? getComponentNameFromOwner(owner) : null; + } + function getCurrentFiberStackInDev() { + if (null === current) return ""; + var workInProgress2 = current; + try { + var info = ""; + 6 === workInProgress2.tag && (workInProgress2 = workInProgress2.return); + switch (workInProgress2.tag) { + case 26: + case 27: + case 5: + info += describeBuiltInComponentFrame(workInProgress2.type); + break; + case 13: + info += describeBuiltInComponentFrame("Suspense"); + break; + case 19: + info += describeBuiltInComponentFrame("SuspenseList"); + break; + case 31: + info += describeBuiltInComponentFrame("Activity"); + break; + case 30: + case 0: + case 15: + case 1: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type + )); + break; + case 11: + workInProgress2._debugOwner || "" !== info || (info += describeFunctionComponentFrameWithoutLineNumber( + workInProgress2.type.render + )); + } + for (; workInProgress2; ) + if ("number" === typeof workInProgress2.tag) { + var fiber = workInProgress2; + workInProgress2 = fiber._debugOwner; + var debugStack = fiber._debugStack; + workInProgress2 && debugStack && ("string" !== typeof debugStack && (fiber._debugStack = debugStack = formatOwnerStack(debugStack)), "" !== debugStack && (info += "\n" + debugStack)); + } else if (null != workInProgress2.debugStack) { + var ownerStack = workInProgress2.debugStack; + (workInProgress2 = workInProgress2.owner) && ownerStack && (info += "\n" + formatOwnerStack(ownerStack)); + } else break; + var JSCompiler_inline_result = info; + } catch (x) { + JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack; + } + return JSCompiler_inline_result; + } + function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) { + var previousFiber = current; + setCurrentFiber(fiber); + try { + return null !== fiber && fiber._debugTask ? fiber._debugTask.run( + callback.bind(null, arg0, arg1, arg2, arg3, arg4) + ) : callback(arg0, arg1, arg2, arg3, arg4); + } finally { + setCurrentFiber(previousFiber); + } + throw Error( + "runWithFiberInDEV should never be called in production. This is a bug in React." + ); + } + function setCurrentFiber(fiber) { + ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev; + isRendering = false; + current = fiber; + } + function getToStringValue(value) { + switch (typeof value) { + case "bigint": + case "boolean": + case "number": + case "string": + case "undefined": + return value; + case "object": + return checkFormFieldValueStringCoercion(value), value; + default: + return ""; + } + } + function isCheckable(elem) { + var type = elem.type; + return (elem = elem.nodeName) && "input" === elem.toLowerCase() && ("checkbox" === type || "radio" === type); + } + function trackValueOnNode(node) { + var valueField = isCheckable(node) ? "checked" : "value", descriptor = Object.getOwnPropertyDescriptor( + node.constructor.prototype, + valueField + ); + checkFormFieldValueStringCoercion(node[valueField]); + var currentValue = "" + node[valueField]; + if (!node.hasOwnProperty(valueField) && "undefined" !== typeof descriptor && "function" === typeof descriptor.get && "function" === typeof descriptor.set) { + var get = descriptor.get, set = descriptor.set; + Object.defineProperty(node, valueField, { + configurable: true, + get: function() { + return get.call(this); + }, + set: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + set.call(this, value); + } + }); + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable + }); + return { + getValue: function() { + return currentValue; + }, + setValue: function(value) { + checkFormFieldValueStringCoercion(value); + currentValue = "" + value; + }, + stopTracking: function() { + node._valueTracker = null; + delete node[valueField]; + } + }; + } + } + function track(node) { + node._valueTracker || (node._valueTracker = trackValueOnNode(node)); + } + function updateValueIfChanged(node) { + if (!node) return false; + var tracker = node._valueTracker; + if (!tracker) return true; + var lastValue = tracker.getValue(); + var value = ""; + node && (value = isCheckable(node) ? node.checked ? "true" : "false" : node.value); + node = value; + return node !== lastValue ? (tracker.setValue(node), true) : false; + } + function getActiveElement(doc) { + doc = doc || ("undefined" !== typeof document ? document : void 0); + if ("undefined" === typeof doc) return null; + try { + return doc.activeElement || doc.body; + } catch (e) { + return doc.body; + } + } + function escapeSelectorAttributeValueInsideDoubleQuotes(value) { + return value.replace( + escapeSelectorAttributeValueInsideDoubleQuotesRegex, + function(ch) { + return "\\" + ch.charCodeAt(0).toString(16) + " "; + } + ); + } + function validateInputProps(element, props) { + void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error( + "%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnCheckedDefaultChecked = true); + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error( + "%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component", + props.type + ), didWarnValueDefaultValue$1 = true); + } + function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) { + element.name = ""; + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type ? (checkAttributeStringCoercion(type, "type"), element.type = type) : element.removeAttribute("type"); + if (null != value) + if ("number" === type) { + if (0 === value && "" === element.value || element.value != value) + element.value = "" + getToStringValue(value); + } else + element.value !== "" + getToStringValue(value) && (element.value = "" + getToStringValue(value)); + else + "submit" !== type && "reset" !== type || element.removeAttribute("value"); + null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute("value"); + null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked); + null != checked && (element.checked = checked && "function" !== typeof checked && "symbol" !== typeof checked); + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name ? (checkAttributeStringCoercion(name, "name"), element.name = "" + getToStringValue(name)) : element.removeAttribute("name"); + } + function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating2) { + null != type && "function" !== typeof type && "symbol" !== typeof type && "boolean" !== typeof type && (checkAttributeStringCoercion(type, "type"), element.type = type); + if (null != value || null != defaultValue) { + if (!("submit" !== type && "reset" !== type || void 0 !== value && null !== value)) + return; + defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + value = null != value ? "" + getToStringValue(value) : defaultValue; + isHydrating2 || value === element.value || (element.value = value); + element.defaultValue = value; + } + checked = null != checked ? checked : defaultChecked; + checked = "function" !== typeof checked && "symbol" !== typeof checked && !!checked; + element.checked = isHydrating2 ? element.checked : !!checked; + element.defaultChecked = !!checked; + null != name && "function" !== typeof name && "symbol" !== typeof name && "boolean" !== typeof name && (checkAttributeStringCoercion(name, "name"), element.name = name); + } + function setDefaultValue(node, type, value) { + "number" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === "" + value || (node.defaultValue = "" + value); + } + function validateOptionProps(element, props) { + null == props.value && ("object" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function(child) { + null == child || "string" === typeof child || "number" === typeof child || "bigint" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = true, console.error( + "Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to <option>." + )); + }) : null == props.dangerouslySetInnerHTML || didWarnInvalidInnerHTML || (didWarnInvalidInnerHTML = true, console.error( + "Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected." + ))); + null == props.selected || didWarnSelectedSetOnOption || (console.error( + "Use the `defaultValue` or `value` props on <select> instead of setting `selected` on <option>." + ), didWarnSelectedSetOnOption = true); + } + function getDeclarationErrorAddendum() { + var ownerName = getCurrentFiberOwnerNameInDevOrNull(); + return ownerName ? "\n\nCheck the render method of `" + ownerName + "`." : ""; + } + function updateOptions(node, multiple, propValue, setDefaultSelected) { + node = node.options; + if (multiple) { + multiple = {}; + for (var i = 0; i < propValue.length; i++) + multiple["$" + propValue[i]] = true; + for (propValue = 0; propValue < node.length; propValue++) + i = multiple.hasOwnProperty("$" + node[propValue].value), node[propValue].selected !== i && (node[propValue].selected = i), i && setDefaultSelected && (node[propValue].defaultSelected = true); + } else { + propValue = "" + getToStringValue(propValue); + multiple = null; + for (i = 0; i < node.length; i++) { + if (node[i].value === propValue) { + node[i].selected = true; + setDefaultSelected && (node[i].defaultSelected = true); + return; + } + null !== multiple || node[i].disabled || (multiple = node[i]); + } + null !== multiple && (multiple.selected = true); + } + } + function validateSelectProps(element, props) { + for (element = 0; element < valuePropNames.length; element++) { + var propName = valuePropNames[element]; + if (null != props[propName]) { + var propNameIsArray = isArrayImpl(props[propName]); + props.multiple && !propNameIsArray ? console.error( + "The `%s` prop supplied to <select> must be an array if `multiple` is true.%s", + propName, + getDeclarationErrorAddendum() + ) : !props.multiple && propNameIsArray && console.error( + "The `%s` prop supplied to <select> must be a scalar value if `multiple` is false.%s", + propName, + getDeclarationErrorAddendum() + ); + } + } + void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue || (console.error( + "Select elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled select element and remove one of these props. More info: https://react.dev/link/controlled-components" + ), didWarnValueDefaultValue = true); + } + function validateTextareaProps(element, props) { + void 0 === props.value || void 0 === props.defaultValue || didWarnValDefaultVal || (console.error( + "%s contains a textarea with both value and defaultValue props. Textarea elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled textarea and remove one of these props. More info: https://react.dev/link/controlled-components", + getCurrentFiberOwnerNameInDevOrNull() || "A component" + ), didWarnValDefaultVal = true); + null != props.children && null == props.value && console.error( + "Use the `defaultValue` or `value` props instead of setting children on <textarea>." + ); + } + function updateTextarea(element, value, defaultValue) { + if (null != value && (value = "" + getToStringValue(value), value !== element.value && (element.value = value), null == defaultValue)) { + element.defaultValue !== value && (element.defaultValue = value); + return; + } + element.defaultValue = null != defaultValue ? "" + getToStringValue(defaultValue) : ""; + } + function initTextarea(element, value, defaultValue, children) { + if (null == value) { + if (null != children) { + if (null != defaultValue) + throw Error( + "If you supply `defaultValue` on a <textarea>, do not pass children." + ); + if (isArrayImpl(children)) { + if (1 < children.length) + throw Error("<textarea> can only have at most one child."); + children = children[0]; + } + defaultValue = children; + } + null == defaultValue && (defaultValue = ""); + value = defaultValue; + } + defaultValue = getToStringValue(value); + element.defaultValue = defaultValue; + children = element.textContent; + children === defaultValue && "" !== children && null !== children && (element.value = children); + } + function findNotableNode(node, indent) { + return void 0 === node.serverProps && 0 === node.serverTail.length && 1 === node.children.length && 3 < node.distanceFromLeaf && node.distanceFromLeaf > 15 - indent ? findNotableNode(node.children[0], indent) : node; + } + function indentation(indent) { + return " " + " ".repeat(indent); + } + function added(indent) { + return "+ " + " ".repeat(indent); + } + function removed(indent) { + return "- " + " ".repeat(indent); + } + function describeFiberType(fiber) { + switch (fiber.tag) { + case 26: + case 27: + case 5: + return fiber.type; + case 16: + return "Lazy"; + case 13: + return "Suspense"; + case 19: + return "SuspenseList"; + case 0: + case 15: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + case 11: + return fiber = fiber.type.render, fiber.displayName || fiber.name || null; + case 1: + return fiber = fiber.type, fiber.displayName || fiber.name || null; + default: + return null; + } + } + function describeTextNode(content, maxLength) { + return needsEscaping.test(content) ? (content = JSON.stringify(content), content.length > maxLength - 2 ? 8 > maxLength ? '{"..."}' : "{" + content.slice(0, maxLength - 7) + '..."}' : "{" + content + "}") : content.length > maxLength ? 5 > maxLength ? '{"..."}' : content.slice(0, maxLength - 3) + "..." : content; + } + function describeTextDiff(clientText, serverProps, indent) { + var maxLength = 120 - 2 * indent; + if (null === serverProps) + return added(indent) + describeTextNode(clientText, maxLength) + "\n"; + if ("string" === typeof serverProps) { + for (var firstDiff = 0; firstDiff < serverProps.length && firstDiff < clientText.length && serverProps.charCodeAt(firstDiff) === clientText.charCodeAt(firstDiff); firstDiff++) ; + firstDiff > maxLength - 8 && 10 < firstDiff && (clientText = "..." + clientText.slice(firstDiff - 8), serverProps = "..." + serverProps.slice(firstDiff - 8)); + return added(indent) + describeTextNode(clientText, maxLength) + "\n" + removed(indent) + describeTextNode(serverProps, maxLength) + "\n"; + } + return indentation(indent) + describeTextNode(clientText, maxLength) + "\n"; + } + function objectName(object) { + return Object.prototype.toString.call(object).replace(/^\[object (.*)\]$/, function(m, p0) { + return p0; + }); + } + function describeValue(value, maxLength) { + switch (typeof value) { + case "string": + return value = JSON.stringify(value), value.length > maxLength ? 5 > maxLength ? '"..."' : value.slice(0, maxLength - 4) + '..."' : value; + case "object": + if (null === value) return "null"; + if (isArrayImpl(value)) return "[...]"; + if (value.$$typeof === REACT_ELEMENT_TYPE) + return (maxLength = getComponentNameFromType(value.type)) ? "<" + maxLength + ">" : "<...>"; + var name = objectName(value); + if ("Object" === name) { + name = ""; + maxLength -= 2; + for (var propName in value) + if (value.hasOwnProperty(propName)) { + var jsonPropName = JSON.stringify(propName); + jsonPropName !== '"' + propName + '"' && (propName = jsonPropName); + maxLength -= propName.length - 2; + jsonPropName = describeValue( + value[propName], + 15 > maxLength ? maxLength : 15 + ); + maxLength -= jsonPropName.length; + if (0 > maxLength) { + name += "" === name ? "..." : ", ..."; + break; + } + name += ("" === name ? "" : ",") + propName + ":" + jsonPropName; + } + return "{" + name + "}"; + } + return name; + case "function": + return (maxLength = value.displayName || value.name) ? "function " + maxLength : "function"; + default: + return String(value); + } + } + function describePropValue(value, maxLength) { + return "string" !== typeof value || needsEscaping.test(value) ? "{" + describeValue(value, maxLength - 2) + "}" : value.length > maxLength - 2 ? 5 > maxLength ? '"..."' : '"' + value.slice(0, maxLength - 5) + '..."' : '"' + value + '"'; + } + function describeExpandedElement(type, props, rowPrefix) { + var remainingRowLength = 120 - rowPrefix.length - type.length, properties = [], propName; + for (propName in props) + if (props.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue( + props[propName], + 120 - rowPrefix.length - propName.length - 1 + ); + remainingRowLength -= propName.length + propValue.length + 2; + properties.push(propName + "=" + propValue); + } + return 0 === properties.length ? rowPrefix + "<" + type + ">\n" : 0 < remainingRowLength ? rowPrefix + "<" + type + " " + properties.join(" ") + ">\n" : rowPrefix + "<" + type + "\n" + rowPrefix + " " + properties.join("\n" + rowPrefix + " ") + "\n" + rowPrefix + ">\n"; + } + function describePropertiesDiff(clientObject, serverObject, indent) { + var properties = "", remainingServerProperties = assign({}, serverObject), propName; + for (propName in clientObject) + if (clientObject.hasOwnProperty(propName)) { + delete remainingServerProperties[propName]; + var maxLength = 120 - 2 * indent - propName.length - 2, clientPropValue = describeValue(clientObject[propName], maxLength); + serverObject.hasOwnProperty(propName) ? (maxLength = describeValue(serverObject[propName], maxLength), properties += added(indent) + propName + ": " + clientPropValue + "\n", properties += removed(indent) + propName + ": " + maxLength + "\n") : properties += added(indent) + propName + ": " + clientPropValue + "\n"; + } + for (var _propName in remainingServerProperties) + remainingServerProperties.hasOwnProperty(_propName) && (clientObject = describeValue( + remainingServerProperties[_propName], + 120 - 2 * indent - _propName.length - 2 + ), properties += removed(indent) + _propName + ": " + clientObject + "\n"); + return properties; + } + function describeElementDiff(type, clientProps, serverProps, indent) { + var content = "", serverPropNames = /* @__PURE__ */ new Map(); + for (propName$jscomp$0 in serverProps) + serverProps.hasOwnProperty(propName$jscomp$0) && serverPropNames.set( + propName$jscomp$0.toLowerCase(), + propName$jscomp$0 + ); + if (1 === serverPropNames.size && serverPropNames.has("children")) + content += describeExpandedElement( + type, + clientProps, + indentation(indent) + ); + else { + for (var _propName2 in clientProps) + if (clientProps.hasOwnProperty(_propName2) && "children" !== _propName2) { + var maxLength$jscomp$0 = 120 - 2 * (indent + 1) - _propName2.length - 1, serverPropName = serverPropNames.get(_propName2.toLowerCase()); + if (void 0 !== serverPropName) { + serverPropNames.delete(_propName2.toLowerCase()); + var propName$jscomp$0 = clientProps[_propName2]; + serverPropName = serverProps[serverPropName]; + var clientPropValue = describePropValue( + propName$jscomp$0, + maxLength$jscomp$0 + ); + maxLength$jscomp$0 = describePropValue( + serverPropName, + maxLength$jscomp$0 + ); + "object" === typeof propName$jscomp$0 && null !== propName$jscomp$0 && "object" === typeof serverPropName && null !== serverPropName && "Object" === objectName(propName$jscomp$0) && "Object" === objectName(serverPropName) && (2 < Object.keys(propName$jscomp$0).length || 2 < Object.keys(serverPropName).length || -1 < clientPropValue.indexOf("...") || -1 < maxLength$jscomp$0.indexOf("...")) ? content += indentation(indent + 1) + _propName2 + "={{\n" + describePropertiesDiff( + propName$jscomp$0, + serverPropName, + indent + 2 + ) + indentation(indent + 1) + "}}\n" : (content += added(indent + 1) + _propName2 + "=" + clientPropValue + "\n", content += removed(indent + 1) + _propName2 + "=" + maxLength$jscomp$0 + "\n"); + } else + content += indentation(indent + 1) + _propName2 + "=" + describePropValue(clientProps[_propName2], maxLength$jscomp$0) + "\n"; + } + serverPropNames.forEach(function(propName) { + if ("children" !== propName) { + var maxLength = 120 - 2 * (indent + 1) - propName.length - 1; + content += removed(indent + 1) + propName + "=" + describePropValue(serverProps[propName], maxLength) + "\n"; + } + }); + content = "" === content ? indentation(indent) + "<" + type + ">\n" : indentation(indent) + "<" + type + "\n" + content + indentation(indent) + ">\n"; + } + type = serverProps.children; + clientProps = clientProps.children; + if ("string" === typeof type || "number" === typeof type || "bigint" === typeof type) { + serverPropNames = ""; + if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + serverPropNames = "" + clientProps; + content += describeTextDiff(serverPropNames, "" + type, indent + 1); + } else if ("string" === typeof clientProps || "number" === typeof clientProps || "bigint" === typeof clientProps) + content = null == type ? content + describeTextDiff("" + clientProps, null, indent + 1) : content + describeTextDiff("" + clientProps, void 0, indent + 1); + return content; + } + function describeSiblingFiber(fiber, indent) { + var type = describeFiberType(fiber); + if (null === type) { + type = ""; + for (fiber = fiber.child; fiber; ) + type += describeSiblingFiber(fiber, indent), fiber = fiber.sibling; + return type; + } + return indentation(indent) + "<" + type + ">\n"; + } + function describeNode(node, indent) { + var skipToNode = findNotableNode(node, indent); + if (skipToNode !== node && (1 !== node.children.length || node.children[0] !== skipToNode)) + return indentation(indent) + "...\n" + describeNode(skipToNode, indent + 1); + skipToNode = ""; + var debugInfo = node.fiber._debugInfo; + if (debugInfo) + for (var i = 0; i < debugInfo.length; i++) { + var serverComponentName = debugInfo[i].name; + "string" === typeof serverComponentName && (skipToNode += indentation(indent) + "<" + serverComponentName + ">\n", indent++); + } + debugInfo = ""; + i = node.fiber.pendingProps; + if (6 === node.fiber.tag) + debugInfo = describeTextDiff(i, node.serverProps, indent), indent++; + else if (serverComponentName = describeFiberType(node.fiber), null !== serverComponentName) + if (void 0 === node.serverProps) { + debugInfo = indent; + var maxLength = 120 - 2 * debugInfo - serverComponentName.length - 2, content = ""; + for (propName in i) + if (i.hasOwnProperty(propName) && "children" !== propName) { + var propValue = describePropValue(i[propName], 15); + maxLength -= propName.length + propValue.length + 2; + if (0 > maxLength) { + content += " ..."; + break; + } + content += " " + propName + "=" + propValue; + } + debugInfo = indentation(debugInfo) + "<" + serverComponentName + content + ">\n"; + indent++; + } else + null === node.serverProps ? (debugInfo = describeExpandedElement( + serverComponentName, + i, + added(indent) + ), indent++) : "string" === typeof node.serverProps ? console.error( + "Should not have matched a non HostText fiber to a Text node. This is a bug in React." + ) : (debugInfo = describeElementDiff( + serverComponentName, + i, + node.serverProps, + indent + ), indent++); + var propName = ""; + i = node.fiber.child; + for (serverComponentName = 0; i && serverComponentName < node.children.length; ) + maxLength = node.children[serverComponentName], maxLength.fiber === i ? (propName += describeNode(maxLength, indent), serverComponentName++) : propName += describeSiblingFiber(i, indent), i = i.sibling; + i && 0 < node.children.length && (propName += indentation(indent) + "...\n"); + i = node.serverTail; + null === node.serverProps && indent--; + for (node = 0; node < i.length; node++) + serverComponentName = i[node], propName = "string" === typeof serverComponentName ? propName + (removed(indent) + describeTextNode(serverComponentName, 120 - 2 * indent) + "\n") : propName + describeExpandedElement( + serverComponentName.type, + serverComponentName.props, + removed(indent) + ); + return skipToNode + debugInfo + propName; + } + function describeDiff(rootNode) { + try { + return "\n\n" + describeNode(rootNode, 0); + } catch (x) { + return ""; + } + } + function describeAncestors(ancestor, child, props) { + for (var fiber = child, node = null, distanceFromLeaf = 0; fiber; ) + fiber === ancestor && (distanceFromLeaf = 0), node = { + fiber, + children: null !== node ? [node] : [], + serverProps: fiber === child ? props : fiber === ancestor ? null : void 0, + serverTail: [], + distanceFromLeaf + }, distanceFromLeaf++, fiber = fiber.return; + return null !== node ? describeDiff(node).replaceAll(/^[+-]/gm, ">") : ""; + } + function updatedAncestorInfoDev(oldInfo, tag) { + var ancestorInfo = assign({}, oldInfo || emptyAncestorInfoDev), info = { tag }; + -1 !== inScopeTags.indexOf(tag) && (ancestorInfo.aTagInScope = null, ancestorInfo.buttonTagInScope = null, ancestorInfo.nobrTagInScope = null); + -1 !== buttonScopeTags.indexOf(tag) && (ancestorInfo.pTagInButtonScope = null); + -1 !== specialTags.indexOf(tag) && "address" !== tag && "div" !== tag && "p" !== tag && (ancestorInfo.listItemTagAutoclosing = null, ancestorInfo.dlItemTagAutoclosing = null); + ancestorInfo.current = info; + "form" === tag && (ancestorInfo.formTag = info); + "a" === tag && (ancestorInfo.aTagInScope = info); + "button" === tag && (ancestorInfo.buttonTagInScope = info); + "nobr" === tag && (ancestorInfo.nobrTagInScope = info); + "p" === tag && (ancestorInfo.pTagInButtonScope = info); + "li" === tag && (ancestorInfo.listItemTagAutoclosing = info); + if ("dd" === tag || "dt" === tag) + ancestorInfo.dlItemTagAutoclosing = info; + "#document" === tag || "html" === tag ? ancestorInfo.containerTagInScope = null : ancestorInfo.containerTagInScope || (ancestorInfo.containerTagInScope = info); + null !== oldInfo || "#document" !== tag && "html" !== tag && "body" !== tag ? true === ancestorInfo.implicitRootScope && (ancestorInfo.implicitRootScope = false) : ancestorInfo.implicitRootScope = true; + return ancestorInfo; + } + function isTagValidWithParent(tag, parentTag, implicitRootScope) { + switch (parentTag) { + case "select": + return "hr" === tag || "option" === tag || "optgroup" === tag || "script" === tag || "template" === tag || "#text" === tag; + case "optgroup": + return "option" === tag || "#text" === tag; + case "option": + return "#text" === tag; + case "tr": + return "th" === tag || "td" === tag || "style" === tag || "script" === tag || "template" === tag; + case "tbody": + case "thead": + case "tfoot": + return "tr" === tag || "style" === tag || "script" === tag || "template" === tag; + case "colgroup": + return "col" === tag || "template" === tag; + case "table": + return "caption" === tag || "colgroup" === tag || "tbody" === tag || "tfoot" === tag || "thead" === tag || "style" === tag || "script" === tag || "template" === tag; + case "head": + return "base" === tag || "basefont" === tag || "bgsound" === tag || "link" === tag || "meta" === tag || "title" === tag || "noscript" === tag || "noframes" === tag || "style" === tag || "script" === tag || "template" === tag; + case "html": + if (implicitRootScope) break; + return "head" === tag || "body" === tag || "frameset" === tag; + case "frameset": + return "frame" === tag; + case "#document": + if (!implicitRootScope) return "html" === tag; + } + switch (tag) { + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return "h1" !== parentTag && "h2" !== parentTag && "h3" !== parentTag && "h4" !== parentTag && "h5" !== parentTag && "h6" !== parentTag; + case "rp": + case "rt": + return -1 === impliedEndTags.indexOf(parentTag); + case "caption": + case "col": + case "colgroup": + case "frameset": + case "frame": + case "tbody": + case "td": + case "tfoot": + case "th": + case "thead": + case "tr": + return null == parentTag; + case "head": + return implicitRootScope || null === parentTag; + case "html": + return implicitRootScope && "#document" === parentTag || null === parentTag; + case "body": + return implicitRootScope && ("#document" === parentTag || "html" === parentTag) || null === parentTag; + } + return true; + } + function findInvalidAncestorForTag(tag, ancestorInfo) { + switch (tag) { + case "address": + case "article": + case "aside": + case "blockquote": + case "center": + case "details": + case "dialog": + case "dir": + case "div": + case "dl": + case "fieldset": + case "figcaption": + case "figure": + case "footer": + case "header": + case "hgroup": + case "main": + case "menu": + case "nav": + case "ol": + case "p": + case "section": + case "summary": + case "ul": + case "pre": + case "listing": + case "table": + case "hr": + case "xmp": + case "h1": + case "h2": + case "h3": + case "h4": + case "h5": + case "h6": + return ancestorInfo.pTagInButtonScope; + case "form": + return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; + case "li": + return ancestorInfo.listItemTagAutoclosing; + case "dd": + case "dt": + return ancestorInfo.dlItemTagAutoclosing; + case "button": + return ancestorInfo.buttonTagInScope; + case "a": + return ancestorInfo.aTagInScope; + case "nobr": + return ancestorInfo.nobrTagInScope; + } + return null; + } + function findAncestor(parent, tagName) { + for (; parent; ) { + switch (parent.tag) { + case 5: + case 26: + case 27: + if (parent.type === tagName) return parent; + } + parent = parent.return; + } + return null; + } + function validateDOMNesting(childTag, ancestorInfo) { + ancestorInfo = ancestorInfo || emptyAncestorInfoDev; + var parentInfo = ancestorInfo.current; + ancestorInfo = (parentInfo = isTagValidWithParent( + childTag, + parentInfo && parentInfo.tag, + ancestorInfo.implicitRootScope + ) ? null : parentInfo) ? null : findInvalidAncestorForTag(childTag, ancestorInfo); + ancestorInfo = parentInfo || ancestorInfo; + if (!ancestorInfo) return true; + var ancestorTag = ancestorInfo.tag; + ancestorInfo = String(!!parentInfo) + "|" + childTag + "|" + ancestorTag; + if (didWarn[ancestorInfo]) return false; + didWarn[ancestorInfo] = true; + var ancestor = (ancestorInfo = current) ? findAncestor(ancestorInfo.return, ancestorTag) : null, ancestorDescription = null !== ancestorInfo && null !== ancestor ? describeAncestors(ancestor, ancestorInfo, null) : "", tagDisplayName = "<" + childTag + ">"; + parentInfo ? (parentInfo = "", "table" === ancestorTag && "tr" === childTag && (parentInfo += " Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by the browser."), console.error( + "In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + parentInfo, + ancestorDescription + )) : console.error( + "In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s", + tagDisplayName, + ancestorTag, + ancestorDescription + ); + ancestorInfo && (childTag = ancestorInfo.return, null === ancestor || null === childTag || ancestor === childTag && childTag._debugOwner === ancestorInfo._debugOwner || runWithFiberInDEV(ancestor, function() { + console.error( + "<%s> cannot contain a nested %s.\nSee this log for the ancestor stack trace.", + ancestorTag, + tagDisplayName + ); + })); + return false; + } + function validateTextNesting(childText, parentTag, implicitRootScope) { + if (implicitRootScope || isTagValidWithParent("#text", parentTag, false)) + return true; + implicitRootScope = "#text|" + parentTag; + if (didWarn[implicitRootScope]) return false; + didWarn[implicitRootScope] = true; + var ancestor = (implicitRootScope = current) ? findAncestor(implicitRootScope, parentTag) : null; + implicitRootScope = null !== implicitRootScope && null !== ancestor ? describeAncestors( + ancestor, + implicitRootScope, + 6 !== implicitRootScope.tag ? { children: null } : null + ) : ""; + /\S/.test(childText) ? console.error( + "In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ) : console.error( + "In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.%s", + parentTag, + implicitRootScope + ); + return false; + } + function setTextContent(node, text) { + if (text) { + var firstChild = node.firstChild; + if (firstChild && firstChild === node.lastChild && 3 === firstChild.nodeType) { + firstChild.nodeValue = text; + return; + } + } + node.textContent = text; + } + function camelize(string) { + return string.replace(hyphenPattern, function(_, character) { + return character.toUpperCase(); + }); + } + function setValueForStyle(style2, styleName, value) { + var isCustomProperty = 0 === styleName.indexOf("--"); + isCustomProperty || (-1 < styleName.indexOf("-") ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported style property %s. Did you mean %s?", + styleName, + camelize(styleName.replace(msPattern, "ms-")) + )) : badVendoredStyleNamePattern.test(styleName) ? warnedStyleNames.hasOwnProperty(styleName) && warnedStyleNames[styleName] || (warnedStyleNames[styleName] = true, console.error( + "Unsupported vendor-prefixed style property %s. Did you mean %s?", + styleName, + styleName.charAt(0).toUpperCase() + styleName.slice(1) + )) : !badStyleValueWithSemicolonPattern.test(value) || warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value] || (warnedStyleValues[value] = true, console.error( + `Style property values shouldn't contain a semicolon. Try "%s: %s" instead.`, + styleName, + value.replace(badStyleValueWithSemicolonPattern, "") + )), "number" === typeof value && (isNaN(value) ? warnedForNaNValue || (warnedForNaNValue = true, console.error( + "`NaN` is an invalid value for the `%s` css style property.", + styleName + )) : isFinite(value) || warnedForInfinityValue || (warnedForInfinityValue = true, console.error( + "`Infinity` is an invalid value for the `%s` css style property.", + styleName + )))); + null == value || "boolean" === typeof value || "" === value ? isCustomProperty ? style2.setProperty(styleName, "") : "float" === styleName ? style2.cssFloat = "" : style2[styleName] = "" : isCustomProperty ? style2.setProperty(styleName, value) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? "float" === styleName ? style2.cssFloat = value : (checkCSSPropertyStringCoercion(value, styleName), style2[styleName] = ("" + value).trim()) : style2[styleName] = value + "px"; + } + function setValueForStyles(node, styles, prevStyles) { + if (null != styles && "object" !== typeof styles) + throw Error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + styles && Object.freeze(styles); + node = node.style; + if (null != prevStyles) { + if (styles) { + var expandedUpdates = {}; + if (prevStyles) { + for (var key in prevStyles) + if (prevStyles.hasOwnProperty(key) && !styles.hasOwnProperty(key)) + for (var longhands = shorthandToLonghand[key] || [key], i = 0; i < longhands.length; i++) + expandedUpdates[longhands[i]] = key; + } + for (var _key in styles) + if (styles.hasOwnProperty(_key) && (!prevStyles || prevStyles[_key] !== styles[_key])) + for (key = shorthandToLonghand[_key] || [_key], longhands = 0; longhands < key.length; longhands++) + expandedUpdates[key[longhands]] = _key; + _key = {}; + for (var key$jscomp$0 in styles) + for (key = shorthandToLonghand[key$jscomp$0] || [key$jscomp$0], longhands = 0; longhands < key.length; longhands++) + _key[key[longhands]] = key$jscomp$0; + key$jscomp$0 = {}; + for (var _key2 in expandedUpdates) + if (key = expandedUpdates[_key2], (longhands = _key[_key2]) && key !== longhands && (i = key + "," + longhands, !key$jscomp$0[i])) { + key$jscomp$0[i] = true; + i = console; + var value = styles[key]; + i.error.call( + i, + "%s a style property during rerender (%s) when a conflicting property is set (%s) can lead to styling bugs. To avoid this, don't mix shorthand and non-shorthand properties for the same value; instead, replace the shorthand with separate values.", + null == value || "boolean" === typeof value || "" === value ? "Removing" : "Updating", + key, + longhands + ); + } + } + for (var styleName in prevStyles) + !prevStyles.hasOwnProperty(styleName) || null != styles && styles.hasOwnProperty(styleName) || (0 === styleName.indexOf("--") ? node.setProperty(styleName, "") : "float" === styleName ? node.cssFloat = "" : node[styleName] = ""); + for (var _styleName in styles) + _key2 = styles[_styleName], styles.hasOwnProperty(_styleName) && prevStyles[_styleName] !== _key2 && setValueForStyle(node, _styleName, _key2); + } else + for (expandedUpdates in styles) + styles.hasOwnProperty(expandedUpdates) && setValueForStyle(node, expandedUpdates, styles[expandedUpdates]); + } + function isCustomElement(tagName) { + if (-1 === tagName.indexOf("-")) return false; + switch (tagName) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return false; + default: + return true; + } + } + function getAttributeAlias(name) { + return aliases.get(name) || name; + } + function validateProperty$1(tagName, name) { + if (hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) + return true; + if (rARIACamel$1.test(name)) { + tagName = "aria-" + name.slice(4).toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) + return console.error( + "Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.", + name + ), warnedProperties$1[name] = true; + if (name !== tagName) + return console.error( + "Invalid ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true; + } + if (rARIA$1.test(name)) { + tagName = name.toLowerCase(); + tagName = ariaProperties.hasOwnProperty(tagName) ? tagName : null; + if (null == tagName) return warnedProperties$1[name] = true, false; + name !== tagName && (console.error( + "Unknown ARIA attribute `%s`. Did you mean `%s`?", + name, + tagName + ), warnedProperties$1[name] = true); + } + return true; + } + function validateProperties$2(type, props) { + var invalidProps = [], key; + for (key in props) + validateProperty$1(type, key) || invalidProps.push(key); + props = invalidProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === invalidProps.length ? console.error( + "Invalid aria prop %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ) : 1 < invalidProps.length && console.error( + "Invalid aria props %s on <%s> tag. For details, see https://react.dev/link/invalid-aria-props", + props, + type + ); + } + function validateProperty(tagName, name, value, eventRegistry) { + if (hasOwnProperty.call(warnedProperties, name) && warnedProperties[name]) + return true; + var lowerCasedName = name.toLowerCase(); + if ("onfocusin" === lowerCasedName || "onfocusout" === lowerCasedName) + return console.error( + "React uses onFocus and onBlur instead of onFocusIn and onFocusOut. All React events are normalized to bubble, so onFocusIn and onFocusOut are not needed/supported by React." + ), warnedProperties[name] = true; + if ("function" === typeof value && ("form" === tagName && "action" === name || "input" === tagName && "formAction" === name || "button" === tagName && "formAction" === name)) + return true; + if (null != eventRegistry) { + tagName = eventRegistry.possibleRegistrationNames; + if (eventRegistry.registrationNameDependencies.hasOwnProperty(name)) + return true; + eventRegistry = tagName.hasOwnProperty(lowerCasedName) ? tagName[lowerCasedName] : null; + if (null != eventRegistry) + return console.error( + "Invalid event handler property `%s`. Did you mean `%s`?", + name, + eventRegistry + ), warnedProperties[name] = true; + if (EVENT_NAME_REGEX.test(name)) + return console.error( + "Unknown event handler property `%s`. It will be ignored.", + name + ), warnedProperties[name] = true; + } else if (EVENT_NAME_REGEX.test(name)) + return INVALID_EVENT_NAME_REGEX.test(name) && console.error( + "Invalid event handler property `%s`. React events use the camelCase naming convention, for example `onClick`.", + name + ), warnedProperties[name] = true; + if (rARIA.test(name) || rARIACamel.test(name)) return true; + if ("innerhtml" === lowerCasedName) + return console.error( + "Directly setting property `innerHTML` is not permitted. For more information, lookup documentation on `dangerouslySetInnerHTML`." + ), warnedProperties[name] = true; + if ("aria" === lowerCasedName) + return console.error( + "The `aria` attribute is reserved for future use in React. Pass individual `aria-` attributes instead." + ), warnedProperties[name] = true; + if ("is" === lowerCasedName && null !== value && void 0 !== value && "string" !== typeof value) + return console.error( + "Received a `%s` for a string attribute `is`. If this is expected, cast the value to a string.", + typeof value + ), warnedProperties[name] = true; + if ("number" === typeof value && isNaN(value)) + return console.error( + "Received NaN for the `%s` attribute. If this is expected, cast the value to a string.", + name + ), warnedProperties[name] = true; + if (possibleStandardNames.hasOwnProperty(lowerCasedName)) { + if (lowerCasedName = possibleStandardNames[lowerCasedName], lowerCasedName !== name) + return console.error( + "Invalid DOM property `%s`. Did you mean `%s`?", + name, + lowerCasedName + ), warnedProperties[name] = true; + } else if (name !== lowerCasedName) + return console.error( + "React does not recognize the `%s` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `%s` instead. If you accidentally passed it from a parent component, remove it from the DOM element.", + name, + lowerCasedName + ), warnedProperties[name] = true; + switch (name) { + case "dangerouslySetInnerHTML": + case "children": + case "style": + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + return true; + case "innerText": + case "textContent": + return true; + } + switch (typeof value) { + case "boolean": + switch (name) { + case "autoFocus": + case "checked": + case "multiple": + case "muted": + case "selected": + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "capture": + case "download": + case "inert": + return true; + default: + lowerCasedName = name.toLowerCase().slice(0, 5); + if ("data-" === lowerCasedName || "aria-" === lowerCasedName) + return true; + value ? console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.', + value, + name, + name, + value, + name + ) : console.error( + 'Received `%s` for a non-boolean attribute `%s`.\n\nIf you want to write it to the DOM, pass a string instead: %s="%s" or %s={value.toString()}.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.', + value, + name, + name, + value, + name, + name, + name + ); + return warnedProperties[name] = true; + } + case "function": + case "symbol": + return warnedProperties[name] = true, false; + case "string": + if ("false" === value || "true" === value) { + switch (name) { + case "checked": + case "selected": + case "multiple": + case "muted": + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + case "inert": + break; + default: + return true; + } + console.error( + "Received the string `%s` for the boolean attribute `%s`. %s Did you mean %s={%s}?", + value, + name, + "false" === value ? "The browser will interpret it as a truthy value." : 'Although this works, it will not work as expected if you pass the string "false".', + name, + value + ); + warnedProperties[name] = true; + } + } + return true; + } + function warnUnknownProperties(type, props, eventRegistry) { + var unknownProps = [], key; + for (key in props) + validateProperty(type, key, props[key], eventRegistry) || unknownProps.push(key); + props = unknownProps.map(function(prop) { + return "`" + prop + "`"; + }).join(", "); + 1 === unknownProps.length ? console.error( + "Invalid value for prop %s on <%s> tag. Either remove it from the element, or pass a string or number value to keep it in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ) : 1 < unknownProps.length && console.error( + "Invalid values for props %s on <%s> tag. Either remove them from the element, or pass a string or number value to keep them in the DOM. For details, see https://react.dev/link/attribute-behavior ", + props, + type + ); + } + function sanitizeURL(url) { + return isJavaScriptProtocol.test("" + url) ? "javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')" : url; + } + function getEventTarget(nativeEvent) { + nativeEvent = nativeEvent.target || nativeEvent.srcElement || window; + nativeEvent.correspondingUseElement && (nativeEvent = nativeEvent.correspondingUseElement); + return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent; + } + function restoreStateOfTarget(target) { + var internalInstance = getInstanceFromNode(target); + if (internalInstance && (target = internalInstance.stateNode)) { + var props = target[internalPropsKey] || null; + a: switch (target = internalInstance.stateNode, internalInstance.type) { + case "input": + updateInput( + target, + props.value, + props.defaultValue, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name + ); + internalInstance = props.name; + if ("radio" === props.type && null != internalInstance) { + for (props = target; props.parentNode; ) props = props.parentNode; + checkAttributeStringCoercion(internalInstance, "name"); + props = props.querySelectorAll( + 'input[name="' + escapeSelectorAttributeValueInsideDoubleQuotes( + "" + internalInstance + ) + '"][type="radio"]' + ); + for (internalInstance = 0; internalInstance < props.length; internalInstance++) { + var otherNode = props[internalInstance]; + if (otherNode !== target && otherNode.form === target.form) { + var otherProps = otherNode[internalPropsKey] || null; + if (!otherProps) + throw Error( + "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported." + ); + updateInput( + otherNode, + otherProps.value, + otherProps.defaultValue, + otherProps.defaultValue, + otherProps.checked, + otherProps.defaultChecked, + otherProps.type, + otherProps.name + ); + } + } + for (internalInstance = 0; internalInstance < props.length; internalInstance++) + otherNode = props[internalInstance], otherNode.form === target.form && updateValueIfChanged(otherNode); + } + break a; + case "textarea": + updateTextarea(target, props.value, props.defaultValue); + break a; + case "select": + internalInstance = props.value, null != internalInstance && updateOptions(target, !!props.multiple, internalInstance, false); + } + } + } + function batchedUpdates$1(fn, a, b) { + if (isInsideEventHandler) return fn(a, b); + isInsideEventHandler = true; + try { + var JSCompiler_inline_result = fn(a); + return JSCompiler_inline_result; + } finally { + if (isInsideEventHandler = false, null !== restoreTarget || null !== restoreQueue) { + if (flushSyncWork$1(), restoreTarget && (a = restoreTarget, fn = restoreQueue, restoreQueue = restoreTarget = null, restoreStateOfTarget(a), fn)) + for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]); + } + } + } + function getListener(inst, registrationName) { + var stateNode = inst.stateNode; + if (null === stateNode) return null; + var props = stateNode[internalPropsKey] || null; + if (null === props) return null; + stateNode = props[registrationName]; + a: switch (registrationName) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + (props = !props.disabled) || (inst = inst.type, props = !("button" === inst || "input" === inst || "select" === inst || "textarea" === inst)); + inst = !props; + break a; + default: + inst = false; + } + if (inst) return null; + if (stateNode && "function" !== typeof stateNode) + throw Error( + "Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof stateNode + "` type." + ); + return stateNode; + } + function getData() { + if (fallbackText) return fallbackText; + var start, startValue = startText, startLength = startValue.length, end, endValue = "value" in root ? root.value : root.textContent, endLength = endValue.length; + for (start = 0; start < startLength && startValue[start] === endValue[start]; start++) ; + var minEnd = startLength - start; + for (end = 1; end <= minEnd && startValue[startLength - end] === endValue[endLength - end]; end++) ; + return fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0); + } + function getEventCharCode(nativeEvent) { + var keyCode = nativeEvent.keyCode; + "charCode" in nativeEvent ? (nativeEvent = nativeEvent.charCode, 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13)) : nativeEvent = keyCode; + 10 === nativeEvent && (nativeEvent = 13); + return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0; + } + function functionThatReturnsTrue() { + return true; + } + function functionThatReturnsFalse() { + return false; + } + function createSyntheticEvent(Interface) { + function SyntheticBaseEvent(reactName, reactEventType, targetInst, nativeEvent, nativeEventTarget) { + this._reactName = reactName; + this._targetInst = targetInst; + this.type = reactEventType; + this.nativeEvent = nativeEvent; + this.target = nativeEventTarget; + this.currentTarget = null; + for (var propName in Interface) + Interface.hasOwnProperty(propName) && (reactName = Interface[propName], this[propName] = reactName ? reactName(nativeEvent) : nativeEvent[propName]); + this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse; + this.isPropagationStopped = functionThatReturnsFalse; + return this; + } + assign(SyntheticBaseEvent.prototype, { + preventDefault: function() { + this.defaultPrevented = true; + var event = this.nativeEvent; + event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue); + }, + stopPropagation: function() { + var event = this.nativeEvent; + event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue); + }, + persist: function() { + }, + isPersistent: functionThatReturnsTrue + }); + return SyntheticBaseEvent; + } + function modifierStateGetter(keyArg) { + var nativeEvent = this.nativeEvent; + return nativeEvent.getModifierState ? nativeEvent.getModifierState(keyArg) : (keyArg = modifierKeyToProp[keyArg]) ? !!nativeEvent[keyArg] : false; + } + function getEventModifierState() { + return modifierStateGetter; + } + function isFallbackCompositionEnd(domEventName, nativeEvent) { + switch (domEventName) { + case "keyup": + return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode); + case "keydown": + return nativeEvent.keyCode !== START_KEYCODE; + case "keypress": + case "mousedown": + case "focusout": + return true; + default: + return false; + } + } + function getDataFromCustomEvent(nativeEvent) { + nativeEvent = nativeEvent.detail; + return "object" === typeof nativeEvent && "data" in nativeEvent ? nativeEvent.data : null; + } + function getNativeBeforeInputChars(domEventName, nativeEvent) { + switch (domEventName) { + case "compositionend": + return getDataFromCustomEvent(nativeEvent); + case "keypress": + if (nativeEvent.which !== SPACEBAR_CODE) return null; + hasSpaceKeypress = true; + return SPACEBAR_CHAR; + case "textInput": + return domEventName = nativeEvent.data, domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName; + default: + return null; + } + } + function getFallbackBeforeInputChars(domEventName, nativeEvent) { + if (isComposing) + return "compositionend" === domEventName || !canUseCompositionEvent && isFallbackCompositionEnd(domEventName, nativeEvent) ? (domEventName = getData(), fallbackText = startText = root = null, isComposing = false, domEventName) : null; + switch (domEventName) { + case "paste": + return null; + case "keypress": + if (!(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) || nativeEvent.ctrlKey && nativeEvent.altKey) { + if (nativeEvent.char && 1 < nativeEvent.char.length) + return nativeEvent.char; + if (nativeEvent.which) + return String.fromCharCode(nativeEvent.which); + } + return null; + case "compositionend": + return useFallbackCompositionData && "ko" !== nativeEvent.locale ? null : nativeEvent.data; + default: + return null; + } + } + function isTextInputElement(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return "input" === nodeName ? !!supportedInputTypes[elem.type] : "textarea" === nodeName ? true : false; + } + function isEventSupported(eventNameSuffix) { + if (!canUseDOM) return false; + eventNameSuffix = "on" + eventNameSuffix; + var isSupported = eventNameSuffix in document; + isSupported || (isSupported = document.createElement("div"), isSupported.setAttribute(eventNameSuffix, "return;"), isSupported = "function" === typeof isSupported[eventNameSuffix]); + return isSupported; + } + function createAndAccumulateChangeEvent(dispatchQueue, inst, nativeEvent, target) { + restoreTarget ? restoreQueue ? restoreQueue.push(target) : restoreQueue = [target] : restoreTarget = target; + inst = accumulateTwoPhaseListeners(inst, "onChange"); + 0 < inst.length && (nativeEvent = new SyntheticEvent( + "onChange", + "change", + null, + nativeEvent, + target + ), dispatchQueue.push({ event: nativeEvent, listeners: inst })); + } + function runEventInBatch(dispatchQueue) { + processDispatchQueue(dispatchQueue, 0); + } + function getInstIfValueChanged(targetInst) { + var targetNode = getNodeFromInstance(targetInst); + if (updateValueIfChanged(targetNode)) return targetInst; + } + function getTargetInstForChangeEvent(domEventName, targetInst) { + if ("change" === domEventName) return targetInst; + } + function stopWatchingForValueChange() { + activeElement$1 && (activeElement$1.detachEvent("onpropertychange", handlePropertyChange), activeElementInst$1 = activeElement$1 = null); + } + function handlePropertyChange(nativeEvent) { + if ("value" === nativeEvent.propertyName && getInstIfValueChanged(activeElementInst$1)) { + var dispatchQueue = []; + createAndAccumulateChangeEvent( + dispatchQueue, + activeElementInst$1, + nativeEvent, + getEventTarget(nativeEvent) + ); + batchedUpdates$1(runEventInBatch, dispatchQueue); + } + } + function handleEventsForInputEventPolyfill(domEventName, target, targetInst) { + "focusin" === domEventName ? (stopWatchingForValueChange(), activeElement$1 = target, activeElementInst$1 = targetInst, activeElement$1.attachEvent("onpropertychange", handlePropertyChange)) : "focusout" === domEventName && stopWatchingForValueChange(); + } + function getTargetInstForInputEventPolyfill(domEventName) { + if ("selectionchange" === domEventName || "keyup" === domEventName || "keydown" === domEventName) + return getInstIfValueChanged(activeElementInst$1); + } + function getTargetInstForClickEvent(domEventName, targetInst) { + if ("click" === domEventName) return getInstIfValueChanged(targetInst); + } + function getTargetInstForInputOrChangeEvent(domEventName, targetInst) { + if ("input" === domEventName || "change" === domEventName) + return getInstIfValueChanged(targetInst); + } + function is(x, y) { + return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; + } + function shallowEqual(objA, objB) { + if (objectIs(objA, objB)) return true; + if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) + return false; + var keysA = Object.keys(objA), keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return false; + for (keysB = 0; keysB < keysA.length; keysB++) { + var currentKey = keysA[keysB]; + if (!hasOwnProperty.call(objB, currentKey) || !objectIs(objA[currentKey], objB[currentKey])) + return false; + } + return true; + } + function getLeafNode(node) { + for (; node && node.firstChild; ) node = node.firstChild; + return node; + } + function getNodeForCharacterOffset(root2, offset) { + var node = getLeafNode(root2); + root2 = 0; + for (var nodeEnd; node; ) { + if (3 === node.nodeType) { + nodeEnd = root2 + node.textContent.length; + if (root2 <= offset && nodeEnd >= offset) + return { node, offset: offset - root2 }; + root2 = nodeEnd; + } + a: { + for (; node; ) { + if (node.nextSibling) { + node = node.nextSibling; + break a; + } + node = node.parentNode; + } + node = void 0; + } + node = getLeafNode(node); + } + } + function containsNode(outerNode, innerNode) { + return outerNode && innerNode ? outerNode === innerNode ? true : outerNode && 3 === outerNode.nodeType ? false : innerNode && 3 === innerNode.nodeType ? containsNode(outerNode, innerNode.parentNode) : "contains" in outerNode ? outerNode.contains(innerNode) : outerNode.compareDocumentPosition ? !!(outerNode.compareDocumentPosition(innerNode) & 16) : false : false; + } + function getActiveElementDeep(containerInfo) { + containerInfo = null != containerInfo && null != containerInfo.ownerDocument && null != containerInfo.ownerDocument.defaultView ? containerInfo.ownerDocument.defaultView : window; + for (var element = getActiveElement(containerInfo.document); element instanceof containerInfo.HTMLIFrameElement; ) { + try { + var JSCompiler_inline_result = "string" === typeof element.contentWindow.location.href; + } catch (err) { + JSCompiler_inline_result = false; + } + if (JSCompiler_inline_result) containerInfo = element.contentWindow; + else break; + element = getActiveElement(containerInfo.document); + } + return element; + } + function hasSelectionCapabilities(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); + return nodeName && ("input" === nodeName && ("text" === elem.type || "search" === elem.type || "tel" === elem.type || "url" === elem.type || "password" === elem.type) || "textarea" === nodeName || "true" === elem.contentEditable); + } + function constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) { + var doc = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget.document : 9 === nativeEventTarget.nodeType ? nativeEventTarget : nativeEventTarget.ownerDocument; + mouseDown || null == activeElement || activeElement !== getActiveElement(doc) || (doc = activeElement, "selectionStart" in doc && hasSelectionCapabilities(doc) ? doc = { start: doc.selectionStart, end: doc.selectionEnd } : (doc = (doc.ownerDocument && doc.ownerDocument.defaultView || window).getSelection(), doc = { + anchorNode: doc.anchorNode, + anchorOffset: doc.anchorOffset, + focusNode: doc.focusNode, + focusOffset: doc.focusOffset + }), lastSelection && shallowEqual(lastSelection, doc) || (lastSelection = doc, doc = accumulateTwoPhaseListeners(activeElementInst, "onSelect"), 0 < doc.length && (nativeEvent = new SyntheticEvent( + "onSelect", + "select", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ event: nativeEvent, listeners: doc }), nativeEvent.target = activeElement))); + } + function makePrefixMap(styleProp, eventName) { + var prefixes = {}; + prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); + prefixes["Webkit" + styleProp] = "webkit" + eventName; + prefixes["Moz" + styleProp] = "moz" + eventName; + return prefixes; + } + function getVendorPrefixedEventName(eventName) { + if (prefixedEventNames[eventName]) return prefixedEventNames[eventName]; + if (!vendorPrefixes[eventName]) return eventName; + var prefixMap = vendorPrefixes[eventName], styleProp; + for (styleProp in prefixMap) + if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) + return prefixedEventNames[eventName] = prefixMap[styleProp]; + return eventName; + } + function registerSimpleEvent(domEventName, reactName) { + topLevelEventsToReactNames.set(domEventName, reactName); + registerTwoPhaseEvent(reactName, [domEventName]); + } + function createCapturedValueAtFiber(value, source) { + if ("object" === typeof value && null !== value) { + var existing = CapturedStacks.get(value); + if (void 0 !== existing) return existing; + source = { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + CapturedStacks.set(value, source); + return source; + } + return { + value, + source, + stack: getStackByFiberInDevAndProd(source) + }; + } + function finishQueueingConcurrentUpdates() { + for (var endIndex = concurrentQueuesIndex, i = concurrentlyUpdatedLanes = concurrentQueuesIndex = 0; i < endIndex; ) { + var fiber = concurrentQueues[i]; + concurrentQueues[i++] = null; + var queue = concurrentQueues[i]; + concurrentQueues[i++] = null; + var update = concurrentQueues[i]; + concurrentQueues[i++] = null; + var lane = concurrentQueues[i]; + concurrentQueues[i++] = null; + if (null !== queue && null !== update) { + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane); + } + } + function enqueueUpdate$1(fiber, queue, update, lane) { + concurrentQueues[concurrentQueuesIndex++] = fiber; + concurrentQueues[concurrentQueuesIndex++] = queue; + concurrentQueues[concurrentQueuesIndex++] = update; + concurrentQueues[concurrentQueuesIndex++] = lane; + concurrentlyUpdatedLanes |= lane; + fiber.lanes |= lane; + fiber = fiber.alternate; + null !== fiber && (fiber.lanes |= lane); + } + function enqueueConcurrentHookUpdate(fiber, queue, update, lane) { + enqueueUpdate$1(fiber, queue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function enqueueConcurrentRenderForLane(fiber, lane) { + enqueueUpdate$1(fiber, null, null, lane); + return getRootForUpdatedFiber(fiber); + } + function markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) { + sourceFiber.lanes |= lane; + var alternate = sourceFiber.alternate; + null !== alternate && (alternate.lanes |= lane); + for (var isHidden = false, parent = sourceFiber.return; null !== parent; ) + parent.childLanes |= lane, alternate = parent.alternate, null !== alternate && (alternate.childLanes |= lane), 22 === parent.tag && (sourceFiber = parent.stateNode, null === sourceFiber || sourceFiber._visibility & OffscreenVisible || (isHidden = true)), sourceFiber = parent, parent = parent.return; + return 3 === sourceFiber.tag ? (parent = sourceFiber.stateNode, isHidden && null !== update && (isHidden = 31 - clz32(lane), sourceFiber = parent.hiddenUpdates, alternate = sourceFiber[isHidden], null === alternate ? sourceFiber[isHidden] = [update] : alternate.push(update), update.lane = lane | 536870912), parent) : null; + } + function getRootForUpdatedFiber(sourceFiber) { + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) + throw nestedPassiveUpdateCount = nestedUpdateCount = 0, rootWithPassiveNestedUpdates = rootWithNestedUpdates = null, Error( + "Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops." + ); + nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT && (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, console.error( + "Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render." + )); + null === sourceFiber.alternate && 0 !== (sourceFiber.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber); + for (var node = sourceFiber, parent = node.return; null !== parent; ) + null === node.alternate && 0 !== (node.flags & 4098) && warnAboutUpdateOnNotYetMountedFiberInDEV(sourceFiber), node = parent, parent = node.return; + return 3 === node.tag ? node.stateNode : null; + } + function resolveFunctionForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? type : family.current; + } + function resolveForwardRefForHotReloading(type) { + if (null === resolveFamily) return type; + var family = resolveFamily(type); + return void 0 === family ? null !== type && void 0 !== type && "function" === typeof type.render && (family = resolveFunctionForHotReloading(type.render), type.render !== family) ? (family = { $$typeof: REACT_FORWARD_REF_TYPE, render: family }, void 0 !== type.displayName && (family.displayName = type.displayName), family) : type : family.current; + } + function isCompatibleFamilyForHotReloading(fiber, element) { + if (null === resolveFamily) return false; + var prevType = fiber.elementType; + element = element.type; + var needsCompareFamilies = false, $$typeofNextType = "object" === typeof element && null !== element ? element.$$typeof : null; + switch (fiber.tag) { + case 1: + "function" === typeof element && (needsCompareFamilies = true); + break; + case 0: + "function" === typeof element ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 11: + $$typeofNextType === REACT_FORWARD_REF_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + case 14: + case 15: + $$typeofNextType === REACT_MEMO_TYPE ? needsCompareFamilies = true : $$typeofNextType === REACT_LAZY_TYPE && (needsCompareFamilies = true); + break; + default: + return false; + } + return needsCompareFamilies && (fiber = resolveFamily(prevType), void 0 !== fiber && fiber === resolveFamily(element)) ? true : false; + } + function markFailedErrorBoundaryForHotReloading(fiber) { + null !== resolveFamily && "function" === typeof WeakSet && (null === failedBoundaries && (failedBoundaries = /* @__PURE__ */ new WeakSet()), failedBoundaries.add(fiber)); + } + function scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) { + var alternate = fiber.alternate, child = fiber.child, sibling = fiber.sibling, tag = fiber.tag, type = fiber.type, candidateType = null; + switch (tag) { + case 0: + case 15: + case 1: + candidateType = type; + break; + case 11: + candidateType = type.render; + } + if (null === resolveFamily) + throw Error("Expected resolveFamily to be set during hot reload."); + var needsRender = false; + type = false; + null !== candidateType && (candidateType = resolveFamily(candidateType), void 0 !== candidateType && (staleFamilies.has(candidateType) ? type = true : updatedFamilies.has(candidateType) && (1 === tag ? type = true : needsRender = true))); + null !== failedBoundaries && (failedBoundaries.has(fiber) || null !== alternate && failedBoundaries.has(alternate)) && (type = true); + type && (fiber._debugNeedsRemount = true); + if (type || needsRender) + alternate = enqueueConcurrentRenderForLane(fiber, 2), null !== alternate && scheduleUpdateOnFiber(alternate, fiber, 2); + null === child || type || scheduleFibersWithFamiliesRecursively( + child, + updatedFamilies, + staleFamilies + ); + null !== sibling && scheduleFibersWithFamiliesRecursively( + sibling, + updatedFamilies, + staleFamilies + ); + } + function FiberNode(tag, pendingProps, key, mode) { + this.tag = tag; + this.key = key; + this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null; + this.index = 0; + this.refCleanup = this.ref = null; + this.pendingProps = pendingProps; + this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null; + this.mode = mode; + this.subtreeFlags = this.flags = 0; + this.deletions = null; + this.childLanes = this.lanes = 0; + this.alternate = null; + this.actualDuration = -0; + this.actualStartTime = -1.1; + this.treeBaseDuration = this.selfBaseDuration = -0; + this._debugTask = this._debugStack = this._debugOwner = this._debugInfo = null; + this._debugNeedsRemount = false; + this._debugHookTypes = null; + hasBadMapPolyfill || "function" !== typeof Object.preventExtensions || Object.preventExtensions(this); + } + function shouldConstruct(Component) { + Component = Component.prototype; + return !(!Component || !Component.isReactComponent); + } + function createWorkInProgress(current2, pendingProps) { + var workInProgress2 = current2.alternate; + null === workInProgress2 ? (workInProgress2 = createFiber( + current2.tag, + pendingProps, + current2.key, + current2.mode + ), workInProgress2.elementType = current2.elementType, workInProgress2.type = current2.type, workInProgress2.stateNode = current2.stateNode, workInProgress2._debugOwner = current2._debugOwner, workInProgress2._debugStack = current2._debugStack, workInProgress2._debugTask = current2._debugTask, workInProgress2._debugHookTypes = current2._debugHookTypes, workInProgress2.alternate = current2, current2.alternate = workInProgress2) : (workInProgress2.pendingProps = pendingProps, workInProgress2.type = current2.type, workInProgress2.flags = 0, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.actualDuration = -0, workInProgress2.actualStartTime = -1.1); + workInProgress2.flags = current2.flags & 65011712; + workInProgress2.childLanes = current2.childLanes; + workInProgress2.lanes = current2.lanes; + workInProgress2.child = current2.child; + workInProgress2.memoizedProps = current2.memoizedProps; + workInProgress2.memoizedState = current2.memoizedState; + workInProgress2.updateQueue = current2.updateQueue; + pendingProps = current2.dependencies; + workInProgress2.dependencies = null === pendingProps ? null : { + lanes: pendingProps.lanes, + firstContext: pendingProps.firstContext, + _debugThenableState: pendingProps._debugThenableState + }; + workInProgress2.sibling = current2.sibling; + workInProgress2.index = current2.index; + workInProgress2.ref = current2.ref; + workInProgress2.refCleanup = current2.refCleanup; + workInProgress2.selfBaseDuration = current2.selfBaseDuration; + workInProgress2.treeBaseDuration = current2.treeBaseDuration; + workInProgress2._debugInfo = current2._debugInfo; + workInProgress2._debugNeedsRemount = current2._debugNeedsRemount; + switch (workInProgress2.tag) { + case 0: + case 15: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 1: + workInProgress2.type = resolveFunctionForHotReloading(current2.type); + break; + case 11: + workInProgress2.type = resolveForwardRefForHotReloading(current2.type); + } + return workInProgress2; + } + function resetWorkInProgress(workInProgress2, renderLanes2) { + workInProgress2.flags &= 65011714; + var current2 = workInProgress2.alternate; + null === current2 ? (workInProgress2.childLanes = 0, workInProgress2.lanes = renderLanes2, workInProgress2.child = null, workInProgress2.subtreeFlags = 0, workInProgress2.memoizedProps = null, workInProgress2.memoizedState = null, workInProgress2.updateQueue = null, workInProgress2.dependencies = null, workInProgress2.stateNode = null, workInProgress2.selfBaseDuration = 0, workInProgress2.treeBaseDuration = 0) : (workInProgress2.childLanes = current2.childLanes, workInProgress2.lanes = current2.lanes, workInProgress2.child = current2.child, workInProgress2.subtreeFlags = 0, workInProgress2.deletions = null, workInProgress2.memoizedProps = current2.memoizedProps, workInProgress2.memoizedState = current2.memoizedState, workInProgress2.updateQueue = current2.updateQueue, workInProgress2.type = current2.type, renderLanes2 = current2.dependencies, workInProgress2.dependencies = null === renderLanes2 ? null : { + lanes: renderLanes2.lanes, + firstContext: renderLanes2.firstContext, + _debugThenableState: renderLanes2._debugThenableState + }, workInProgress2.selfBaseDuration = current2.selfBaseDuration, workInProgress2.treeBaseDuration = current2.treeBaseDuration); + return workInProgress2; + } + function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) { + var fiberTag = 0, resolvedType = type; + if ("function" === typeof type) + shouldConstruct(type) && (fiberTag = 1), resolvedType = resolveFunctionForHotReloading(resolvedType); + else if ("string" === typeof type) + fiberTag = getHostContext(), fiberTag = isHostHoistableType(type, pendingProps, fiberTag) ? 26 : "html" === type || "head" === type || "body" === type ? 27 : 5; + else + a: switch (type) { + case REACT_ACTIVITY_TYPE: + return key = createFiber(31, pendingProps, key, mode), key.elementType = REACT_ACTIVITY_TYPE, key.lanes = lanes, key; + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment( + pendingProps.children, + mode, + lanes, + key + ); + case REACT_STRICT_MODE_TYPE: + fiberTag = 8; + mode |= StrictLegacyMode; + mode |= StrictEffectsMode; + break; + case REACT_PROFILER_TYPE: + return type = pendingProps, owner = mode, "string" !== typeof type.id && console.error( + 'Profiler must specify an "id" of type `string` as a prop. Received the type `%s` instead.', + typeof type.id + ), key = createFiber(12, type, key, owner | ProfileMode), key.elementType = REACT_PROFILER_TYPE, key.lanes = lanes, key.stateNode = { effectDuration: 0, passiveEffectDuration: 0 }, key; + case REACT_SUSPENSE_TYPE: + return key = createFiber(13, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_TYPE, key.lanes = lanes, key; + case REACT_SUSPENSE_LIST_TYPE: + return key = createFiber(19, pendingProps, key, mode), key.elementType = REACT_SUSPENSE_LIST_TYPE, key.lanes = lanes, key; + default: + if ("object" === typeof type && null !== type) + switch (type.$$typeof) { + case REACT_PROVIDER_TYPE: + case REACT_CONTEXT_TYPE: + fiberTag = 10; + break a; + case REACT_CONSUMER_TYPE: + fiberTag = 9; + break a; + case REACT_FORWARD_REF_TYPE: + fiberTag = 11; + resolvedType = resolveForwardRefForHotReloading(resolvedType); + break a; + case REACT_MEMO_TYPE: + fiberTag = 14; + break a; + case REACT_LAZY_TYPE: + fiberTag = 16; + resolvedType = null; + break a; + } + resolvedType = ""; + if (void 0 === type || "object" === typeof type && null !== type && 0 === Object.keys(type).length) + resolvedType += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."; + null === type ? pendingProps = "null" : isArrayImpl(type) ? pendingProps = "array" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (pendingProps = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />", resolvedType = " Did you accidentally export a JSX literal instead of a component?") : pendingProps = typeof type; + (fiberTag = owner ? getComponentNameFromOwner(owner) : null) && (resolvedType += "\n\nCheck the render method of `" + fiberTag + "`."); + fiberTag = 29; + pendingProps = Error( + "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (pendingProps + "." + resolvedType) + ); + resolvedType = null; + } + key = createFiber(fiberTag, pendingProps, key, mode); + key.elementType = type; + key.type = resolvedType; + key.lanes = lanes; + key._debugOwner = owner; + return key; + } + function createFiberFromElement(element, mode, lanes) { + mode = createFiberFromTypeAndProps( + element.type, + element.key, + element.props, + element._owner, + mode, + lanes + ); + mode._debugOwner = element._owner; + mode._debugStack = element._debugStack; + mode._debugTask = element._debugTask; + return mode; + } + function createFiberFromFragment(elements, mode, lanes, key) { + elements = createFiber(7, elements, key, mode); + elements.lanes = lanes; + return elements; + } + function createFiberFromText(content, mode, lanes) { + content = createFiber(6, content, null, mode); + content.lanes = lanes; + return content; + } + function createFiberFromPortal(portal, mode, lanes) { + mode = createFiber( + 4, + null !== portal.children ? portal.children : [], + portal.key, + mode + ); + mode.lanes = lanes; + mode.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, + implementation: portal.implementation + }; + return mode; + } + function pushTreeFork(workInProgress2, totalChildren) { + warnIfNotHydrating(); + forkStack[forkStackIndex++] = treeForkCount; + forkStack[forkStackIndex++] = treeForkProvider; + treeForkProvider = workInProgress2; + treeForkCount = totalChildren; + } + function pushTreeId(workInProgress2, totalChildren, index) { + warnIfNotHydrating(); + idStack[idStackIndex++] = treeContextId; + idStack[idStackIndex++] = treeContextOverflow; + idStack[idStackIndex++] = treeContextProvider; + treeContextProvider = workInProgress2; + var baseIdWithLeadingBit = treeContextId; + workInProgress2 = treeContextOverflow; + var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1; + baseIdWithLeadingBit &= ~(1 << baseLength); + index += 1; + var length = 32 - clz32(totalChildren) + baseLength; + if (30 < length) { + var numberOfOverflowBits = baseLength - baseLength % 5; + length = (baseIdWithLeadingBit & (1 << numberOfOverflowBits) - 1).toString(32); + baseIdWithLeadingBit >>= numberOfOverflowBits; + baseLength -= numberOfOverflowBits; + treeContextId = 1 << 32 - clz32(totalChildren) + baseLength | index << baseLength | baseIdWithLeadingBit; + treeContextOverflow = length + workInProgress2; + } else + treeContextId = 1 << length | index << baseLength | baseIdWithLeadingBit, treeContextOverflow = workInProgress2; + } + function pushMaterializedTreeId(workInProgress2) { + warnIfNotHydrating(); + null !== workInProgress2.return && (pushTreeFork(workInProgress2, 1), pushTreeId(workInProgress2, 1, 0)); + } + function popTreeContext(workInProgress2) { + for (; workInProgress2 === treeForkProvider; ) + treeForkProvider = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null, treeForkCount = forkStack[--forkStackIndex], forkStack[forkStackIndex] = null; + for (; workInProgress2 === treeContextProvider; ) + treeContextProvider = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextOverflow = idStack[--idStackIndex], idStack[idStackIndex] = null, treeContextId = idStack[--idStackIndex], idStack[idStackIndex] = null; + } + function warnIfNotHydrating() { + isHydrating || console.error( + "Expected to be hydrating. This is a bug in React. Please file an issue." + ); + } + function buildHydrationDiffNode(fiber, distanceFromLeaf) { + if (null === fiber.return) { + if (null === hydrationDiffRootDEV) + hydrationDiffRootDEV = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + else { + if (hydrationDiffRootDEV.fiber !== fiber) + throw Error( + "Saw multiple hydration diff roots in a pass. This is a bug in React." + ); + hydrationDiffRootDEV.distanceFromLeaf > distanceFromLeaf && (hydrationDiffRootDEV.distanceFromLeaf = distanceFromLeaf); + } + return hydrationDiffRootDEV; + } + var siblings = buildHydrationDiffNode( + fiber.return, + distanceFromLeaf + 1 + ).children; + if (0 < siblings.length && siblings[siblings.length - 1].fiber === fiber) + return siblings = siblings[siblings.length - 1], siblings.distanceFromLeaf > distanceFromLeaf && (siblings.distanceFromLeaf = distanceFromLeaf), siblings; + distanceFromLeaf = { + fiber, + children: [], + serverProps: void 0, + serverTail: [], + distanceFromLeaf + }; + siblings.push(distanceFromLeaf); + return distanceFromLeaf; + } + function warnNonHydratedInstance(fiber, rejectedCandidate) { + didSuspendOrErrorDEV || (fiber = buildHydrationDiffNode(fiber, 0), fiber.serverProps = null, null !== rejectedCandidate && (rejectedCandidate = describeHydratableInstanceForDevWarnings(rejectedCandidate), fiber.serverTail.push(rejectedCandidate))); + } + function throwOnHydrationMismatch(fiber) { + var diff = "", diffRoot = hydrationDiffRootDEV; + null !== diffRoot && (hydrationDiffRootDEV = null, diff = describeDiff(diffRoot)); + queueHydrationError( + createCapturedValueAtFiber( + Error( + "Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\nhttps://react.dev/link/hydration-mismatch" + diff + ), + fiber + ) + ); + throw HydrationMismatchException; + } + function prepareToHydrateHostInstance(fiber) { + var didHydrate = fiber.stateNode; + var type = fiber.type, props = fiber.memoizedProps; + didHydrate[internalInstanceKey] = fiber; + didHydrate[internalPropsKey] = props; + validatePropertiesInDevelopment(type, props); + switch (type) { + case "dialog": + listenToNonDelegatedEvent("cancel", didHydrate); + listenToNonDelegatedEvent("close", didHydrate); + break; + case "iframe": + case "object": + case "embed": + listenToNonDelegatedEvent("load", didHydrate); + break; + case "video": + case "audio": + for (type = 0; type < mediaEventTypes.length; type++) + listenToNonDelegatedEvent(mediaEventTypes[type], didHydrate); + break; + case "source": + listenToNonDelegatedEvent("error", didHydrate); + break; + case "img": + case "image": + case "link": + listenToNonDelegatedEvent("error", didHydrate); + listenToNonDelegatedEvent("load", didHydrate); + break; + case "details": + listenToNonDelegatedEvent("toggle", didHydrate); + break; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateInputProps(didHydrate, props); + initInput( + didHydrate, + props.value, + props.defaultValue, + props.checked, + props.defaultChecked, + props.type, + props.name, + true + ); + track(didHydrate); + break; + case "option": + validateOptionProps(didHydrate, props); + break; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", didHydrate); + validateSelectProps(didHydrate, props); + break; + case "textarea": + checkControlledValueProps("textarea", props), listenToNonDelegatedEvent("invalid", didHydrate), validateTextareaProps(didHydrate, props), initTextarea( + didHydrate, + props.value, + props.defaultValue, + props.children + ), track(didHydrate); + } + type = props.children; + "string" !== typeof type && "number" !== typeof type && "bigint" !== typeof type || didHydrate.textContent === "" + type || true === props.suppressHydrationWarning || checkForUnmatchedText(didHydrate.textContent, type) ? (null != props.popover && (listenToNonDelegatedEvent("beforetoggle", didHydrate), listenToNonDelegatedEvent("toggle", didHydrate)), null != props.onScroll && listenToNonDelegatedEvent("scroll", didHydrate), null != props.onScrollEnd && listenToNonDelegatedEvent("scrollend", didHydrate), null != props.onClick && (didHydrate.onclick = noop$1), didHydrate = true) : didHydrate = false; + didHydrate || throwOnHydrationMismatch(fiber); + } + function popToNextHostParent(fiber) { + for (hydrationParentFiber = fiber.return; hydrationParentFiber; ) + switch (hydrationParentFiber.tag) { + case 5: + case 13: + rootOrSingletonContext = false; + return; + case 27: + case 3: + rootOrSingletonContext = true; + return; + default: + hydrationParentFiber = hydrationParentFiber.return; + } + } + function popHydrationState(fiber) { + if (fiber !== hydrationParentFiber) return false; + if (!isHydrating) + return popToNextHostParent(fiber), isHydrating = true, false; + var tag = fiber.tag, JSCompiler_temp; + if (JSCompiler_temp = 3 !== tag && 27 !== tag) { + if (JSCompiler_temp = 5 === tag) + JSCompiler_temp = fiber.type, JSCompiler_temp = !("form" !== JSCompiler_temp && "button" !== JSCompiler_temp) || shouldSetTextContent(fiber.type, fiber.memoizedProps); + JSCompiler_temp = !JSCompiler_temp; + } + if (JSCompiler_temp && nextHydratableInstance) { + for (JSCompiler_temp = nextHydratableInstance; JSCompiler_temp; ) { + var diffNode = buildHydrationDiffNode(fiber, 0), description = describeHydratableInstanceForDevWarnings(JSCompiler_temp); + diffNode.serverTail.push(description); + JSCompiler_temp = "Suspense" === description.type ? getNextHydratableInstanceAfterSuspenseInstance(JSCompiler_temp) : getNextHydratable(JSCompiler_temp.nextSibling); + } + throwOnHydrationMismatch(fiber); + } + popToNextHostParent(fiber); + if (13 === tag) { + fiber = fiber.memoizedState; + fiber = null !== fiber ? fiber.dehydrated : null; + if (!fiber) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(fiber); + } else + 27 === tag ? (tag = nextHydratableInstance, isSingletonScope(fiber.type) ? (fiber = previousHydratableOnEnteringScopedSingleton, previousHydratableOnEnteringScopedSingleton = null, nextHydratableInstance = fiber) : nextHydratableInstance = tag) : nextHydratableInstance = hydrationParentFiber ? getNextHydratable(fiber.stateNode.nextSibling) : null; + return true; + } + function resetHydrationState() { + nextHydratableInstance = hydrationParentFiber = null; + didSuspendOrErrorDEV = isHydrating = false; + } + function upgradeHydrationErrorsToRecoverable() { + var queuedErrors = hydrationErrors; + null !== queuedErrors && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = queuedErrors : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + queuedErrors + ), hydrationErrors = null); + return queuedErrors; + } + function queueHydrationError(error) { + null === hydrationErrors ? hydrationErrors = [error] : hydrationErrors.push(error); + } + function emitPendingHydrationWarnings() { + var diffRoot = hydrationDiffRootDEV; + if (null !== diffRoot) { + hydrationDiffRootDEV = null; + for (var diff = describeDiff(diffRoot); 0 < diffRoot.children.length; ) + diffRoot = diffRoot.children[0]; + runWithFiberInDEV(diffRoot.fiber, function() { + console.error( + "A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:\n\n- A server/client branch `if (typeof window !== 'undefined')`.\n- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.\n- Date formatting in a user's locale which doesn't match the server.\n- External changing data without sending a snapshot of it along with the HTML.\n- Invalid HTML tag nesting.\n\nIt can also happen if the client has a browser extension installed which messes with the HTML before React loaded.\n\n%s%s", + "https://react.dev/link/hydration-mismatch", + diff + ); + }); + } + } + function resetContextDependencies() { + lastContextDependency = currentlyRenderingFiber$1 = null; + isDisallowedContextReadInDEV = false; + } + function pushProvider(providerFiber, context, nextValue) { + push(valueCursor, context._currentValue, providerFiber); + context._currentValue = nextValue; + push(rendererCursorDEV, context._currentRenderer, providerFiber); + void 0 !== context._currentRenderer && null !== context._currentRenderer && context._currentRenderer !== rendererSigil && console.error( + "Detected multiple renderers concurrently rendering the same context provider. This is currently unsupported." + ); + context._currentRenderer = rendererSigil; + } + function popProvider(context, providerFiber) { + context._currentValue = valueCursor.current; + var currentRenderer = rendererCursorDEV.current; + pop(rendererCursorDEV, providerFiber); + context._currentRenderer = currentRenderer; + pop(valueCursor, providerFiber); + } + function scheduleContextWorkOnParentPath(parent, renderLanes2, propagationRoot) { + for (; null !== parent; ) { + var alternate = parent.alternate; + (parent.childLanes & renderLanes2) !== renderLanes2 ? (parent.childLanes |= renderLanes2, null !== alternate && (alternate.childLanes |= renderLanes2)) : null !== alternate && (alternate.childLanes & renderLanes2) !== renderLanes2 && (alternate.childLanes |= renderLanes2); + if (parent === propagationRoot) break; + parent = parent.return; + } + parent !== propagationRoot && console.error( + "Expected to find the propagation root when scheduling context work. This error is likely caused by a bug in React. Please file an issue." + ); + } + function propagateContextChanges(workInProgress2, contexts, renderLanes2, forcePropagateEntireTree) { + var fiber = workInProgress2.child; + null !== fiber && (fiber.return = workInProgress2); + for (; null !== fiber; ) { + var list = fiber.dependencies; + if (null !== list) { + var nextFiber = fiber.child; + list = list.firstContext; + a: for (; null !== list; ) { + var dependency = list; + list = fiber; + for (var i = 0; i < contexts.length; i++) + if (dependency.context === contexts[i]) { + list.lanes |= renderLanes2; + dependency = list.alternate; + null !== dependency && (dependency.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + list.return, + renderLanes2, + workInProgress2 + ); + forcePropagateEntireTree || (nextFiber = null); + break a; + } + list = dependency.next; + } + } else if (18 === fiber.tag) { + nextFiber = fiber.return; + if (null === nextFiber) + throw Error( + "We just came from a parent so we must have had a parent. This is a bug in React." + ); + nextFiber.lanes |= renderLanes2; + list = nextFiber.alternate; + null !== list && (list.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + nextFiber, + renderLanes2, + workInProgress2 + ); + nextFiber = null; + } else nextFiber = fiber.child; + if (null !== nextFiber) nextFiber.return = fiber; + else + for (nextFiber = fiber; null !== nextFiber; ) { + if (nextFiber === workInProgress2) { + nextFiber = null; + break; + } + fiber = nextFiber.sibling; + if (null !== fiber) { + fiber.return = nextFiber.return; + nextFiber = fiber; + break; + } + nextFiber = nextFiber.return; + } + fiber = nextFiber; + } + } + function propagateParentContextChanges(current2, workInProgress2, renderLanes2, forcePropagateEntireTree) { + current2 = null; + for (var parent = workInProgress2, isInsidePropagationBailout = false; null !== parent; ) { + if (!isInsidePropagationBailout) { + if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = true; + else if (0 !== (parent.flags & 262144)) break; + } + if (10 === parent.tag) { + var currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent = currentParent.memoizedProps; + if (null !== currentParent) { + var context = parent.type; + objectIs(parent.pendingProps.value, currentParent.value) || (null !== current2 ? current2.push(context) : current2 = [context]); + } + } else if (parent === hostTransitionProviderCursor.current) { + currentParent = parent.alternate; + if (null === currentParent) + throw Error("Should have a current fiber. This is a bug in React."); + currentParent.memoizedState.memoizedState !== parent.memoizedState.memoizedState && (null !== current2 ? current2.push(HostTransitionContext) : current2 = [HostTransitionContext]); + } + parent = parent.return; + } + null !== current2 && propagateContextChanges( + workInProgress2, + current2, + renderLanes2, + forcePropagateEntireTree + ); + workInProgress2.flags |= 262144; + } + function checkIfContextChanged(currentDependencies) { + for (currentDependencies = currentDependencies.firstContext; null !== currentDependencies; ) { + if (!objectIs( + currentDependencies.context._currentValue, + currentDependencies.memoizedValue + )) + return true; + currentDependencies = currentDependencies.next; + } + return false; + } + function prepareToReadContext(workInProgress2) { + currentlyRenderingFiber$1 = workInProgress2; + lastContextDependency = null; + workInProgress2 = workInProgress2.dependencies; + null !== workInProgress2 && (workInProgress2.firstContext = null); + } + function readContext(context) { + isDisallowedContextReadInDEV && console.error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + return readContextForConsumer(currentlyRenderingFiber$1, context); + } + function readContextDuringReconciliation(consumer, context) { + null === currentlyRenderingFiber$1 && prepareToReadContext(consumer); + return readContextForConsumer(consumer, context); + } + function readContextForConsumer(consumer, context) { + var value = context._currentValue; + context = { context, memoizedValue: value, next: null }; + if (null === lastContextDependency) { + if (null === consumer) + throw Error( + "Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()." + ); + lastContextDependency = context; + consumer.dependencies = { + lanes: 0, + firstContext: context, + _debugThenableState: null + }; + consumer.flags |= 524288; + } else lastContextDependency = lastContextDependency.next = context; + return value; + } + function createCache() { + return { + controller: new AbortControllerLocal(), + data: /* @__PURE__ */ new Map(), + refCount: 0 + }; + } + function retainCache(cache) { + cache.controller.signal.aborted && console.warn( + "A cache instance was retained after it was already freed. This likely indicates a bug in React." + ); + cache.refCount++; + } + function releaseCache(cache) { + cache.refCount--; + 0 > cache.refCount && console.warn( + "A cache instance was released after it was already freed. This likely indicates a bug in React." + ); + 0 === cache.refCount && scheduleCallback$2(NormalPriority, function() { + cache.controller.abort(); + }); + } + function pushNestedEffectDurations() { + var prevEffectDuration = profilerEffectDuration; + profilerEffectDuration = 0; + return prevEffectDuration; + } + function popNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration = prevEffectDuration; + return elapsedTime; + } + function bubbleNestedEffectDurations(prevEffectDuration) { + var elapsedTime = profilerEffectDuration; + profilerEffectDuration += prevEffectDuration; + return elapsedTime; + } + function startProfilerTimer(fiber) { + profilerStartTime = now(); + 0 > fiber.actualStartTime && (fiber.actualStartTime = profilerStartTime); + } + function stopProfilerTimerIfRunningAndRecordDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + fiber.selfBaseDuration = elapsedTime; + profilerStartTime = -1; + } + } + function stopProfilerTimerIfRunningAndRecordIncompleteDuration(fiber) { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + profilerStartTime = -1; + } + } + function recordEffectDuration() { + if (0 <= profilerStartTime) { + var elapsedTime = now() - profilerStartTime; + profilerStartTime = -1; + profilerEffectDuration += elapsedTime; + } + } + function startEffectTimer() { + profilerStartTime = now(); + } + function transferActualDuration(fiber) { + for (var child = fiber.child; child; ) + fiber.actualDuration += child.actualDuration, child = child.sibling; + } + function entangleAsyncAction(transition, thenable) { + if (null === currentEntangledListeners) { + var entangledListeners = currentEntangledListeners = []; + currentEntangledPendingCount = 0; + currentEntangledLane = requestTransitionLane(); + currentEntangledActionThenable = { + status: "pending", + value: void 0, + then: function(resolve) { + entangledListeners.push(resolve); + } + }; + } + currentEntangledPendingCount++; + thenable.then(pingEngtangledActionScope, pingEngtangledActionScope); + return thenable; + } + function pingEngtangledActionScope() { + if (0 === --currentEntangledPendingCount && null !== currentEntangledListeners) { + null !== currentEntangledActionThenable && (currentEntangledActionThenable.status = "fulfilled"); + var listeners = currentEntangledListeners; + currentEntangledListeners = null; + currentEntangledLane = 0; + currentEntangledActionThenable = null; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(); + } + } + function chainThenableValue(thenable, result) { + var listeners = [], thenableWithOverride = { + status: "pending", + value: null, + reason: null, + then: function(resolve) { + listeners.push(resolve); + } + }; + thenable.then( + function() { + thenableWithOverride.status = "fulfilled"; + thenableWithOverride.value = result; + for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result); + }, + function(error) { + thenableWithOverride.status = "rejected"; + thenableWithOverride.reason = error; + for (error = 0; error < listeners.length; error++) + (0, listeners[error])(void 0); + } + ); + return thenableWithOverride; + } + function peekCacheFromPool() { + var cacheResumedFromPreviousRender = resumedCache.current; + return null !== cacheResumedFromPreviousRender ? cacheResumedFromPreviousRender : workInProgressRoot.pooledCache; + } + function pushTransition(offscreenWorkInProgress, prevCachePool) { + null === prevCachePool ? push(resumedCache, resumedCache.current, offscreenWorkInProgress) : push(resumedCache, prevCachePool.pool, offscreenWorkInProgress); + } + function getSuspendedCache() { + var cacheFromPool = peekCacheFromPool(); + return null === cacheFromPool ? null : { parent: CacheContext._currentValue, pool: cacheFromPool }; + } + function createThenableState() { + return { didWarnAboutUncachedPromise: false, thenables: [] }; + } + function isThenableResolved(thenable) { + thenable = thenable.status; + return "fulfilled" === thenable || "rejected" === thenable; + } + function noop$3() { + } + function trackUsedThenable(thenableState2, thenable, index) { + null !== ReactSharedInternals.actQueue && (ReactSharedInternals.didUsePromise = true); + var trackedThenables = thenableState2.thenables; + index = trackedThenables[index]; + void 0 === index ? trackedThenables.push(thenable) : index !== thenable && (thenableState2.didWarnAboutUncachedPromise || (thenableState2.didWarnAboutUncachedPromise = true, console.error( + "A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework." + )), thenable.then(noop$3, noop$3), thenable = index); + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + default: + if ("string" === typeof thenable.status) + thenable.then(noop$3, noop$3); + else { + thenableState2 = workInProgressRoot; + if (null !== thenableState2 && 100 < thenableState2.shellSuspendCounter) + throw Error( + "An unknown Component is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + thenableState2 = thenable; + thenableState2.status = "pending"; + thenableState2.then( + function(fulfilledValue) { + if ("pending" === thenable.status) { + var fulfilledThenable = thenable; + fulfilledThenable.status = "fulfilled"; + fulfilledThenable.value = fulfilledValue; + } + }, + function(error) { + if ("pending" === thenable.status) { + var rejectedThenable = thenable; + rejectedThenable.status = "rejected"; + rejectedThenable.reason = error; + } + } + ); + } + switch (thenable.status) { + case "fulfilled": + return thenable.value; + case "rejected": + throw thenableState2 = thenable.reason, checkIfUseWrappedInAsyncCatch(thenableState2), thenableState2; + } + suspendedThenable = thenable; + needsToResetSuspendedThenableDEV = true; + throw SuspenseException; + } + } + function getSuspendedThenable() { + if (null === suspendedThenable) + throw Error( + "Expected a suspended thenable. This is a bug in React. Please file an issue." + ); + var thenable = suspendedThenable; + suspendedThenable = null; + needsToResetSuspendedThenableDEV = false; + return thenable; + } + function checkIfUseWrappedInAsyncCatch(rejectedReason) { + if (rejectedReason === SuspenseException || rejectedReason === SuspenseActionException) + throw Error( + "Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server." + ); + } + function initializeUpdateQueue(fiber) { + fiber.updateQueue = { + baseState: fiber.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null, lanes: 0, hiddenCallbacks: null }, + callbacks: null + }; + } + function cloneUpdateQueue(current2, workInProgress2) { + current2 = current2.updateQueue; + workInProgress2.updateQueue === current2 && (workInProgress2.updateQueue = { + baseState: current2.baseState, + firstBaseUpdate: current2.firstBaseUpdate, + lastBaseUpdate: current2.lastBaseUpdate, + shared: current2.shared, + callbacks: null + }); + } + function createUpdate(lane) { + return { + lane, + tag: UpdateState, + payload: null, + callback: null, + next: null + }; + } + function enqueueUpdate(fiber, update, lane) { + var updateQueue = fiber.updateQueue; + if (null === updateQueue) return null; + updateQueue = updateQueue.shared; + if (currentlyProcessingQueue === updateQueue && !didWarnUpdateInsideUpdate) { + var componentName2 = getComponentNameFromFiber(fiber); + console.error( + "An update (setState, replaceState, or forceUpdate) was scheduled from inside an update function. Update functions should be pure, with zero side-effects. Consider using componentDidUpdate or a callback.\n\nPlease update the following component: %s", + componentName2 + ); + didWarnUpdateInsideUpdate = true; + } + if ((executionContext & RenderContext) !== NoContext) + return componentName2 = updateQueue.pending, null === componentName2 ? update.next = update : (update.next = componentName2.next, componentName2.next = update), updateQueue.pending = update, update = getRootForUpdatedFiber(fiber), markUpdateLaneFromFiberToRoot(fiber, null, lane), update; + enqueueUpdate$1(fiber, updateQueue, update, lane); + return getRootForUpdatedFiber(fiber); + } + function entangleTransitions(root2, fiber, lane) { + fiber = fiber.updateQueue; + if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194048))) { + var queueLanes = fiber.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + fiber.lanes = lane; + markRootEntangled(root2, lane); + } + } + function enqueueCapturedUpdate(workInProgress2, capturedUpdate) { + var queue = workInProgress2.updateQueue, current2 = workInProgress2.alternate; + if (null !== current2 && (current2 = current2.updateQueue, queue === current2)) { + var newFirst = null, newLast = null; + queue = queue.firstBaseUpdate; + if (null !== queue) { + do { + var clone = { + lane: queue.lane, + tag: queue.tag, + payload: queue.payload, + callback: null, + next: null + }; + null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone; + queue = queue.next; + } while (null !== queue); + null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate; + } else newFirst = newLast = capturedUpdate; + queue = { + baseState: current2.baseState, + firstBaseUpdate: newFirst, + lastBaseUpdate: newLast, + shared: current2.shared, + callbacks: current2.callbacks + }; + workInProgress2.updateQueue = queue; + return; + } + workInProgress2 = queue.lastBaseUpdate; + null === workInProgress2 ? queue.firstBaseUpdate = capturedUpdate : workInProgress2.next = capturedUpdate; + queue.lastBaseUpdate = capturedUpdate; + } + function suspendIfUpdateReadFromEntangledAsyncAction() { + if (didReadFromEntangledAsyncAction) { + var entangledActionThenable = currentEntangledActionThenable; + if (null !== entangledActionThenable) throw entangledActionThenable; + } + } + function processUpdateQueue(workInProgress2, props, instance$jscomp$0, renderLanes2) { + didReadFromEntangledAsyncAction = false; + var queue = workInProgress2.updateQueue; + hasForceUpdate = false; + currentlyProcessingQueue = queue.shared; + var firstBaseUpdate = queue.firstBaseUpdate, lastBaseUpdate = queue.lastBaseUpdate, pendingQueue = queue.shared.pending; + if (null !== pendingQueue) { + queue.shared.pending = null; + var lastPendingUpdate = pendingQueue, firstPendingUpdate = lastPendingUpdate.next; + lastPendingUpdate.next = null; + null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate; + lastBaseUpdate = lastPendingUpdate; + var current2 = workInProgress2.alternate; + null !== current2 && (current2 = current2.updateQueue, pendingQueue = current2.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current2.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current2.lastBaseUpdate = lastPendingUpdate)); + } + if (null !== firstBaseUpdate) { + var newState = queue.baseState; + lastBaseUpdate = 0; + current2 = firstPendingUpdate = lastPendingUpdate = null; + pendingQueue = firstBaseUpdate; + do { + var updateLane = pendingQueue.lane & -536870913, isHiddenUpdate = updateLane !== pendingQueue.lane; + if (isHiddenUpdate ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes2 & updateLane) === updateLane) { + 0 !== updateLane && updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction = true); + null !== current2 && (current2 = current2.next = { + lane: 0, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: null, + next: null + }); + a: { + updateLane = workInProgress2; + var partialState = pendingQueue; + var nextProps = props, instance = instance$jscomp$0; + switch (partialState.tag) { + case ReplaceState: + partialState = partialState.payload; + if ("function" === typeof partialState) { + isDisallowedContextReadInDEV = true; + var nextState = partialState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + newState = nextState; + break a; + } + newState = partialState; + break a; + case CaptureUpdate: + updateLane.flags = updateLane.flags & -65537 | 128; + case UpdateState: + nextState = partialState.payload; + if ("function" === typeof nextState) { + isDisallowedContextReadInDEV = true; + partialState = nextState.call( + instance, + newState, + nextProps + ); + if (updateLane.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + nextState.call(instance, newState, nextProps); + } finally { + setIsStrictModeForDevtools(false); + } + } + isDisallowedContextReadInDEV = false; + } else partialState = nextState; + if (null === partialState || void 0 === partialState) break a; + newState = assign({}, newState, partialState); + break a; + case ForceUpdate: + hasForceUpdate = true; + } + } + updateLane = pendingQueue.callback; + null !== updateLane && (workInProgress2.flags |= 64, isHiddenUpdate && (workInProgress2.flags |= 8192), isHiddenUpdate = queue.callbacks, null === isHiddenUpdate ? queue.callbacks = [updateLane] : isHiddenUpdate.push(updateLane)); + } else + isHiddenUpdate = { + lane: updateLane, + tag: pendingQueue.tag, + payload: pendingQueue.payload, + callback: pendingQueue.callback, + next: null + }, null === current2 ? (firstPendingUpdate = current2 = isHiddenUpdate, lastPendingUpdate = newState) : current2 = current2.next = isHiddenUpdate, lastBaseUpdate |= updateLane; + pendingQueue = pendingQueue.next; + if (null === pendingQueue) + if (pendingQueue = queue.shared.pending, null === pendingQueue) + break; + else + isHiddenUpdate = pendingQueue, pendingQueue = isHiddenUpdate.next, isHiddenUpdate.next = null, queue.lastBaseUpdate = isHiddenUpdate, queue.shared.pending = null; + } while (1); + null === current2 && (lastPendingUpdate = newState); + queue.baseState = lastPendingUpdate; + queue.firstBaseUpdate = firstPendingUpdate; + queue.lastBaseUpdate = current2; + null === firstBaseUpdate && (queue.shared.lanes = 0); + workInProgressRootSkippedLanes |= lastBaseUpdate; + workInProgress2.lanes = lastBaseUpdate; + workInProgress2.memoizedState = newState; + } + currentlyProcessingQueue = null; + } + function callCallback(callback, context) { + if ("function" !== typeof callback) + throw Error( + "Invalid argument passed as callback. Expected a function. Instead received: " + callback + ); + callback.call(context); + } + function commitHiddenCallbacks(updateQueue, context) { + var hiddenCallbacks = updateQueue.shared.hiddenCallbacks; + if (null !== hiddenCallbacks) + for (updateQueue.shared.hiddenCallbacks = null, updateQueue = 0; updateQueue < hiddenCallbacks.length; updateQueue++) + callCallback(hiddenCallbacks[updateQueue], context); + } + function commitCallbacks(updateQueue, context) { + var callbacks = updateQueue.callbacks; + if (null !== callbacks) + for (updateQueue.callbacks = null, updateQueue = 0; updateQueue < callbacks.length; updateQueue++) + callCallback(callbacks[updateQueue], context); + } + function pushHiddenContext(fiber, context) { + var prevEntangledRenderLanes = entangledRenderLanes; + push(prevEntangledRenderLanesCursor, prevEntangledRenderLanes, fiber); + push(currentTreeHiddenStackCursor, context, fiber); + entangledRenderLanes = prevEntangledRenderLanes | context.baseLanes; + } + function reuseHiddenContextOnStack(fiber) { + push(prevEntangledRenderLanesCursor, entangledRenderLanes, fiber); + push( + currentTreeHiddenStackCursor, + currentTreeHiddenStackCursor.current, + fiber + ); + } + function popHiddenContext(fiber) { + entangledRenderLanes = prevEntangledRenderLanesCursor.current; + pop(currentTreeHiddenStackCursor, fiber); + pop(prevEntangledRenderLanesCursor, fiber); + } + function mountHookTypesDev() { + var hookName = currentHookNameInDev; + null === hookTypesDev ? hookTypesDev = [hookName] : hookTypesDev.push(hookName); + } + function updateHookTypesDev() { + var hookName = currentHookNameInDev; + if (null !== hookTypesDev && (hookTypesUpdateIndexDev++, hookTypesDev[hookTypesUpdateIndexDev] !== hookName)) { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + if (!didWarnAboutMismatchedHooksForComponent.has(componentName2) && (didWarnAboutMismatchedHooksForComponent.add(componentName2), null !== hookTypesDev)) { + for (var table = "", i = 0; i <= hookTypesUpdateIndexDev; i++) { + var oldHookName = hookTypesDev[i], newHookName = i === hookTypesUpdateIndexDev ? hookName : oldHookName; + for (oldHookName = i + 1 + ". " + oldHookName; 30 > oldHookName.length; ) + oldHookName += " "; + oldHookName += newHookName + "\n"; + table += oldHookName; + } + console.error( + "React has detected a change in the order of Hooks called by %s. This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://react.dev/link/rules-of-hooks\n\n Previous render Next render\n ------------------------------------------------------\n%s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n", + componentName2, + table + ); + } + } + } + function checkDepsAreArrayDev(deps) { + void 0 === deps || null === deps || isArrayImpl(deps) || console.error( + "%s received a final argument that is not an array (instead, received `%s`). When specified, the final argument must be an array.", + currentHookNameInDev, + typeof deps + ); + } + function warnOnUseFormStateInDev() { + var componentName2 = getComponentNameFromFiber(currentlyRenderingFiber); + didWarnAboutUseFormState.has(componentName2) || (didWarnAboutUseFormState.add(componentName2), console.error( + "ReactDOM.useFormState has been renamed to React.useActionState. Please update %s to use React.useActionState.", + componentName2 + )); + } + function throwInvalidHookError() { + throw Error( + "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem." + ); + } + function areHookInputsEqual(nextDeps, prevDeps) { + if (ignorePreviousDependencies) return false; + if (null === prevDeps) + return console.error( + "%s received a final argument during this render, but not during the previous render. Even though the final argument is optional, its type cannot change between renders.", + currentHookNameInDev + ), false; + nextDeps.length !== prevDeps.length && console.error( + "The final argument passed to %s changed size between renders. The order and size of this array must remain constant.\n\nPrevious: %s\nIncoming: %s", + currentHookNameInDev, + "[" + prevDeps.join(", ") + "]", + "[" + nextDeps.join(", ") + "]" + ); + for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) + if (!objectIs(nextDeps[i], prevDeps[i])) return false; + return true; + } + function renderWithHooks(current2, workInProgress2, Component, props, secondArg, nextRenderLanes) { + renderLanes = nextRenderLanes; + currentlyRenderingFiber = workInProgress2; + hookTypesDev = null !== current2 ? current2._debugHookTypes : null; + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + if ("[object AsyncFunction]" === Object.prototype.toString.call(Component) || "[object AsyncGeneratorFunction]" === Object.prototype.toString.call(Component)) + nextRenderLanes = getComponentNameFromFiber(currentlyRenderingFiber), didWarnAboutAsyncClientComponent.has(nextRenderLanes) || (didWarnAboutAsyncClientComponent.add(nextRenderLanes), console.error( + "%s is an async Client Component. Only Server Components can be async at the moment. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.", + null === nextRenderLanes ? "An unknown Component" : "<" + nextRenderLanes + ">" + )); + workInProgress2.memoizedState = null; + workInProgress2.updateQueue = null; + workInProgress2.lanes = 0; + ReactSharedInternals.H = null !== current2 && null !== current2.memoizedState ? HooksDispatcherOnUpdateInDEV : null !== hookTypesDev ? HooksDispatcherOnMountWithHookTypesInDEV : HooksDispatcherOnMountInDEV; + shouldDoubleInvokeUserFnsInHooksDEV = nextRenderLanes = (workInProgress2.mode & StrictLegacyMode) !== NoMode; + var children = callComponentInDEV(Component, props, secondArg); + shouldDoubleInvokeUserFnsInHooksDEV = false; + didScheduleRenderPhaseUpdateDuringThisPass && (children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + )); + if (nextRenderLanes) { + setIsStrictModeForDevtools(true); + try { + children = renderWithHooksAgain( + workInProgress2, + Component, + props, + secondArg + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + finishRenderingHooks(current2, workInProgress2); + return children; + } + function finishRenderingHooks(current2, workInProgress2) { + workInProgress2._debugHookTypes = hookTypesDev; + null === workInProgress2.dependencies ? null !== thenableState$1 && (workInProgress2.dependencies = { + lanes: 0, + firstContext: null, + _debugThenableState: thenableState$1 + }) : workInProgress2.dependencies._debugThenableState = thenableState$1; + ReactSharedInternals.H = ContextOnlyDispatcher; + var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next; + renderLanes = 0; + hookTypesDev = currentHookNameInDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + null !== current2 && (current2.flags & 65011712) !== (workInProgress2.flags & 65011712) && console.error( + "Internal React error: Expected static flag was missing. Please notify the React team." + ); + didScheduleRenderPhaseUpdate = false; + thenableIndexCounter$1 = 0; + thenableState$1 = null; + if (didRenderTooFewHooks) + throw Error( + "Rendered fewer hooks than expected. This may be caused by an accidental early return statement." + ); + null === current2 || didReceiveUpdate || (current2 = current2.dependencies, null !== current2 && checkIfContextChanged(current2) && (didReceiveUpdate = true)); + needsToResetSuspendedThenableDEV ? (needsToResetSuspendedThenableDEV = false, current2 = true) : current2 = false; + current2 && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Unknown", didWarnAboutUseWrappedInTryCatch.has(workInProgress2) || didWarnAboutAsyncClientComponent.has(workInProgress2) || (didWarnAboutUseWrappedInTryCatch.add(workInProgress2), console.error( + "`use` was called from inside a try/catch block. This is not allowed and can lead to unexpected behavior. To handle errors triggered by `use`, wrap your component in a error boundary." + ))); + } + function renderWithHooksAgain(workInProgress2, Component, props, secondArg) { + currentlyRenderingFiber = workInProgress2; + var numberOfReRenders = 0; + do { + didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null); + thenableIndexCounter$1 = 0; + didScheduleRenderPhaseUpdateDuringThisPass = false; + if (numberOfReRenders >= RE_RENDER_LIMIT) + throw Error( + "Too many re-renders. React limits the number of renders to prevent an infinite loop." + ); + numberOfReRenders += 1; + ignorePreviousDependencies = false; + workInProgressHook = currentHook = null; + if (null != workInProgress2.updateQueue) { + var children = workInProgress2.updateQueue; + children.lastEffect = null; + children.events = null; + children.stores = null; + null != children.memoCache && (children.memoCache.index = 0); + } + hookTypesUpdateIndexDev = -1; + ReactSharedInternals.H = HooksDispatcherOnRerenderInDEV; + children = callComponentInDEV(Component, props, secondArg); + } while (didScheduleRenderPhaseUpdateDuringThisPass); + return children; + } + function TransitionAwareHostComponent() { + var dispatcher = ReactSharedInternals.H, maybeThenable = dispatcher.useState()[0]; + maybeThenable = "function" === typeof maybeThenable.then ? useThenable(maybeThenable) : maybeThenable; + dispatcher = dispatcher.useState()[0]; + (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher && (currentlyRenderingFiber.flags |= 1024); + return maybeThenable; + } + function checkDidRenderIdHook() { + var didRenderIdHook = 0 !== localIdCounter; + localIdCounter = 0; + return didRenderIdHook; + } + function bailoutHooks(current2, workInProgress2, lanes) { + workInProgress2.updateQueue = current2.updateQueue; + workInProgress2.flags = (workInProgress2.mode & StrictEffectsMode) !== NoMode ? workInProgress2.flags & -402655237 : workInProgress2.flags & -2053; + current2.lanes &= ~lanes; + } + function resetHooksOnUnwind(workInProgress2) { + if (didScheduleRenderPhaseUpdate) { + for (workInProgress2 = workInProgress2.memoizedState; null !== workInProgress2; ) { + var queue = workInProgress2.queue; + null !== queue && (queue.pending = null); + workInProgress2 = workInProgress2.next; + } + didScheduleRenderPhaseUpdate = false; + } + renderLanes = 0; + hookTypesDev = workInProgressHook = currentHook = currentlyRenderingFiber = null; + hookTypesUpdateIndexDev = -1; + currentHookNameInDev = null; + didScheduleRenderPhaseUpdateDuringThisPass = false; + thenableIndexCounter$1 = localIdCounter = 0; + thenableState$1 = null; + } + function mountWorkInProgressHook() { + var hook = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook; + return workInProgressHook; + } + function updateWorkInProgressHook() { + if (null === currentHook) { + var nextCurrentHook = currentlyRenderingFiber.alternate; + nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null; + } else nextCurrentHook = currentHook.next; + var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber.memoizedState : workInProgressHook.next; + if (null !== nextWorkInProgressHook) + workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook; + else { + if (null === nextCurrentHook) { + if (null === currentlyRenderingFiber.alternate) + throw Error( + "Update hook called on initial render. This is likely a bug in React. Please file an issue." + ); + throw Error("Rendered more hooks than during the previous render."); + } + currentHook = nextCurrentHook; + nextCurrentHook = { + memoizedState: currentHook.memoizedState, + baseState: currentHook.baseState, + baseQueue: currentHook.baseQueue, + queue: currentHook.queue, + next: null + }; + null === workInProgressHook ? currentlyRenderingFiber.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook; + } + return workInProgressHook; + } + function createFunctionComponentUpdateQueue() { + return { lastEffect: null, events: null, stores: null, memoCache: null }; + } + function useThenable(thenable) { + var index = thenableIndexCounter$1; + thenableIndexCounter$1 += 1; + null === thenableState$1 && (thenableState$1 = createThenableState()); + thenable = trackUsedThenable(thenableState$1, thenable, index); + index = currentlyRenderingFiber; + null === (null === workInProgressHook ? index.memoizedState : workInProgressHook.next) && (index = index.alternate, ReactSharedInternals.H = null !== index && null !== index.memoizedState ? HooksDispatcherOnUpdateInDEV : HooksDispatcherOnMountInDEV); + return thenable; + } + function use(usable) { + if (null !== usable && "object" === typeof usable) { + if ("function" === typeof usable.then) return useThenable(usable); + if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable); + } + throw Error("An unsupported type was passed to use(): " + String(usable)); + } + function useMemoCache(size) { + var memoCache = null, updateQueue = currentlyRenderingFiber.updateQueue; + null !== updateQueue && (memoCache = updateQueue.memoCache); + if (null == memoCache) { + var current2 = currentlyRenderingFiber.alternate; + null !== current2 && (current2 = current2.updateQueue, null !== current2 && (current2 = current2.memoCache, null != current2 && (memoCache = { + data: current2.data.map(function(array) { + return array.slice(); + }), + index: 0 + }))); + } + null == memoCache && (memoCache = { data: [], index: 0 }); + null === updateQueue && (updateQueue = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = updateQueue); + updateQueue.memoCache = memoCache; + updateQueue = memoCache.data[memoCache.index]; + if (void 0 === updateQueue || ignorePreviousDependencies) + for (updateQueue = memoCache.data[memoCache.index] = Array(size), current2 = 0; current2 < size; current2++) + updateQueue[current2] = REACT_MEMO_CACHE_SENTINEL; + else + updateQueue.length !== size && console.error( + "Expected a constant size argument for each invocation of useMemoCache. The previous cache was allocated with size %s but size %s was requested.", + updateQueue.length, + size + ); + memoCache.index++; + return updateQueue; + } + function basicStateReducer(state, action) { + return "function" === typeof action ? action(state) : action; + } + function mountReducer(reducer, initialArg, init) { + var hook = mountWorkInProgressHook(); + if (void 0 !== init) { + var initialState = init(initialArg); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + init(initialArg); + } finally { + setIsStrictModeForDevtools(false); + } + } + } else initialState = initialArg; + hook.memoizedState = hook.baseState = initialState; + reducer = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: reducer, + lastRenderedState: initialState + }; + hook.queue = reducer; + reducer = reducer.dispatch = dispatchReducerAction.bind( + null, + currentlyRenderingFiber, + reducer + ); + return [hook.memoizedState, reducer]; + } + function updateReducer(reducer) { + var hook = updateWorkInProgressHook(); + return updateReducerImpl(hook, currentHook, reducer); + } + function updateReducerImpl(hook, current2, reducer) { + var queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var baseQueue = hook.baseQueue, pendingQueue = queue.pending; + if (null !== pendingQueue) { + if (null !== baseQueue) { + var baseFirst = baseQueue.next; + baseQueue.next = pendingQueue.next; + pendingQueue.next = baseFirst; + } + current2.baseQueue !== baseQueue && console.error( + "Internal error: Expected work-in-progress queue to be a clone. This is a bug in React." + ); + current2.baseQueue = baseQueue = pendingQueue; + queue.pending = null; + } + pendingQueue = hook.baseState; + if (null === baseQueue) hook.memoizedState = pendingQueue; + else { + current2 = baseQueue.next; + var newBaseQueueFirst = baseFirst = null, newBaseQueueLast = null, update = current2, didReadFromEntangledAsyncAction2 = false; + do { + var updateLane = update.lane & -536870913; + if (updateLane !== update.lane ? (workInProgressRootRenderLanes & updateLane) === updateLane : (renderLanes & updateLane) === updateLane) { + var revertLane = update.revertLane; + if (0 === revertLane) + null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = { + lane: 0, + revertLane: 0, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }), updateLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + else if ((renderLanes & revertLane) === revertLane) { + update = update.next; + revertLane === currentEntangledLane && (didReadFromEntangledAsyncAction2 = true); + continue; + } else + updateLane = { + lane: 0, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = updateLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = updateLane, currentlyRenderingFiber.lanes |= revertLane, workInProgressRootSkippedLanes |= revertLane; + updateLane = update.action; + shouldDoubleInvokeUserFnsInHooksDEV && reducer(pendingQueue, updateLane); + pendingQueue = update.hasEagerState ? update.eagerState : reducer(pendingQueue, updateLane); + } else + revertLane = { + lane: updateLane, + revertLane: update.revertLane, + action: update.action, + hasEagerState: update.hasEagerState, + eagerState: update.eagerState, + next: null + }, null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = revertLane, baseFirst = pendingQueue) : newBaseQueueLast = newBaseQueueLast.next = revertLane, currentlyRenderingFiber.lanes |= updateLane, workInProgressRootSkippedLanes |= updateLane; + update = update.next; + } while (null !== update && update !== current2); + null === newBaseQueueLast ? baseFirst = pendingQueue : newBaseQueueLast.next = newBaseQueueFirst; + if (!objectIs(pendingQueue, hook.memoizedState) && (didReceiveUpdate = true, didReadFromEntangledAsyncAction2 && (reducer = currentEntangledActionThenable, null !== reducer))) + throw reducer; + hook.memoizedState = pendingQueue; + hook.baseState = baseFirst; + hook.baseQueue = newBaseQueueLast; + queue.lastRenderedState = pendingQueue; + } + null === baseQueue && (queue.lanes = 0); + return [hook.memoizedState, queue.dispatch]; + } + function rerenderReducer(reducer) { + var hook = updateWorkInProgressHook(), queue = hook.queue; + if (null === queue) + throw Error( + "Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)" + ); + queue.lastRenderedReducer = reducer; + var dispatch = queue.dispatch, lastRenderPhaseUpdate = queue.pending, newState = hook.memoizedState; + if (null !== lastRenderPhaseUpdate) { + queue.pending = null; + var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next; + do + newState = reducer(newState, update.action), update = update.next; + while (update !== lastRenderPhaseUpdate); + objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true); + hook.memoizedState = newState; + null === hook.baseQueue && (hook.baseState = newState); + queue.lastRenderedState = newState; + } + return [newState, dispatch]; + } + function mountSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = mountWorkInProgressHook(); + if (isHydrating) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + var nextSnapshot = getServerSnapshot(); + didWarnUncachedGetSnapshot || nextSnapshot === getServerSnapshot() || (console.error( + "The result of getServerSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } else { + nextSnapshot = getSnapshot(); + didWarnUncachedGetSnapshot || (getServerSnapshot = getSnapshot(), objectIs(nextSnapshot, getServerSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true)); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + 0 !== (workInProgressRootRenderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot); + } + hook.memoizedState = nextSnapshot; + getServerSnapshot = { value: nextSnapshot, getSnapshot }; + hook.queue = getServerSnapshot; + mountEffect( + subscribeToStore.bind(null, fiber, getServerSnapshot, subscribe), + [subscribe] + ); + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + getServerSnapshot, + nextSnapshot, + getSnapshot + ), + null + ); + return nextSnapshot; + } + function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) { + var fiber = currentlyRenderingFiber, hook = updateWorkInProgressHook(), isHydrating$jscomp$0 = isHydrating; + if (isHydrating$jscomp$0) { + if (void 0 === getServerSnapshot) + throw Error( + "Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering." + ); + getServerSnapshot = getServerSnapshot(); + } else if (getServerSnapshot = getSnapshot(), !didWarnUncachedGetSnapshot) { + var cachedSnapshot = getSnapshot(); + objectIs(getServerSnapshot, cachedSnapshot) || (console.error( + "The result of getSnapshot should be cached to avoid an infinite loop" + ), didWarnUncachedGetSnapshot = true); + } + if (cachedSnapshot = !objectIs( + (currentHook || hook).memoizedState, + getServerSnapshot + )) + hook.memoizedState = getServerSnapshot, didReceiveUpdate = true; + hook = hook.queue; + var create = subscribeToStore.bind(null, fiber, hook, subscribe); + updateEffectImpl(2048, Passive, create, [subscribe]); + if (hook.getSnapshot !== getSnapshot || cachedSnapshot || null !== workInProgressHook && workInProgressHook.memoizedState.tag & HasEffect) { + fiber.flags |= 2048; + pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + updateStoreInstance.bind( + null, + fiber, + hook, + getServerSnapshot, + getSnapshot + ), + null + ); + if (null === workInProgressRoot) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + isHydrating$jscomp$0 || 0 !== (renderLanes & 124) || pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot); + } + return getServerSnapshot; + } + function pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) { + fiber.flags |= 16384; + fiber = { getSnapshot, value: renderedSnapshot }; + getSnapshot = currentlyRenderingFiber.updateQueue; + null === getSnapshot ? (getSnapshot = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = getSnapshot, getSnapshot.stores = [fiber]) : (renderedSnapshot = getSnapshot.stores, null === renderedSnapshot ? getSnapshot.stores = [fiber] : renderedSnapshot.push(fiber)); + } + function updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) { + inst.value = nextSnapshot; + inst.getSnapshot = getSnapshot; + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + } + function subscribeToStore(fiber, inst, subscribe) { + return subscribe(function() { + checkIfSnapshotChanged(inst) && forceStoreRerender(fiber); + }); + } + function checkIfSnapshotChanged(inst) { + var latestGetSnapshot = inst.getSnapshot; + inst = inst.value; + try { + var nextValue = latestGetSnapshot(); + return !objectIs(inst, nextValue); + } catch (error) { + return true; + } + } + function forceStoreRerender(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + } + function mountStateImpl(initialState) { + var hook = mountWorkInProgressHook(); + if ("function" === typeof initialState) { + var initialStateInitializer = initialState; + initialState = initialStateInitializer(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + initialStateInitializer(); + } finally { + setIsStrictModeForDevtools(false); + } + } + } + hook.memoizedState = hook.baseState = initialState; + hook.queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialState + }; + return hook; + } + function mountState(initialState) { + initialState = mountStateImpl(initialState); + var queue = initialState.queue, dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue); + queue.dispatch = dispatch; + return [initialState.memoizedState, dispatch]; + } + function mountOptimistic(passthrough) { + var hook = mountWorkInProgressHook(); + hook.memoizedState = hook.baseState = passthrough; + var queue = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: null, + lastRenderedState: null + }; + hook.queue = queue; + hook = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + true, + queue + ); + queue.dispatch = hook; + return [passthrough, hook]; + } + function updateOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + } + function updateOptimisticImpl(hook, current2, passthrough, reducer) { + hook.baseState = passthrough; + return updateReducerImpl( + hook, + currentHook, + "function" === typeof reducer ? reducer : basicStateReducer + ); + } + function rerenderOptimistic(passthrough, reducer) { + var hook = updateWorkInProgressHook(); + if (null !== currentHook) + return updateOptimisticImpl(hook, currentHook, passthrough, reducer); + hook.baseState = passthrough; + return [passthrough, hook.queue.dispatch]; + } + function dispatchActionState(fiber, actionQueue, setPendingState, setState, payload) { + if (isRenderPhaseUpdate(fiber)) + throw Error("Cannot update form state while rendering."); + fiber = actionQueue.action; + if (null !== fiber) { + var actionNode = { + payload, + action: fiber, + next: null, + isTransition: true, + status: "pending", + value: null, + reason: null, + listeners: [], + then: function(listener) { + actionNode.listeners.push(listener); + } + }; + null !== ReactSharedInternals.T ? setPendingState(true) : actionNode.isTransition = false; + setState(actionNode); + setPendingState = actionQueue.pending; + null === setPendingState ? (actionNode.next = actionQueue.pending = actionNode, runActionStateAction(actionQueue, actionNode)) : (actionNode.next = setPendingState.next, actionQueue.pending = setPendingState.next = actionNode); + } + } + function runActionStateAction(actionQueue, node) { + var action = node.action, payload = node.payload, prevState = actionQueue.state; + if (node.isTransition) { + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + ReactSharedInternals.T._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = action(prevState, payload), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + handleActionReturnValue(actionQueue, node, returnValue); + } catch (error) { + onActionError(actionQueue, node, error); + } finally { + ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (actionQueue = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < actionQueue && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } else + try { + currentTransition = action(prevState, payload), handleActionReturnValue(actionQueue, node, currentTransition); + } catch (error$4) { + onActionError(actionQueue, node, error$4); + } + } + function handleActionReturnValue(actionQueue, node, returnValue) { + null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then ? (returnValue.then( + function(nextState) { + onActionSuccess(actionQueue, node, nextState); + }, + function(error) { + return onActionError(actionQueue, node, error); + } + ), node.isTransition || console.error( + "An async function with useActionState was called outside of a transition. This is likely not what you intended (for example, isPending will not update correctly). Either call the returned function inside startTransition, or pass it to an `action` or `formAction` prop." + )) : onActionSuccess(actionQueue, node, returnValue); + } + function onActionSuccess(actionQueue, actionNode, nextState) { + actionNode.status = "fulfilled"; + actionNode.value = nextState; + notifyActionListeners(actionNode); + actionQueue.state = nextState; + actionNode = actionQueue.pending; + null !== actionNode && (nextState = actionNode.next, nextState === actionNode ? actionQueue.pending = null : (nextState = nextState.next, actionNode.next = nextState, runActionStateAction(actionQueue, nextState))); + } + function onActionError(actionQueue, actionNode, error) { + var last = actionQueue.pending; + actionQueue.pending = null; + if (null !== last) { + last = last.next; + do + actionNode.status = "rejected", actionNode.reason = error, notifyActionListeners(actionNode), actionNode = actionNode.next; + while (actionNode !== last); + } + actionQueue.action = null; + } + function notifyActionListeners(actionNode) { + actionNode = actionNode.listeners; + for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])(); + } + function actionStateReducer(oldState, newState) { + return newState; + } + function mountActionState(action, initialStateProp) { + if (isHydrating) { + var ssrFormState = workInProgressRoot.formState; + if (null !== ssrFormState) { + a: { + var isMatching = currentlyRenderingFiber; + if (isHydrating) { + if (nextHydratableInstance) { + b: { + var markerInstance = nextHydratableInstance; + for (var inRootOrSingleton = rootOrSingletonContext; 8 !== markerInstance.nodeType; ) { + if (!inRootOrSingleton) { + markerInstance = null; + break b; + } + markerInstance = getNextHydratable( + markerInstance.nextSibling + ); + if (null === markerInstance) { + markerInstance = null; + break b; + } + } + inRootOrSingleton = markerInstance.data; + markerInstance = inRootOrSingleton === FORM_STATE_IS_MATCHING || inRootOrSingleton === FORM_STATE_IS_NOT_MATCHING ? markerInstance : null; + } + if (markerInstance) { + nextHydratableInstance = getNextHydratable( + markerInstance.nextSibling + ); + isMatching = markerInstance.data === FORM_STATE_IS_MATCHING; + break a; + } + } + throwOnHydrationMismatch(isMatching); + } + isMatching = false; + } + isMatching && (initialStateProp = ssrFormState[0]); + } + } + ssrFormState = mountWorkInProgressHook(); + ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp; + isMatching = { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: actionStateReducer, + lastRenderedState: initialStateProp + }; + ssrFormState.queue = isMatching; + ssrFormState = dispatchSetState.bind( + null, + currentlyRenderingFiber, + isMatching + ); + isMatching.dispatch = ssrFormState; + isMatching = mountStateImpl(false); + inRootOrSingleton = dispatchOptimisticSetState.bind( + null, + currentlyRenderingFiber, + false, + isMatching.queue + ); + isMatching = mountWorkInProgressHook(); + markerInstance = { + state: initialStateProp, + dispatch: null, + action, + pending: null + }; + isMatching.queue = markerInstance; + ssrFormState = dispatchActionState.bind( + null, + currentlyRenderingFiber, + markerInstance, + inRootOrSingleton, + ssrFormState + ); + markerInstance.dispatch = ssrFormState; + isMatching.memoizedState = action; + return [initialStateProp, ssrFormState, false]; + } + function updateActionState(action) { + var stateHook = updateWorkInProgressHook(); + return updateActionStateImpl(stateHook, currentHook, action); + } + function updateActionStateImpl(stateHook, currentStateHook, action) { + currentStateHook = updateReducerImpl( + stateHook, + currentStateHook, + actionStateReducer + )[0]; + stateHook = updateReducer(basicStateReducer)[0]; + if ("object" === typeof currentStateHook && null !== currentStateHook && "function" === typeof currentStateHook.then) + try { + var state = useThenable(currentStateHook); + } catch (x) { + if (x === SuspenseException) throw SuspenseActionException; + throw x; + } + else state = currentStateHook; + currentStateHook = updateWorkInProgressHook(); + var actionQueue = currentStateHook.queue, dispatch = actionQueue.dispatch; + action !== currentStateHook.memoizedState && (currentlyRenderingFiber.flags |= 2048, pushSimpleEffect( + HasEffect | Passive, + createEffectInstance(), + actionStateActionEffect.bind(null, actionQueue, action), + null + )); + return [state, dispatch, stateHook]; + } + function actionStateActionEffect(actionQueue, action) { + actionQueue.action = action; + } + function rerenderActionState(action) { + var stateHook = updateWorkInProgressHook(), currentStateHook = currentHook; + if (null !== currentStateHook) + return updateActionStateImpl(stateHook, currentStateHook, action); + updateWorkInProgressHook(); + stateHook = stateHook.memoizedState; + currentStateHook = updateWorkInProgressHook(); + var dispatch = currentStateHook.queue.dispatch; + currentStateHook.memoizedState = action; + return [stateHook, dispatch, false]; + } + function pushSimpleEffect(tag, inst, create, createDeps) { + tag = { + tag, + create, + deps: createDeps, + inst, + next: null + }; + inst = currentlyRenderingFiber.updateQueue; + null === inst && (inst = createFunctionComponentUpdateQueue(), currentlyRenderingFiber.updateQueue = inst); + create = inst.lastEffect; + null === create ? inst.lastEffect = tag.next = tag : (createDeps = create.next, create.next = tag, tag.next = createDeps, inst.lastEffect = tag); + return tag; + } + function createEffectInstance() { + return { destroy: void 0, resource: void 0 }; + } + function mountRef(initialValue) { + var hook = mountWorkInProgressHook(); + initialValue = { current: initialValue }; + return hook.memoizedState = initialValue; + } + function mountEffectImpl(fiberFlags, hookFlags, create, createDeps) { + var hook = mountWorkInProgressHook(); + createDeps = void 0 === createDeps ? null : createDeps; + currentlyRenderingFiber.flags |= fiberFlags; + hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + createEffectInstance(), + create, + createDeps + ); + } + function updateEffectImpl(fiberFlags, hookFlags, create, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var inst = hook.memoizedState.inst; + null !== currentHook && null !== deps && areHookInputsEqual(deps, currentHook.memoizedState.deps) ? hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps) : (currentlyRenderingFiber.flags |= fiberFlags, hook.memoizedState = pushSimpleEffect( + HasEffect | hookFlags, + inst, + create, + deps + )); + } + function mountEffect(create, createDeps) { + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode ? mountEffectImpl(276826112, Passive, create, createDeps) : mountEffectImpl(8390656, Passive, create, createDeps); + } + function mountLayoutEffect(create, deps) { + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + return mountEffectImpl(fiberFlags, Layout, create, deps); + } + function imperativeHandleEffect(create, ref) { + if ("function" === typeof ref) { + create = create(); + var refCleanup = ref(create); + return function() { + "function" === typeof refCleanup ? refCleanup() : ref(null); + }; + } + if (null !== ref && void 0 !== ref) + return ref.hasOwnProperty("current") || console.error( + "Expected useImperativeHandle() first argument to either be a ref callback or React.createRef() object. Instead received: %s.", + "an object with keys {" + Object.keys(ref).join(", ") + "}" + ), create = create(), ref.current = create, function() { + ref.current = null; + }; + } + function mountImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + var fiberFlags = 4194308; + (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode && (fiberFlags |= 134217728); + mountEffectImpl( + fiberFlags, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function updateImperativeHandle(ref, create, deps) { + "function" !== typeof create && console.error( + "Expected useImperativeHandle() second argument to be a function that creates a handle. Instead received: %s.", + null !== create ? typeof create : "null" + ); + deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null; + updateEffectImpl( + 4, + Layout, + imperativeHandleEffect.bind(null, create, ref), + deps + ); + } + function mountCallback(callback, deps) { + mountWorkInProgressHook().memoizedState = [ + callback, + void 0 === deps ? null : deps + ]; + return callback; + } + function updateCallback(callback, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + hook.memoizedState = [callback, deps]; + return callback; + } + function mountMemo(nextCreate, deps) { + var hook = mountWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var nextValue = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [nextValue, deps]; + return nextValue; + } + function updateMemo(nextCreate, deps) { + var hook = updateWorkInProgressHook(); + deps = void 0 === deps ? null : deps; + var prevState = hook.memoizedState; + if (null !== deps && areHookInputsEqual(deps, prevState[1])) + return prevState[0]; + prevState = nextCreate(); + if (shouldDoubleInvokeUserFnsInHooksDEV) { + setIsStrictModeForDevtools(true); + try { + nextCreate(); + } finally { + setIsStrictModeForDevtools(false); + } + } + hook.memoizedState = [prevState, deps]; + return prevState; + } + function mountDeferredValue(value, initialValue) { + var hook = mountWorkInProgressHook(); + return mountDeferredValueImpl(hook, value, initialValue); + } + function updateDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function rerenderDeferredValue(value, initialValue) { + var hook = updateWorkInProgressHook(); + return null === currentHook ? mountDeferredValueImpl(hook, value, initialValue) : updateDeferredValueImpl( + hook, + currentHook.memoizedState, + value, + initialValue + ); + } + function mountDeferredValueImpl(hook, value, initialValue) { + if (void 0 === initialValue || 0 !== (renderLanes & 1073741824)) + return hook.memoizedState = value; + hook.memoizedState = initialValue; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return initialValue; + } + function updateDeferredValueImpl(hook, prevValue, value, initialValue) { + if (objectIs(value, prevValue)) return value; + if (null !== currentTreeHiddenStackCursor.current) + return hook = mountDeferredValueImpl(hook, value, initialValue), objectIs(hook, prevValue) || (didReceiveUpdate = true), hook; + if (0 === (renderLanes & 42)) + return didReceiveUpdate = true, hook.memoizedState = value; + hook = requestDeferredLane(); + currentlyRenderingFiber.lanes |= hook; + workInProgressRootSkippedLanes |= hook; + return prevValue; + } + function startTransition(fiber, queue, pendingState, finishedState, callback) { + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = 0 !== previousPriority && previousPriority < ContinuousEventPriority ? previousPriority : ContinuousEventPriority; + var prevTransition = ReactSharedInternals.T, currentTransition = {}; + ReactSharedInternals.T = currentTransition; + dispatchOptimisticSetState(fiber, false, queue, pendingState); + currentTransition._updatedFibers = /* @__PURE__ */ new Set(); + try { + var returnValue = callback(), onStartTransitionFinish = ReactSharedInternals.S; + null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue); + if (null !== returnValue && "object" === typeof returnValue && "function" === typeof returnValue.then) { + var thenableForFinishedState = chainThenableValue( + returnValue, + finishedState + ); + dispatchSetStateInternal( + fiber, + queue, + thenableForFinishedState, + requestUpdateLane(fiber) + ); + } else + dispatchSetStateInternal( + fiber, + queue, + finishedState, + requestUpdateLane(fiber) + ); + } catch (error) { + dispatchSetStateInternal( + fiber, + queue, + { then: function() { + }, status: "rejected", reason: error }, + requestUpdateLane(fiber) + ); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition, null === prevTransition && currentTransition._updatedFibers && (fiber = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < fiber && console.warn( + "Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table." + )); + } + } + function startHostTransition(formFiber, pendingState, action, formData) { + if (5 !== formFiber.tag) + throw Error( + "Expected the form instance to be a HostComponent. This is a bug in React." + ); + var queue = ensureFormComponentIsStateful(formFiber).queue; + startTransition( + formFiber, + queue, + pendingState, + NotPendingTransition, + null === action ? noop$2 : function() { + requestFormReset$1(formFiber); + return action(formData); + } + ); + } + function ensureFormComponentIsStateful(formFiber) { + var existingStateHook = formFiber.memoizedState; + if (null !== existingStateHook) return existingStateHook; + existingStateHook = { + memoizedState: NotPendingTransition, + baseState: NotPendingTransition, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: NotPendingTransition + }, + next: null + }; + var initialResetState = {}; + existingStateHook.next = { + memoizedState: initialResetState, + baseState: initialResetState, + baseQueue: null, + queue: { + pending: null, + lanes: 0, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialResetState + }, + next: null + }; + formFiber.memoizedState = existingStateHook; + formFiber = formFiber.alternate; + null !== formFiber && (formFiber.memoizedState = existingStateHook); + return existingStateHook; + } + function requestFormReset$1(formFiber) { + null === ReactSharedInternals.T && console.error( + "requestFormReset was called outside a transition or action. To fix, move to an action, or wrap with startTransition." + ); + var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue; + dispatchSetStateInternal( + formFiber, + resetStateQueue, + {}, + requestUpdateLane(formFiber) + ); + } + function mountTransition() { + var stateHook = mountStateImpl(false); + stateHook = startTransition.bind( + null, + currentlyRenderingFiber, + stateHook.queue, + true, + false + ); + mountWorkInProgressHook().memoizedState = stateHook; + return [false, stateHook]; + } + function updateTransition() { + var booleanOrThenable = updateReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function rerenderTransition() { + var booleanOrThenable = rerenderReducer(basicStateReducer)[0], start = updateWorkInProgressHook().memoizedState; + return [ + "boolean" === typeof booleanOrThenable ? booleanOrThenable : useThenable(booleanOrThenable), + start + ]; + } + function useHostTransitionStatus() { + return readContext(HostTransitionContext); + } + function mountId() { + var hook = mountWorkInProgressHook(), identifierPrefix = workInProgressRoot.identifierPrefix; + if (isHydrating) { + var treeId = treeContextOverflow; + var idWithLeadingBit = treeContextId; + treeId = (idWithLeadingBit & ~(1 << 32 - clz32(idWithLeadingBit) - 1)).toString(32) + treeId; + identifierPrefix = "\xAB" + identifierPrefix + "R" + treeId; + treeId = localIdCounter++; + 0 < treeId && (identifierPrefix += "H" + treeId.toString(32)); + identifierPrefix += "\xBB"; + } else + treeId = globalClientIdCounter++, identifierPrefix = "\xAB" + identifierPrefix + "r" + treeId.toString(32) + "\xBB"; + return hook.memoizedState = identifierPrefix; + } + function mountRefresh() { + return mountWorkInProgressHook().memoizedState = refreshCache.bind( + null, + currentlyRenderingFiber + ); + } + function refreshCache(fiber, seedKey) { + for (var provider = fiber.return; null !== provider; ) { + switch (provider.tag) { + case 24: + case 3: + var lane = requestUpdateLane(provider); + fiber = createUpdate(lane); + var root2 = enqueueUpdate(provider, fiber, lane); + null !== root2 && (scheduleUpdateOnFiber(root2, provider, lane), entangleTransitions(root2, provider, lane)); + provider = createCache(); + null !== seedKey && void 0 !== seedKey && null !== root2 && console.error( + "The seed argument is not enabled outside experimental channels." + ); + fiber.payload = { cache: provider }; + return; + } + provider = provider.return; + } + } + function dispatchReducerAction(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + var update = { + lane: args, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + isRenderPhaseUpdate(fiber) ? enqueueRenderPhaseUpdate(queue, update) : (update = enqueueConcurrentHookUpdate(fiber, queue, update, args), null !== update && (scheduleUpdateOnFiber(update, fiber, args), entangleTransitionUpdate(update, queue, args))); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetState(fiber, queue, action) { + var args = arguments; + "function" === typeof args[3] && console.error( + "State updates from the useState() and useReducer() Hooks don't support the second callback argument. To execute a side effect after rendering, declare it in the component body with useEffect()." + ); + args = requestUpdateLane(fiber); + dispatchSetStateInternal(fiber, queue, action, args); + markStateUpdateScheduled(fiber, args); + } + function dispatchSetStateInternal(fiber, queue, action, lane) { + var update = { + lane, + revertLane: 0, + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update); + else { + var alternate = fiber.alternate; + if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + var currentState = queue.lastRenderedState, eagerState = alternate(currentState, action); + update.hasEagerState = true; + update.eagerState = eagerState; + if (objectIs(eagerState, currentState)) + return enqueueUpdate$1(fiber, queue, update, 0), null === workInProgressRoot && finishQueueingConcurrentUpdates(), false; + } catch (error) { + } finally { + ReactSharedInternals.H = prevDispatcher; + } + } + action = enqueueConcurrentHookUpdate(fiber, queue, update, lane); + if (null !== action) + return scheduleUpdateOnFiber(action, fiber, lane), entangleTransitionUpdate(action, queue, lane), true; + } + return false; + } + function dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) { + null === ReactSharedInternals.T && 0 === currentEntangledLane && console.error( + "An optimistic state update occurred outside a transition or action. To fix, move the update to an action, or wrap with startTransition." + ); + action = { + lane: 2, + revertLane: requestTransitionLane(), + action, + hasEagerState: false, + eagerState: null, + next: null + }; + if (isRenderPhaseUpdate(fiber)) { + if (throwIfDuringRender) + throw Error("Cannot update optimistic state while rendering."); + console.error("Cannot call startTransition while rendering."); + } else + throwIfDuringRender = enqueueConcurrentHookUpdate( + fiber, + queue, + action, + 2 + ), null !== throwIfDuringRender && scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2); + markStateUpdateScheduled(fiber, 2); + } + function isRenderPhaseUpdate(fiber) { + var alternate = fiber.alternate; + return fiber === currentlyRenderingFiber || null !== alternate && alternate === currentlyRenderingFiber; + } + function enqueueRenderPhaseUpdate(queue, update) { + didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true; + var pending = queue.pending; + null === pending ? update.next = update : (update.next = pending.next, pending.next = update); + queue.pending = update; + } + function entangleTransitionUpdate(root2, queue, lane) { + if (0 !== (lane & 4194048)) { + var queueLanes = queue.lanes; + queueLanes &= root2.pendingLanes; + lane |= queueLanes; + queue.lanes = lane; + markRootEntangled(root2, lane); + } + } + function pushDebugInfo(debugInfo) { + var previousDebugInfo = currentDebugInfo; + null != debugInfo && (currentDebugInfo = null === previousDebugInfo ? debugInfo : previousDebugInfo.concat(debugInfo)); + return previousDebugInfo; + } + function validateFragmentProps(element, fiber, returnFiber) { + for (var keys = Object.keys(element.props), i = 0; i < keys.length; i++) { + var key = keys[i]; + if ("children" !== key && "key" !== key) { + null === fiber && (fiber = createFiberFromElement(element, returnFiber.mode, 0), fiber._debugInfo = currentDebugInfo, fiber.return = returnFiber); + runWithFiberInDEV( + fiber, + function(erroredKey) { + console.error( + "Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", + erroredKey + ); + }, + key + ); + break; + } + } + } + function unwrapThenable(thenable) { + var index = thenableIndexCounter; + thenableIndexCounter += 1; + null === thenableState && (thenableState = createThenableState()); + return trackUsedThenable(thenableState, thenable, index); + } + function coerceRef(workInProgress2, element) { + element = element.props.ref; + workInProgress2.ref = void 0 !== element ? element : null; + } + function throwOnInvalidObjectType(returnFiber, newChild) { + if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) + throw Error( + 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the "react" package is used.\n- A library pre-bundled an old copy of "react" or "react/jsx-runtime".\n- A compiler tries to "inline" JSX instead of using the runtime.' + ); + returnFiber = Object.prototype.toString.call(newChild); + throw Error( + "Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead." + ); + } + function warnOnFunctionType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasFunctionTypeWarning[parentName] || (ownerHasFunctionTypeWarning[parentName] = true, invalidChild = invalidChild.displayName || invalidChild.name || "Component", 3 === returnFiber.tag ? console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n root.render(%s)", + invalidChild, + invalidChild, + invalidChild + ) : console.error( + "Functions are not valid as a React child. This may happen if you return %s instead of <%s /> from render. Or maybe you meant to call this function rather than return it.\n <%s>{%s}</%s>", + invalidChild, + invalidChild, + parentName, + invalidChild, + parentName + )); + } + function warnOnSymbolType(returnFiber, invalidChild) { + var parentName = getComponentNameFromFiber(returnFiber) || "Component"; + ownerHasSymbolTypeWarning[parentName] || (ownerHasSymbolTypeWarning[parentName] = true, invalidChild = String(invalidChild), 3 === returnFiber.tag ? console.error( + "Symbols are not valid as a React child.\n root.render(%s)", + invalidChild + ) : console.error( + "Symbols are not valid as a React child.\n <%s>%s</%s>", + parentName, + invalidChild, + parentName + )); + } + function createChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (shouldTrackSideEffects) { + var deletions = returnFiber.deletions; + null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete); + } + } + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) return null; + for (; null !== currentFirstChild; ) + deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return null; + } + function mapRemainingChildren(currentFirstChild) { + for (var existingChildren = /* @__PURE__ */ new Map(); null !== currentFirstChild; ) + null !== currentFirstChild.key ? existingChildren.set(currentFirstChild.key, currentFirstChild) : existingChildren.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling; + return existingChildren; + } + function useFiber(fiber, pendingProps) { + fiber = createWorkInProgress(fiber, pendingProps); + fiber.index = 0; + fiber.sibling = null; + return fiber; + } + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) + return newFiber.flags |= 1048576, lastPlacedIndex; + newIndex = newFiber.alternate; + if (null !== newIndex) + return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 67108866, lastPlacedIndex) : newIndex; + newFiber.flags |= 67108866; + return lastPlacedIndex; + } + function placeSingleChild(newFiber) { + shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 67108866); + return newFiber; + } + function updateTextNode(returnFiber, current2, textContent, lanes) { + if (null === current2 || 6 !== current2.tag) + return current2 = createFiberFromText( + textContent, + returnFiber.mode, + lanes + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, textContent); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateElement(returnFiber, current2, element, lanes) { + var elementType = element.type; + if (elementType === REACT_FRAGMENT_TYPE) + return current2 = updateFragment( + returnFiber, + current2, + element.props.children, + lanes, + element.key + ), validateFragmentProps(element, current2, returnFiber), current2; + if (null !== current2 && (current2.elementType === elementType || isCompatibleFamilyForHotReloading(current2, element) || "object" === typeof elementType && null !== elementType && elementType.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(elementType) === current2.type)) + return current2 = useFiber(current2, element.props), coerceRef(current2, element), current2.return = returnFiber, current2._debugOwner = element._owner, current2._debugInfo = currentDebugInfo, current2; + current2 = createFiberFromElement(element, returnFiber.mode, lanes); + coerceRef(current2, element); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updatePortal(returnFiber, current2, portal, lanes) { + if (null === current2 || 4 !== current2.tag || current2.stateNode.containerInfo !== portal.containerInfo || current2.stateNode.implementation !== portal.implementation) + return current2 = createFiberFromPortal(portal, returnFiber.mode, lanes), current2.return = returnFiber, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, portal.children || []); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function updateFragment(returnFiber, current2, fragment, lanes, key) { + if (null === current2 || 7 !== current2.tag) + return current2 = createFiberFromFragment( + fragment, + returnFiber.mode, + lanes, + key + ), current2.return = returnFiber, current2._debugOwner = returnFiber, current2._debugTask = returnFiber._debugTask, current2._debugInfo = currentDebugInfo, current2; + current2 = useFiber(current2, fragment); + current2.return = returnFiber; + current2._debugInfo = currentDebugInfo; + return current2; + } + function createChild(returnFiber, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return newChild = createFiberFromText( + "" + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugOwner = returnFiber, newChild._debugTask = returnFiber._debugTask, newChild._debugInfo = currentDebugInfo, newChild; + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + case REACT_PORTAL_TYPE: + return newChild = createFiberFromPortal( + newChild, + returnFiber.mode, + lanes + ), newChild.return = returnFiber, newChild._debugInfo = currentDebugInfo, newChild; + case REACT_LAZY_TYPE: + var _prevDebugInfo = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = createChild(returnFiber, newChild, lanes); + currentDebugInfo = _prevDebugInfo; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return lanes = createFiberFromFragment( + newChild, + returnFiber.mode, + lanes, + null + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, returnFiber = pushDebugInfo(newChild._debugInfo), lanes._debugInfo = currentDebugInfo, currentDebugInfo = returnFiber, lanes; + if ("function" === typeof newChild.then) + return _prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = createChild( + returnFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return createChild( + returnFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateSlot(returnFiber, oldFiber, newChild, lanes) { + var key = null !== oldFiber ? oldFiber.key : null; + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newChild.key === key ? (key = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber) : null; + case REACT_PORTAL_TYPE: + return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null; + case REACT_LAZY_TYPE: + return key = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = updateSlot( + returnFiber, + oldFiber, + newChild, + lanes + ), currentDebugInfo = key, returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) { + if (null !== key) return null; + key = pushDebugInfo(newChild._debugInfo); + returnFiber = updateFragment( + returnFiber, + oldFiber, + newChild, + lanes, + null + ); + currentDebugInfo = key; + return returnFiber; + } + if ("function" === typeof newChild.then) + return key = pushDebugInfo(newChild._debugInfo), returnFiber = updateSlot( + returnFiber, + oldFiber, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = key, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateSlot( + returnFiber, + oldFiber, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) { + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return newIdx = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateElement( + returnFiber, + newIdx, + newChild, + lanes + ), currentDebugInfo = existingChildren, returnFiber; + case REACT_PORTAL_TYPE: + return existingChildren = existingChildren.get( + null === newChild.key ? newIdx : newChild.key + ) || null, updatePortal(returnFiber, existingChildren, newChild, lanes); + case REACT_LAZY_TYPE: + var _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo); + newChild = callLazyInitInDEV(newChild); + returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + newChild, + lanes + ); + currentDebugInfo = _prevDebugInfo7; + return returnFiber; + } + if (isArrayImpl(newChild) || getIteratorFn(newChild)) + return newIdx = existingChildren.get(newIdx) || null, existingChildren = pushDebugInfo(newChild._debugInfo), returnFiber = updateFragment( + returnFiber, + newIdx, + newChild, + lanes, + null + ), currentDebugInfo = existingChildren, returnFiber; + if ("function" === typeof newChild.then) + return _prevDebugInfo7 = pushDebugInfo(newChild._debugInfo), returnFiber = updateFromMap( + existingChildren, + returnFiber, + newIdx, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = _prevDebugInfo7, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return updateFromMap( + existingChildren, + returnFiber, + newIdx, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return null; + } + function warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys) { + if ("object" !== typeof child || null === child) return knownKeys; + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(returnFiber, workInProgress2, child); + var key = child.key; + if ("string" !== typeof key) break; + if (null === knownKeys) { + knownKeys = /* @__PURE__ */ new Set(); + knownKeys.add(key); + break; + } + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + runWithFiberInDEV(workInProgress2, function() { + console.error( + "Encountered two children with the same key, `%s`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted \u2014 the behavior is unsupported and could change in a future version.", + key + ); + }); + break; + case REACT_LAZY_TYPE: + child = callLazyInitInDEV(child), warnOnInvalidKey(returnFiber, workInProgress2, child, knownKeys); + } + return knownKeys; + } + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) { + for (var knownKeys = null, resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot( + returnFiber, + oldFiber, + newChildren[newIdx], + lanes + ); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + newChildren[newIdx], + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (newIdx === newChildren.length) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; newIdx < newChildren.length; newIdx++) + oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + newChildren[newIdx], + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); newIdx < newChildren.length; newIdx++) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + newChildren[newIdx], + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + newChildren[newIdx], + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildren, lanes) { + if (null == newChildren) + throw Error("An iterable object provided no iterator."); + for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, knownKeys = null, step = newChildren.next(); null !== oldFiber && !step.done; newIdx++, step = newChildren.next()) { + oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling; + var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes); + if (null === newFiber) { + null === oldFiber && (oldFiber = nextOldFiber); + break; + } + knownKeys = warnOnInvalidKey( + returnFiber, + newFiber, + step.value, + knownKeys + ); + shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber); + currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx); + null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber; + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + if (step.done) + return deleteRemainingChildren(returnFiber, oldFiber), isHydrating && pushTreeFork(returnFiber, newIdx), resultingFirstChild; + if (null === oldFiber) { + for (; !step.done; newIdx++, step = newChildren.next()) + oldFiber = createChild(returnFiber, step.value, lanes), null !== oldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + oldFiber, + step.value, + knownKeys + ), currentFirstChild = placeChild( + oldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + for (oldFiber = mapRemainingChildren(oldFiber); !step.done; newIdx++, step = newChildren.next()) + nextOldFiber = updateFromMap( + oldFiber, + returnFiber, + newIdx, + step.value, + lanes + ), null !== nextOldFiber && (knownKeys = warnOnInvalidKey( + returnFiber, + nextOldFiber, + step.value, + knownKeys + ), shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete( + null === nextOldFiber.key ? newIdx : nextOldFiber.key + ), currentFirstChild = placeChild( + nextOldFiber, + currentFirstChild, + newIdx + ), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber); + shouldTrackSideEffects && oldFiber.forEach(function(child) { + return deleteChild(returnFiber, child); + }); + isHydrating && pushTreeFork(returnFiber, newIdx); + return resultingFirstChild; + } + function reconcileChildFibersImpl(returnFiber, currentFirstChild, newChild, lanes) { + "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key && (validateFragmentProps(newChild, null, returnFiber), newChild = newChild.props.children); + if ("object" === typeof newChild && null !== newChild) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + var prevDebugInfo = pushDebugInfo(newChild._debugInfo); + a: { + for (var key = newChild.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === key) { + key = newChild.type; + if (key === REACT_FRAGMENT_TYPE) { + if (7 === currentFirstChild.tag) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + newChild.props.children + ); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + validateFragmentProps(newChild, lanes, returnFiber); + returnFiber = lanes; + break a; + } + } else if (currentFirstChild.elementType === key || isCompatibleFamilyForHotReloading( + currentFirstChild, + newChild + ) || "object" === typeof key && null !== key && key.$$typeof === REACT_LAZY_TYPE && callLazyInitInDEV(key) === currentFirstChild.type) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber(currentFirstChild, newChild.props); + coerceRef(lanes, newChild); + lanes.return = returnFiber; + lanes._debugOwner = newChild._owner; + lanes._debugInfo = currentDebugInfo; + returnFiber = lanes; + break a; + } + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + newChild.type === REACT_FRAGMENT_TYPE ? (lanes = createFiberFromFragment( + newChild.props.children, + returnFiber.mode, + lanes, + newChild.key + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, validateFragmentProps(newChild, lanes, returnFiber), returnFiber = lanes) : (lanes = createFiberFromElement( + newChild, + returnFiber.mode, + lanes + ), coerceRef(lanes, newChild), lanes.return = returnFiber, lanes._debugInfo = currentDebugInfo, returnFiber = lanes); + } + returnFiber = placeSingleChild(returnFiber); + currentDebugInfo = prevDebugInfo; + return returnFiber; + case REACT_PORTAL_TYPE: + a: { + prevDebugInfo = newChild; + for (newChild = prevDebugInfo.key; null !== currentFirstChild; ) { + if (currentFirstChild.key === newChild) + if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === prevDebugInfo.containerInfo && currentFirstChild.stateNode.implementation === prevDebugInfo.implementation) { + deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ); + lanes = useFiber( + currentFirstChild, + prevDebugInfo.children || [] + ); + lanes.return = returnFiber; + returnFiber = lanes; + break a; + } else { + deleteRemainingChildren(returnFiber, currentFirstChild); + break; + } + else deleteChild(returnFiber, currentFirstChild); + currentFirstChild = currentFirstChild.sibling; + } + lanes = createFiberFromPortal( + prevDebugInfo, + returnFiber.mode, + lanes + ); + lanes.return = returnFiber; + returnFiber = lanes; + } + return placeSingleChild(returnFiber); + case REACT_LAZY_TYPE: + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), newChild = callLazyInitInDEV(newChild), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + } + if (isArrayImpl(newChild)) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildrenArray( + returnFiber, + currentFirstChild, + newChild, + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (getIteratorFn(newChild)) { + prevDebugInfo = pushDebugInfo(newChild._debugInfo); + key = getIteratorFn(newChild); + if ("function" !== typeof key) + throw Error( + "An object is not an iterable. This error is likely caused by a bug in React. Please file an issue." + ); + var newChildren = key.call(newChild); + if (newChildren === newChild) { + if (0 !== returnFiber.tag || "[object GeneratorFunction]" !== Object.prototype.toString.call(returnFiber.type) || "[object Generator]" !== Object.prototype.toString.call(newChildren)) + didWarnAboutGenerators || console.error( + "Using Iterators as children is unsupported and will likely yield unexpected results because enumerating a generator mutates it. You may convert it to an array with `Array.from()` or the `[...spread]` operator before rendering. You can also use an Iterable that can iterate multiple times over the same items." + ), didWarnAboutGenerators = true; + } else + newChild.entries !== key || didWarnAboutMaps || (console.error( + "Using Maps as children is not supported. Use an array of keyed ReactElements instead." + ), didWarnAboutMaps = true); + returnFiber = reconcileChildrenIterator( + returnFiber, + currentFirstChild, + newChildren, + lanes + ); + currentDebugInfo = prevDebugInfo; + return returnFiber; + } + if ("function" === typeof newChild.then) + return prevDebugInfo = pushDebugInfo(newChild._debugInfo), returnFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + unwrapThenable(newChild), + lanes + ), currentDebugInfo = prevDebugInfo, returnFiber; + if (newChild.$$typeof === REACT_CONTEXT_TYPE) + return reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + readContextDuringReconciliation(returnFiber, newChild), + lanes + ); + throwOnInvalidObjectType(returnFiber, newChild); + } + if ("string" === typeof newChild && "" !== newChild || "number" === typeof newChild || "bigint" === typeof newChild) + return prevDebugInfo = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren( + returnFiber, + currentFirstChild.sibling + ), lanes = useFiber(currentFirstChild, prevDebugInfo), lanes.return = returnFiber, returnFiber = lanes) : (deleteRemainingChildren(returnFiber, currentFirstChild), lanes = createFiberFromText( + prevDebugInfo, + returnFiber.mode, + lanes + ), lanes.return = returnFiber, lanes._debugOwner = returnFiber, lanes._debugTask = returnFiber._debugTask, lanes._debugInfo = currentDebugInfo, returnFiber = lanes), placeSingleChild(returnFiber); + "function" === typeof newChild && warnOnFunctionType(returnFiber, newChild); + "symbol" === typeof newChild && warnOnSymbolType(returnFiber, newChild); + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + return function(returnFiber, currentFirstChild, newChild, lanes) { + var prevDebugInfo = currentDebugInfo; + currentDebugInfo = null; + try { + thenableIndexCounter = 0; + var firstChildFiber = reconcileChildFibersImpl( + returnFiber, + currentFirstChild, + newChild, + lanes + ); + thenableState = null; + return firstChildFiber; + } catch (x) { + if (x === SuspenseException || x === SuspenseActionException) throw x; + var fiber = createFiber(29, x, null, returnFiber.mode); + fiber.lanes = lanes; + fiber.return = returnFiber; + var debugInfo = fiber._debugInfo = currentDebugInfo; + fiber._debugOwner = returnFiber._debugOwner; + fiber._debugTask = returnFiber._debugTask; + if (null != debugInfo) { + for (var i = debugInfo.length - 1; 0 <= i; i--) + if ("string" === typeof debugInfo[i].stack) { + fiber._debugOwner = debugInfo[i]; + fiber._debugTask = debugInfo[i].debugTask; + break; + } + } + return fiber; + } finally { + currentDebugInfo = prevDebugInfo; + } + }; + } + function pushPrimaryTreeSuspenseHandler(handler) { + var current2 = handler.alternate; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask, + handler + ); + push(suspenseHandlerStackCursor, handler, handler); + null === shellBoundary && (null === current2 || null !== currentTreeHiddenStackCursor.current ? shellBoundary = handler : null !== current2.memoizedState && (shellBoundary = handler)); + } + function pushOffscreenSuspenseHandler(fiber) { + if (22 === fiber.tag) { + if (push(suspenseStackCursor, suspenseStackCursor.current, fiber), push(suspenseHandlerStackCursor, fiber, fiber), null === shellBoundary) { + var current2 = fiber.alternate; + null !== current2 && null !== current2.memoizedState && (shellBoundary = fiber); + } + } else reuseSuspenseHandlerOnStack(fiber); + } + function reuseSuspenseHandlerOnStack(fiber) { + push(suspenseStackCursor, suspenseStackCursor.current, fiber); + push( + suspenseHandlerStackCursor, + suspenseHandlerStackCursor.current, + fiber + ); + } + function popSuspenseHandler(fiber) { + pop(suspenseHandlerStackCursor, fiber); + shellBoundary === fiber && (shellBoundary = null); + pop(suspenseStackCursor, fiber); + } + function findFirstSuspended(row) { + for (var node = row; null !== node; ) { + if (13 === node.tag) { + var state = node.memoizedState; + if (null !== state && (state = state.dehydrated, null === state || state.data === SUSPENSE_PENDING_START_DATA || isSuspenseInstanceFallback(state))) + return node; + } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) { + if (0 !== (node.flags & 128)) return node; + } else if (null !== node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === row) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === row) return null; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + return null; + } + function warnOnInvalidCallback(callback) { + if (null !== callback && "function" !== typeof callback) { + var key = String(callback); + didWarnOnInvalidCallback.has(key) || (didWarnOnInvalidCallback.add(key), console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + )); + } + } + function applyDerivedStateFromProps(workInProgress2, ctor, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress2.memoizedState, partialState = getDerivedStateFromProps(nextProps, prevState); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + partialState = getDerivedStateFromProps(nextProps, prevState); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === partialState && (ctor = getComponentNameFromType(ctor) || "Component", didWarnAboutUndefinedDerivedState.has(ctor) || (didWarnAboutUndefinedDerivedState.add(ctor), console.error( + "%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. You have returned undefined.", + ctor + ))); + prevState = null === partialState || void 0 === partialState ? prevState : assign({}, prevState, partialState); + workInProgress2.memoizedState = prevState; + 0 === workInProgress2.lanes && (workInProgress2.updateQueue.baseState = prevState); + } + function checkShouldComponentUpdate(workInProgress2, ctor, oldProps, newProps, oldState, newState, nextContext) { + var instance = workInProgress2.stateNode; + if ("function" === typeof instance.shouldComponentUpdate) { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + oldProps = instance.shouldComponentUpdate( + newProps, + newState, + nextContext + ); + } finally { + setIsStrictModeForDevtools(false); + } + } + void 0 === oldProps && console.error( + "%s.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.", + getComponentNameFromType(ctor) || "Component" + ); + return oldProps; + } + return ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true; + } + function callComponentWillReceiveProps(workInProgress2, instance, newProps, nextContext) { + var oldState = instance.state; + "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext); + "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); + instance.state !== oldState && (workInProgress2 = getComponentNameFromFiber(workInProgress2) || "Component", didWarnAboutStateAssignmentForComponent.has(workInProgress2) || (didWarnAboutStateAssignmentForComponent.add(workInProgress2), console.error( + "%s.componentWillReceiveProps(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + workInProgress2 + )), classComponentUpdater.enqueueReplaceState( + instance, + instance.state, + null + )); + } + function resolveClassComponentProps(Component, baseProps) { + var newProps = baseProps; + if ("ref" in baseProps) { + newProps = {}; + for (var propName in baseProps) + "ref" !== propName && (newProps[propName] = baseProps[propName]); + } + if (Component = Component.defaultProps) { + newProps === baseProps && (newProps = assign({}, newProps)); + for (var _propName in Component) + void 0 === newProps[_propName] && (newProps[_propName] = Component[_propName]); + } + return newProps; + } + function defaultOnUncaughtError(error) { + reportGlobalError(error); + console.warn( + "%s\n\n%s\n", + componentName ? "An error occurred in the <" + componentName + "> component." : "An error occurred in one of your React components.", + "Consider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries." + ); + } + function defaultOnCaughtError(error) { + var componentNameMessage = componentName ? "The above error occurred in the <" + componentName + "> component." : "The above error occurred in one of your React components.", recreateMessage = "React will try to recreate this component tree from scratch using the error boundary you provided, " + ((errorBoundaryName || "Anonymous") + "."); + if ("object" === typeof error && null !== error && "string" === typeof error.environmentName) { + var JSCompiler_inline_result = error.environmentName; + error = [ + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ].slice(0); + "string" === typeof error[0] ? error.splice( + 0, + 1, + badgeFormat + error[0], + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ) : error.splice( + 0, + 0, + badgeFormat, + badgeStyle, + pad + JSCompiler_inline_result + pad, + resetStyle + ); + error.unshift(console); + JSCompiler_inline_result = bind.apply(console.error, error); + JSCompiler_inline_result(); + } else + console.error( + "%o\n\n%s\n\n%s\n", + error, + componentNameMessage, + recreateMessage + ); + } + function defaultOnRecoverableError(error) { + reportGlobalError(error); + } + function logUncaughtError(root2, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = null; + var error = errorInfo.value; + if (null !== ReactSharedInternals.actQueue) + ReactSharedInternals.thrownErrors.push(error); + else { + var onUncaughtError = root2.onUncaughtError; + onUncaughtError(error, { componentStack: errorInfo.stack }); + } + } catch (e$5) { + setTimeout(function() { + throw e$5; + }); + } + } + function logCaughtError(root2, boundary, errorInfo) { + try { + componentName = errorInfo.source ? getComponentNameFromFiber(errorInfo.source) : null; + errorBoundaryName = getComponentNameFromFiber(boundary); + var onCaughtError = root2.onCaughtError; + onCaughtError(errorInfo.value, { + componentStack: errorInfo.stack, + errorBoundary: 1 === boundary.tag ? boundary.stateNode : null + }); + } catch (e$6) { + setTimeout(function() { + throw e$6; + }); + } + } + function createRootErrorUpdate(root2, errorInfo, lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + lane.payload = { element: null }; + lane.callback = function() { + runWithFiberInDEV(errorInfo.source, logUncaughtError, root2, errorInfo); + }; + return lane; + } + function createClassErrorUpdate(lane) { + lane = createUpdate(lane); + lane.tag = CaptureUpdate; + return lane; + } + function initializeClassErrorUpdate(update, root2, fiber, errorInfo) { + var getDerivedStateFromError = fiber.type.getDerivedStateFromError; + if ("function" === typeof getDerivedStateFromError) { + var error = errorInfo.value; + update.payload = function() { + return getDerivedStateFromError(error); + }; + update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + }; + } + var inst = fiber.stateNode; + null !== inst && "function" === typeof inst.componentDidCatch && (update.callback = function() { + markFailedErrorBoundaryForHotReloading(fiber); + runWithFiberInDEV( + errorInfo.source, + logCaughtError, + root2, + fiber, + errorInfo + ); + "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = /* @__PURE__ */ new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this)); + callComponentDidCatchInDEV(this, errorInfo); + "function" === typeof getDerivedStateFromError || 0 === (fiber.lanes & 2) && console.error( + "%s: Error boundaries should implement getDerivedStateFromError(). In that method, return a state update to display an error message or fallback UI.", + getComponentNameFromFiber(fiber) || "Unknown" + ); + }); + } + function throwException(root2, returnFiber, sourceFiber, value, rootRenderLanes) { + sourceFiber.flags |= 32768; + isDevToolsPresent && restorePendingUpdaters(root2, rootRenderLanes); + if (null !== value && "object" === typeof value && "function" === typeof value.then) { + returnFiber = sourceFiber.alternate; + null !== returnFiber && propagateParentContextChanges( + returnFiber, + sourceFiber, + rootRenderLanes, + true + ); + isHydrating && (didSuspendOrErrorDEV = true); + sourceFiber = suspenseHandlerStackCursor.current; + if (null !== sourceFiber) { + switch (sourceFiber.tag) { + case 13: + return null === shellBoundary ? renderDidSuspendDelayIfPossible() : null === sourceFiber.alternate && workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootSuspended), sourceFiber.flags &= -257, sourceFiber.flags |= 65536, sourceFiber.lanes = rootRenderLanes, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? sourceFiber.updateQueue = /* @__PURE__ */ new Set([value]) : returnFiber.add(value), attachPingListener(root2, value, rootRenderLanes)), false; + case 22: + return sourceFiber.flags |= 65536, value === noopSuspenseyCommitThenable ? sourceFiber.flags |= 16384 : (returnFiber = sourceFiber.updateQueue, null === returnFiber ? (returnFiber = { + transitions: null, + markerInstances: null, + retryQueue: /* @__PURE__ */ new Set([value]) + }, sourceFiber.updateQueue = returnFiber) : (sourceFiber = returnFiber.retryQueue, null === sourceFiber ? returnFiber.retryQueue = /* @__PURE__ */ new Set([value]) : sourceFiber.add(value)), attachPingListener(root2, value, rootRenderLanes)), false; + } + throw Error( + "Unexpected Suspense handler tag (" + sourceFiber.tag + "). This is a bug in React." + ); + } + attachPingListener(root2, value, rootRenderLanes); + renderDidSuspendDelayIfPossible(); + return false; + } + if (isHydrating) + return didSuspendOrErrorDEV = true, returnFiber = suspenseHandlerStackCursor.current, null !== returnFiber ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256), returnFiber.flags |= 65536, returnFiber.lanes = rootRenderLanes, value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering from the nearest Suspense boundary.", + { cause: value } + ), + sourceFiber + ) + )) : (value !== HydrationMismatchException && queueHydrationError( + createCapturedValueAtFiber( + Error( + "There was an error while hydrating but React was able to recover by instead client rendering the entire root.", + { cause: value } + ), + sourceFiber + ) + ), root2 = root2.current.alternate, root2.flags |= 65536, rootRenderLanes &= -rootRenderLanes, root2.lanes |= rootRenderLanes, value = createCapturedValueAtFiber(value, sourceFiber), rootRenderLanes = createRootErrorUpdate( + root2.stateNode, + value, + rootRenderLanes + ), enqueueCapturedUpdate(root2, rootRenderLanes), workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored)), false; + var error = createCapturedValueAtFiber( + Error( + "There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.", + { cause: value } + ), + sourceFiber + ); + null === workInProgressRootConcurrentErrors ? workInProgressRootConcurrentErrors = [error] : workInProgressRootConcurrentErrors.push(error); + workInProgressRootExitStatus !== RootSuspendedWithDelay && (workInProgressRootExitStatus = RootErrored); + if (null === returnFiber) return true; + value = createCapturedValueAtFiber(value, sourceFiber); + sourceFiber = returnFiber; + do { + switch (sourceFiber.tag) { + case 3: + return sourceFiber.flags |= 65536, root2 = rootRenderLanes & -rootRenderLanes, sourceFiber.lanes |= root2, root2 = createRootErrorUpdate( + sourceFiber.stateNode, + value, + root2 + ), enqueueCapturedUpdate(sourceFiber, root2), false; + case 1: + if (returnFiber = sourceFiber.type, error = sourceFiber.stateNode, 0 === (sourceFiber.flags & 128) && ("function" === typeof returnFiber.getDerivedStateFromError || null !== error && "function" === typeof error.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(error)))) + return sourceFiber.flags |= 65536, rootRenderLanes &= -rootRenderLanes, sourceFiber.lanes |= rootRenderLanes, rootRenderLanes = createClassErrorUpdate(rootRenderLanes), initializeClassErrorUpdate( + rootRenderLanes, + root2, + sourceFiber, + value + ), enqueueCapturedUpdate(sourceFiber, rootRenderLanes), false; + } + sourceFiber = sourceFiber.return; + } while (null !== sourceFiber); + return false; + } + function reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2) { + workInProgress2.child = null === current2 ? mountChildFibers(workInProgress2, null, nextChildren, renderLanes2) : reconcileChildFibers( + workInProgress2, + current2.child, + nextChildren, + renderLanes2 + ); + } + function updateForwardRef(current2, workInProgress2, Component, nextProps, renderLanes2) { + Component = Component.render; + var ref = workInProgress2.ref; + if ("ref" in nextProps) { + var propsWithoutRef = {}; + for (var key in nextProps) + "ref" !== key && (propsWithoutRef[key] = nextProps[key]); + } else propsWithoutRef = nextProps; + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + nextProps = renderWithHooks( + current2, + workInProgress2, + Component, + propsWithoutRef, + ref, + renderLanes2 + ); + key = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && key && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null === current2) { + var type = Component.type; + if ("function" === typeof type && !shouldConstruct(type) && void 0 === type.defaultProps && null === Component.compare) + return Component = resolveFunctionForHotReloading(type), workInProgress2.tag = 15, workInProgress2.type = Component, validateFunctionComponentInDev(workInProgress2, type), updateSimpleMemoComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + current2 = createFiberFromTypeAndProps( + Component.type, + null, + nextProps, + workInProgress2, + workInProgress2.mode, + renderLanes2 + ); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + type = current2.child; + if (!checkScheduledUpdateOrContext(current2, renderLanes2)) { + var prevProps = type.memoizedProps; + Component = Component.compare; + Component = null !== Component ? Component : shallowEqual; + if (Component(prevProps, nextProps) && current2.ref === workInProgress2.ref) + return bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + } + workInProgress2.flags |= 1; + current2 = createWorkInProgress(type, nextProps); + current2.ref = workInProgress2.ref; + current2.return = workInProgress2; + return workInProgress2.child = current2; + } + function updateSimpleMemoComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (null !== current2) { + var prevProps = current2.memoizedProps; + if (shallowEqual(prevProps, nextProps) && current2.ref === workInProgress2.ref && workInProgress2.type === current2.type) + if (didReceiveUpdate = false, workInProgress2.pendingProps = nextProps = prevProps, checkScheduledUpdateOrContext(current2, renderLanes2)) + 0 !== (current2.flags & 131072) && (didReceiveUpdate = true); + else + return workInProgress2.lanes = current2.lanes, bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + return updateFunctionComponent( + current2, + workInProgress2, + Component, + nextProps, + renderLanes2 + ); + } + function updateOffscreenComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, nextChildren = nextProps.children, prevState = null !== current2 ? current2.memoizedState : null; + if ("hidden" === nextProps.mode) { + if (0 !== (workInProgress2.flags & 128)) { + nextProps = null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2; + if (null !== current2) { + nextChildren = workInProgress2.child = current2.child; + for (prevState = 0; null !== nextChildren; ) + prevState = prevState | nextChildren.lanes | nextChildren.childLanes, nextChildren = nextChildren.sibling; + workInProgress2.childLanes = prevState & ~nextProps; + } else workInProgress2.childLanes = 0, workInProgress2.child = null; + return deferHiddenOffscreenComponent( + current2, + workInProgress2, + nextProps, + renderLanes2 + ); + } + if (0 !== (renderLanes2 & 536870912)) + workInProgress2.memoizedState = { baseLanes: 0, cachePool: null }, null !== current2 && pushTransition( + workInProgress2, + null !== prevState ? prevState.cachePool : null + ), null !== prevState ? pushHiddenContext(workInProgress2, prevState) : reuseHiddenContextOnStack(workInProgress2), pushOffscreenSuspenseHandler(workInProgress2); + else + return workInProgress2.lanes = workInProgress2.childLanes = 536870912, deferHiddenOffscreenComponent( + current2, + workInProgress2, + null !== prevState ? prevState.baseLanes | renderLanes2 : renderLanes2, + renderLanes2 + ); + } else + null !== prevState ? (pushTransition(workInProgress2, prevState.cachePool), pushHiddenContext(workInProgress2, prevState), reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.memoizedState = null) : (null !== current2 && pushTransition(workInProgress2, null), reuseHiddenContextOnStack(workInProgress2), reuseSuspenseHandlerOnStack(workInProgress2)); + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function deferHiddenOffscreenComponent(current2, workInProgress2, nextBaseLanes, renderLanes2) { + var JSCompiler_inline_result = peekCacheFromPool(); + JSCompiler_inline_result = null === JSCompiler_inline_result ? null : { + parent: CacheContext._currentValue, + pool: JSCompiler_inline_result + }; + workInProgress2.memoizedState = { + baseLanes: nextBaseLanes, + cachePool: JSCompiler_inline_result + }; + null !== current2 && pushTransition(workInProgress2, null); + reuseHiddenContextOnStack(workInProgress2); + pushOffscreenSuspenseHandler(workInProgress2); + null !== current2 && propagateParentContextChanges(current2, workInProgress2, renderLanes2, true); + return null; + } + function markRef(current2, workInProgress2) { + var ref = workInProgress2.ref; + if (null === ref) + null !== current2 && null !== current2.ref && (workInProgress2.flags |= 4194816); + else { + if ("function" !== typeof ref && "object" !== typeof ref) + throw Error( + "Expected ref to be a function, an object returned by React.createRef(), or undefined/null." + ); + if (null === current2 || current2.ref !== ref) + workInProgress2.flags |= 4194816; + } + } + function updateFunctionComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + if (Component.prototype && "function" === typeof Component.prototype.render) { + var componentName2 = getComponentNameFromType(Component) || "Unknown"; + didWarnAboutBadClass[componentName2] || (console.error( + "The <%s /> component appears to have a render method, but doesn't extend React.Component. This is likely to cause errors. Change %s to extend React.Component instead.", + componentName2, + componentName2 + ), didWarnAboutBadClass[componentName2] = true); + } + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + null + ); + null === current2 && (validateFunctionComponentInDev(workInProgress2, workInProgress2.type), Component.contextTypes && (componentName2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypes[componentName2] || (didWarnAboutContextTypes[componentName2] = true, console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with React.useContext() instead. (https://react.dev/link/legacy-context)", + componentName2 + )))); + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + Component = renderWithHooks( + current2, + workInProgress2, + Component, + nextProps, + void 0, + renderLanes2 + ); + nextProps = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && nextProps && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, Component, renderLanes2); + return workInProgress2.child; + } + function replayFunctionComponent(current2, workInProgress2, nextProps, Component, secondArg, renderLanes2) { + prepareToReadContext(workInProgress2); + markComponentRenderStarted(workInProgress2); + hookTypesUpdateIndexDev = -1; + ignorePreviousDependencies = null !== current2 && current2.type !== workInProgress2.type; + workInProgress2.updateQueue = null; + nextProps = renderWithHooksAgain( + workInProgress2, + Component, + nextProps, + secondArg + ); + finishRenderingHooks(current2, workInProgress2); + Component = checkDidRenderIdHook(); + markComponentRenderStopped(); + if (null !== current2 && !didReceiveUpdate) + return bailoutHooks(current2, workInProgress2, renderLanes2), bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + isHydrating && Component && pushMaterializedTreeId(workInProgress2); + workInProgress2.flags |= 1; + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + return workInProgress2.child; + } + function updateClassComponent(current2, workInProgress2, Component, nextProps, renderLanes2) { + switch (shouldErrorImpl(workInProgress2)) { + case false: + var _instance = workInProgress2.stateNode, state = new workInProgress2.type( + workInProgress2.memoizedProps, + _instance.context + ).state; + _instance.updater.enqueueSetState(_instance, state, null); + break; + case true: + workInProgress2.flags |= 128; + workInProgress2.flags |= 65536; + _instance = Error("Simulated error coming from DevTools"); + var lane = renderLanes2 & -renderLanes2; + workInProgress2.lanes |= lane; + state = workInProgressRoot; + if (null === state) + throw Error( + "Expected a work-in-progress root. This is a bug in React. Please file an issue." + ); + lane = createClassErrorUpdate(lane); + initializeClassErrorUpdate( + lane, + state, + workInProgress2, + createCapturedValueAtFiber(_instance, workInProgress2) + ); + enqueueCapturedUpdate(workInProgress2, lane); + } + prepareToReadContext(workInProgress2); + if (null === workInProgress2.stateNode) { + state = emptyContextObject; + _instance = Component.contextType; + "contextType" in Component && null !== _instance && (void 0 === _instance || _instance.$$typeof !== REACT_CONTEXT_TYPE) && !didWarnAboutInvalidateContextType.has(Component) && (didWarnAboutInvalidateContextType.add(Component), lane = void 0 === _instance ? " However, it is set to undefined. This can be caused by a typo or by mixing up named and default imports. This can also happen due to a circular dependency, so try moving the createContext() call to a separate file." : "object" !== typeof _instance ? " However, it is set to a " + typeof _instance + "." : _instance.$$typeof === REACT_CONSUMER_TYPE ? " Did you accidentally pass the Context.Consumer instead?" : " However, it is set to an object with keys {" + Object.keys(_instance).join(", ") + "}.", console.error( + "%s defines an invalid contextType. contextType should point to the Context object returned by React.createContext().%s", + getComponentNameFromType(Component) || "Component", + lane + )); + "object" === typeof _instance && null !== _instance && (state = readContext(_instance)); + _instance = new Component(nextProps, state); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + _instance = new Component(nextProps, state); + } finally { + setIsStrictModeForDevtools(false); + } + } + state = workInProgress2.memoizedState = null !== _instance.state && void 0 !== _instance.state ? _instance.state : null; + _instance.updater = classComponentUpdater; + workInProgress2.stateNode = _instance; + _instance._reactInternals = workInProgress2; + _instance._reactInternalInstance = fakeInternalInstance; + "function" === typeof Component.getDerivedStateFromProps && null === state && (state = getComponentNameFromType(Component) || "Component", didWarnAboutUninitializedState.has(state) || (didWarnAboutUninitializedState.add(state), console.error( + "`%s` uses `getDerivedStateFromProps` but its initial state is %s. This is not recommended. Instead, define the initial state by assigning an object to `this.state` in the constructor of `%s`. This ensures that `getDerivedStateFromProps` arguments have a consistent shape.", + state, + null === _instance.state ? "null" : "undefined", + state + ))); + if ("function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate) { + var foundWillUpdateName = lane = state = null; + "function" === typeof _instance.componentWillMount && true !== _instance.componentWillMount.__suppressDeprecationWarning ? state = "componentWillMount" : "function" === typeof _instance.UNSAFE_componentWillMount && (state = "UNSAFE_componentWillMount"); + "function" === typeof _instance.componentWillReceiveProps && true !== _instance.componentWillReceiveProps.__suppressDeprecationWarning ? lane = "componentWillReceiveProps" : "function" === typeof _instance.UNSAFE_componentWillReceiveProps && (lane = "UNSAFE_componentWillReceiveProps"); + "function" === typeof _instance.componentWillUpdate && true !== _instance.componentWillUpdate.__suppressDeprecationWarning ? foundWillUpdateName = "componentWillUpdate" : "function" === typeof _instance.UNSAFE_componentWillUpdate && (foundWillUpdateName = "UNSAFE_componentWillUpdate"); + if (null !== state || null !== lane || null !== foundWillUpdateName) { + _instance = getComponentNameFromType(Component) || "Component"; + var newApiName = "function" === typeof Component.getDerivedStateFromProps ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; + didWarnAboutLegacyLifecyclesAndDerivedState.has(_instance) || (didWarnAboutLegacyLifecyclesAndDerivedState.add(_instance), console.error( + "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://react.dev/link/unsafe-component-lifecycles", + _instance, + newApiName, + null !== state ? "\n " + state : "", + null !== lane ? "\n " + lane : "", + null !== foundWillUpdateName ? "\n " + foundWillUpdateName : "" + )); + } + } + _instance = workInProgress2.stateNode; + state = getComponentNameFromType(Component) || "Component"; + _instance.render || (Component.prototype && "function" === typeof Component.prototype.render ? console.error( + "No `render` method found on the %s instance: did you accidentally return an object from the constructor?", + state + ) : console.error( + "No `render` method found on the %s instance: you may have forgotten to define `render`.", + state + )); + !_instance.getInitialState || _instance.getInitialState.isReactClassApproved || _instance.state || console.error( + "getInitialState was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?", + state + ); + _instance.getDefaultProps && !_instance.getDefaultProps.isReactClassApproved && console.error( + "getDefaultProps was defined on %s, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.", + state + ); + _instance.contextType && console.error( + "contextType was defined as an instance property on %s. Use a static property to define contextType instead.", + state + ); + Component.childContextTypes && !didWarnAboutChildContextTypes.has(Component) && (didWarnAboutChildContextTypes.add(Component), console.error( + "%s uses the legacy childContextTypes API which was removed in React 19. Use React.createContext() instead. (https://react.dev/link/legacy-context)", + state + )); + Component.contextTypes && !didWarnAboutContextTypes$1.has(Component) && (didWarnAboutContextTypes$1.add(Component), console.error( + "%s uses the legacy contextTypes API which was removed in React 19. Use React.createContext() with static contextType instead. (https://react.dev/link/legacy-context)", + state + )); + "function" === typeof _instance.componentShouldUpdate && console.error( + "%s has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.", + state + ); + Component.prototype && Component.prototype.isPureReactComponent && "undefined" !== typeof _instance.shouldComponentUpdate && console.error( + "%s has a method called shouldComponentUpdate(). shouldComponentUpdate should not be used when extending React.PureComponent. Please extend React.Component if shouldComponentUpdate is used.", + getComponentNameFromType(Component) || "A pure component" + ); + "function" === typeof _instance.componentDidUnmount && console.error( + "%s has a method called componentDidUnmount(). But there is no such lifecycle method. Did you mean componentWillUnmount()?", + state + ); + "function" === typeof _instance.componentDidReceiveProps && console.error( + "%s has a method called componentDidReceiveProps(). But there is no such lifecycle method. If you meant to update the state in response to changing props, use componentWillReceiveProps(). If you meant to fetch data or run side-effects or mutations after React has updated the UI, use componentDidUpdate().", + state + ); + "function" === typeof _instance.componentWillRecieveProps && console.error( + "%s has a method called componentWillRecieveProps(). Did you mean componentWillReceiveProps()?", + state + ); + "function" === typeof _instance.UNSAFE_componentWillRecieveProps && console.error( + "%s has a method called UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?", + state + ); + lane = _instance.props !== nextProps; + void 0 !== _instance.props && lane && console.error( + "When calling super() in `%s`, make sure to pass up the same props that your component's constructor was passed.", + state + ); + _instance.defaultProps && console.error( + "Setting defaultProps as an instance property on %s is not supported and will be ignored. Instead, define defaultProps as a static property on %s.", + state, + state + ); + "function" !== typeof _instance.getSnapshotBeforeUpdate || "function" === typeof _instance.componentDidUpdate || didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(Component) || (didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(Component), console.error( + "%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). This component defines getSnapshotBeforeUpdate() only.", + getComponentNameFromType(Component) + )); + "function" === typeof _instance.getDerivedStateFromProps && console.error( + "%s: getDerivedStateFromProps() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof _instance.getDerivedStateFromError && console.error( + "%s: getDerivedStateFromError() is defined as an instance method and will be ignored. Instead, declare it as a static method.", + state + ); + "function" === typeof Component.getSnapshotBeforeUpdate && console.error( + "%s: getSnapshotBeforeUpdate() is defined as a static method and will be ignored. Instead, declare it as an instance method.", + state + ); + (lane = _instance.state) && ("object" !== typeof lane || isArrayImpl(lane)) && console.error("%s.state: must be set to an object or null", state); + "function" === typeof _instance.getChildContext && "object" !== typeof Component.childContextTypes && console.error( + "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", + state + ); + _instance = workInProgress2.stateNode; + _instance.props = nextProps; + _instance.state = workInProgress2.memoizedState; + _instance.refs = {}; + initializeUpdateQueue(workInProgress2); + state = Component.contextType; + _instance.context = "object" === typeof state && null !== state ? readContext(state) : emptyContextObject; + _instance.state === nextProps && (state = getComponentNameFromType(Component) || "Component", didWarnAboutDirectlyAssigningPropsToState.has(state) || (didWarnAboutDirectlyAssigningPropsToState.add(state), console.error( + "%s: It is not recommended to assign props directly to state because updates to props won't be reflected in state. In most cases, it is better to use props directly.", + state + ))); + workInProgress2.mode & StrictLegacyMode && ReactStrictModeWarnings.recordLegacyContextWarning( + workInProgress2, + _instance + ); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings( + workInProgress2, + _instance + ); + _instance.state = workInProgress2.memoizedState; + state = Component.getDerivedStateFromProps; + "function" === typeof state && (applyDerivedStateFromProps( + workInProgress2, + Component, + state, + nextProps + ), _instance.state = workInProgress2.memoizedState); + "function" === typeof Component.getDerivedStateFromProps || "function" === typeof _instance.getSnapshotBeforeUpdate || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || (state = _instance.state, "function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount(), state !== _instance.state && (console.error( + "%s.componentWillMount(): Assigning directly to this.state is deprecated (except inside a component's constructor). Use setState instead.", + getComponentNameFromFiber(workInProgress2) || "Component" + ), classComponentUpdater.enqueueReplaceState( + _instance, + _instance.state, + null + )), processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction(), _instance.state = workInProgress2.memoizedState); + "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308); + (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728); + _instance = true; + } else if (null === current2) { + _instance = workInProgress2.stateNode; + var unresolvedOldProps = workInProgress2.memoizedProps; + lane = resolveClassComponentProps(Component, unresolvedOldProps); + _instance.props = lane; + var oldContext = _instance.context; + foundWillUpdateName = Component.contextType; + state = emptyContextObject; + "object" === typeof foundWillUpdateName && null !== foundWillUpdateName && (state = readContext(foundWillUpdateName)); + newApiName = Component.getDerivedStateFromProps; + foundWillUpdateName = "function" === typeof newApiName || "function" === typeof _instance.getSnapshotBeforeUpdate; + unresolvedOldProps = workInProgress2.pendingProps !== unresolvedOldProps; + foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (unresolvedOldProps || oldContext !== state) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + state + ); + hasForceUpdate = false; + var oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + oldContext = workInProgress2.memoizedState; + unresolvedOldProps || oldState !== oldContext || hasForceUpdate ? ("function" === typeof newApiName && (applyDerivedStateFromProps( + workInProgress2, + Component, + newApiName, + nextProps + ), oldContext = workInProgress2.memoizedState), (lane = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + lane, + nextProps, + oldState, + oldContext, + state + )) ? (foundWillUpdateName || "function" !== typeof _instance.UNSAFE_componentWillMount && "function" !== typeof _instance.componentWillMount || ("function" === typeof _instance.componentWillMount && _instance.componentWillMount(), "function" === typeof _instance.UNSAFE_componentWillMount && _instance.UNSAFE_componentWillMount()), "function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728)) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = oldContext), _instance.props = nextProps, _instance.state = oldContext, _instance.context = state, _instance = lane) : ("function" === typeof _instance.componentDidMount && (workInProgress2.flags |= 4194308), (workInProgress2.mode & StrictEffectsMode) !== NoMode && (workInProgress2.flags |= 134217728), _instance = false); + } else { + _instance = workInProgress2.stateNode; + cloneUpdateQueue(current2, workInProgress2); + state = workInProgress2.memoizedProps; + foundWillUpdateName = resolveClassComponentProps(Component, state); + _instance.props = foundWillUpdateName; + newApiName = workInProgress2.pendingProps; + oldState = _instance.context; + oldContext = Component.contextType; + lane = emptyContextObject; + "object" === typeof oldContext && null !== oldContext && (lane = readContext(oldContext)); + unresolvedOldProps = Component.getDerivedStateFromProps; + (oldContext = "function" === typeof unresolvedOldProps || "function" === typeof _instance.getSnapshotBeforeUpdate) || "function" !== typeof _instance.UNSAFE_componentWillReceiveProps && "function" !== typeof _instance.componentWillReceiveProps || (state !== newApiName || oldState !== lane) && callComponentWillReceiveProps( + workInProgress2, + _instance, + nextProps, + lane + ); + hasForceUpdate = false; + oldState = workInProgress2.memoizedState; + _instance.state = oldState; + processUpdateQueue(workInProgress2, nextProps, _instance, renderLanes2); + suspendIfUpdateReadFromEntangledAsyncAction(); + var newState = workInProgress2.memoizedState; + state !== newApiName || oldState !== newState || hasForceUpdate || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies) ? ("function" === typeof unresolvedOldProps && (applyDerivedStateFromProps( + workInProgress2, + Component, + unresolvedOldProps, + nextProps + ), newState = workInProgress2.memoizedState), (foundWillUpdateName = hasForceUpdate || checkShouldComponentUpdate( + workInProgress2, + Component, + foundWillUpdateName, + nextProps, + oldState, + newState, + lane + ) || null !== current2 && null !== current2.dependencies && checkIfContextChanged(current2.dependencies)) ? (oldContext || "function" !== typeof _instance.UNSAFE_componentWillUpdate && "function" !== typeof _instance.componentWillUpdate || ("function" === typeof _instance.componentWillUpdate && _instance.componentWillUpdate(nextProps, newState, lane), "function" === typeof _instance.UNSAFE_componentWillUpdate && _instance.UNSAFE_componentWillUpdate( + nextProps, + newState, + lane + )), "function" === typeof _instance.componentDidUpdate && (workInProgress2.flags |= 4), "function" === typeof _instance.getSnapshotBeforeUpdate && (workInProgress2.flags |= 1024)) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), workInProgress2.memoizedProps = nextProps, workInProgress2.memoizedState = newState), _instance.props = nextProps, _instance.state = newState, _instance.context = lane, _instance = foundWillUpdateName) : ("function" !== typeof _instance.componentDidUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 4), "function" !== typeof _instance.getSnapshotBeforeUpdate || state === current2.memoizedProps && oldState === current2.memoizedState || (workInProgress2.flags |= 1024), _instance = false); + } + lane = _instance; + markRef(current2, workInProgress2); + state = 0 !== (workInProgress2.flags & 128); + if (lane || state) { + lane = workInProgress2.stateNode; + setCurrentFiber(workInProgress2); + if (state && "function" !== typeof Component.getDerivedStateFromError) + Component = null, profilerStartTime = -1; + else { + markComponentRenderStarted(workInProgress2); + Component = callRenderInDEV(lane); + if (workInProgress2.mode & StrictLegacyMode) { + setIsStrictModeForDevtools(true); + try { + callRenderInDEV(lane); + } finally { + setIsStrictModeForDevtools(false); + } + } + markComponentRenderStopped(); + } + workInProgress2.flags |= 1; + null !== current2 && state ? (workInProgress2.child = reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + Component, + renderLanes2 + )) : reconcileChildren(current2, workInProgress2, Component, renderLanes2); + workInProgress2.memoizedState = lane.state; + current2 = workInProgress2.child; + } else + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + renderLanes2 = workInProgress2.stateNode; + _instance && renderLanes2.props !== nextProps && (didWarnAboutReassigningProps || console.error( + "It looks like %s is reassigning its own `this.props` while rendering. This is not supported and can lead to confusing bugs.", + getComponentNameFromFiber(workInProgress2) || "a component" + ), didWarnAboutReassigningProps = true); + return current2; + } + function mountHostRootWithoutHydrating(current2, workInProgress2, nextChildren, renderLanes2) { + resetHydrationState(); + workInProgress2.flags |= 256; + reconcileChildren(current2, workInProgress2, nextChildren, renderLanes2); + return workInProgress2.child; + } + function validateFunctionComponentInDev(workInProgress2, Component) { + Component && Component.childContextTypes && console.error( + "childContextTypes cannot be defined on a function component.\n %s.childContextTypes = ...", + Component.displayName || Component.name || "Component" + ); + "function" === typeof Component.getDerivedStateFromProps && (workInProgress2 = getComponentNameFromType(Component) || "Unknown", didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] || (console.error( + "%s: Function components do not support getDerivedStateFromProps.", + workInProgress2 + ), didWarnAboutGetDerivedStateOnFunctionComponent[workInProgress2] = true)); + "object" === typeof Component.contextType && null !== Component.contextType && (Component = getComponentNameFromType(Component) || "Unknown", didWarnAboutContextTypeOnFunctionComponent[Component] || (console.error( + "%s: Function components do not support contextType.", + Component + ), didWarnAboutContextTypeOnFunctionComponent[Component] = true)); + } + function mountSuspenseOffscreenState(renderLanes2) { + return { baseLanes: renderLanes2, cachePool: getSuspendedCache() }; + } + function getRemainingWorkInPrimaryTree(current2, primaryTreeDidDefer, renderLanes2) { + current2 = null !== current2 ? current2.childLanes & ~renderLanes2 : 0; + primaryTreeDidDefer && (current2 |= workInProgressDeferredLane); + return current2; + } + function updateSuspenseComponent(current2, workInProgress2, renderLanes2) { + var JSCompiler_object_inline_digest_2451; + var JSCompiler_object_inline_stack_2452 = workInProgress2.pendingProps; + shouldSuspendImpl(workInProgress2) && (workInProgress2.flags |= 128); + var JSCompiler_object_inline_componentStack_2453 = false; + var didSuspend = 0 !== (workInProgress2.flags & 128); + (JSCompiler_object_inline_digest_2451 = didSuspend) || (JSCompiler_object_inline_digest_2451 = null !== current2 && null === current2.memoizedState ? false : 0 !== (suspenseStackCursor.current & ForceSuspenseFallback)); + JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_componentStack_2453 = true, workInProgress2.flags &= -129); + JSCompiler_object_inline_digest_2451 = 0 !== (workInProgress2.flags & 32); + workInProgress2.flags &= -33; + if (null === current2) { + if (isHydrating) { + JSCompiler_object_inline_componentStack_2453 ? pushPrimaryTreeSuspenseHandler(workInProgress2) : reuseSuspenseHandlerOnStack(workInProgress2); + if (isHydrating) { + var JSCompiler_object_inline_message_2450 = nextHydratableInstance; + var JSCompiler_temp; + if (!(JSCompiler_temp = !JSCompiler_object_inline_message_2450)) { + c: { + var instance = JSCompiler_object_inline_message_2450; + for (JSCompiler_temp = rootOrSingletonContext; 8 !== instance.nodeType; ) { + if (!JSCompiler_temp) { + JSCompiler_temp = null; + break c; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) { + JSCompiler_temp = null; + break c; + } + } + JSCompiler_temp = instance; + } + null !== JSCompiler_temp ? (warnIfNotHydrating(), workInProgress2.memoizedState = { + dehydrated: JSCompiler_temp, + treeContext: null !== treeContextProvider ? { id: treeContextId, overflow: treeContextOverflow } : null, + retryLane: 536870912, + hydrationErrors: null + }, instance = createFiber(18, null, null, NoMode), instance.stateNode = JSCompiler_temp, instance.return = workInProgress2, workInProgress2.child = instance, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, JSCompiler_temp = true) : JSCompiler_temp = false; + JSCompiler_temp = !JSCompiler_temp; + } + JSCompiler_temp && (warnNonHydratedInstance( + workInProgress2, + JSCompiler_object_inline_message_2450 + ), throwOnHydrationMismatch(workInProgress2)); + } + JSCompiler_object_inline_message_2450 = workInProgress2.memoizedState; + if (null !== JSCompiler_object_inline_message_2450 && (JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_message_2450.dehydrated, null !== JSCompiler_object_inline_message_2450)) + return isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450) ? workInProgress2.lanes = 32 : workInProgress2.lanes = 536870912, null; + popSuspenseHandler(workInProgress2); + } + JSCompiler_object_inline_message_2450 = JSCompiler_object_inline_stack_2452.children; + JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_stack_2452.fallback; + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = workInProgress2.mode, JSCompiler_object_inline_message_2450 = mountWorkInProgressOffscreenFiber( + { + mode: "hidden", + children: JSCompiler_object_inline_message_2450 + }, + JSCompiler_object_inline_componentStack_2453 + ), JSCompiler_object_inline_stack_2452 = createFiberFromFragment( + JSCompiler_object_inline_stack_2452, + JSCompiler_object_inline_componentStack_2453, + renderLanes2, + null + ), JSCompiler_object_inline_message_2450.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_message_2450.sibling = JSCompiler_object_inline_stack_2452, workInProgress2.child = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_componentStack_2453.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + return mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_message_2450 + ); + } + var prevState = current2.memoizedState; + if (null !== prevState && (JSCompiler_object_inline_message_2450 = prevState.dehydrated, null !== JSCompiler_object_inline_message_2450)) { + if (didSuspend) + workInProgress2.flags & 256 ? (pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags &= -257, workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + )) : null !== workInProgress2.memoizedState ? (reuseSuspenseHandlerOnStack(workInProgress2), workInProgress2.child = current2.child, workInProgress2.flags |= 128, workInProgress2 = null) : (reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_object_inline_stack_2452 = mountWorkInProgressOffscreenFiber( + { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }, + JSCompiler_object_inline_message_2450 + ), JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, reconcileChildFibers( + workInProgress2, + current2.child, + null, + renderLanes2 + ), JSCompiler_object_inline_stack_2452 = workInProgress2.child, JSCompiler_object_inline_stack_2452.memoizedState = mountSuspenseOffscreenState(renderLanes2), JSCompiler_object_inline_stack_2452.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, workInProgress2 = JSCompiler_object_inline_componentStack_2453); + else if (pushPrimaryTreeSuspenseHandler(workInProgress2), isHydrating && console.error( + "We should not be hydrating here. This is a bug in React. Please file a bug." + ), isSuspenseInstanceFallback(JSCompiler_object_inline_message_2450)) { + JSCompiler_object_inline_digest_2451 = JSCompiler_object_inline_message_2450.nextSibling && JSCompiler_object_inline_message_2450.nextSibling.dataset; + if (JSCompiler_object_inline_digest_2451) { + JSCompiler_temp = JSCompiler_object_inline_digest_2451.dgst; + var message = JSCompiler_object_inline_digest_2451.msg; + instance = JSCompiler_object_inline_digest_2451.stck; + var componentStack = JSCompiler_object_inline_digest_2451.cstck; + } + JSCompiler_object_inline_message_2450 = message; + JSCompiler_object_inline_digest_2451 = JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = instance; + JSCompiler_temp = JSCompiler_object_inline_componentStack_2453 = componentStack; + JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_message_2450 ? Error(JSCompiler_object_inline_message_2450) : Error( + "The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering." + ); + JSCompiler_object_inline_componentStack_2453.stack = JSCompiler_object_inline_stack_2452 || ""; + JSCompiler_object_inline_componentStack_2453.digest = JSCompiler_object_inline_digest_2451; + JSCompiler_object_inline_digest_2451 = void 0 === JSCompiler_temp ? null : JSCompiler_temp; + JSCompiler_object_inline_stack_2452 = { + value: JSCompiler_object_inline_componentStack_2453, + source: null, + stack: JSCompiler_object_inline_digest_2451 + }; + "string" === typeof JSCompiler_object_inline_digest_2451 && CapturedStacks.set( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_stack_2452 + ); + queueHydrationError(JSCompiler_object_inline_stack_2452); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else if (didReceiveUpdate || propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), JSCompiler_object_inline_digest_2451 = 0 !== (renderLanes2 & current2.childLanes), didReceiveUpdate || JSCompiler_object_inline_digest_2451) { + JSCompiler_object_inline_digest_2451 = workInProgressRoot; + if (null !== JSCompiler_object_inline_digest_2451 && (JSCompiler_object_inline_stack_2452 = renderLanes2 & -renderLanes2, JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & 42) ? 1 : getBumpedLaneForHydrationByLane( + JSCompiler_object_inline_stack_2452 + ), JSCompiler_object_inline_stack_2452 = 0 !== (JSCompiler_object_inline_stack_2452 & (JSCompiler_object_inline_digest_2451.suspendedLanes | renderLanes2)) ? 0 : JSCompiler_object_inline_stack_2452, 0 !== JSCompiler_object_inline_stack_2452 && JSCompiler_object_inline_stack_2452 !== prevState.retryLane)) + throw prevState.retryLane = JSCompiler_object_inline_stack_2452, enqueueConcurrentRenderForLane( + current2, + JSCompiler_object_inline_stack_2452 + ), scheduleUpdateOnFiber( + JSCompiler_object_inline_digest_2451, + current2, + JSCompiler_object_inline_stack_2452 + ), SelectiveHydrationException; + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA || renderDidSuspendDelayIfPossible(); + workInProgress2 = retrySuspenseComponentWithoutHydrating( + current2, + workInProgress2, + renderLanes2 + ); + } else + JSCompiler_object_inline_message_2450.data === SUSPENSE_PENDING_START_DATA ? (workInProgress2.flags |= 192, workInProgress2.child = current2.child, workInProgress2 = null) : (current2 = prevState.treeContext, nextHydratableInstance = getNextHydratable( + JSCompiler_object_inline_message_2450.nextSibling + ), hydrationParentFiber = workInProgress2, isHydrating = true, hydrationErrors = null, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, rootOrSingletonContext = false, null !== current2 && (warnIfNotHydrating(), idStack[idStackIndex++] = treeContextId, idStack[idStackIndex++] = treeContextOverflow, idStack[idStackIndex++] = treeContextProvider, treeContextId = current2.id, treeContextOverflow = current2.overflow, treeContextProvider = workInProgress2), workInProgress2 = mountSuspensePrimaryChildren( + workInProgress2, + JSCompiler_object_inline_stack_2452.children + ), workInProgress2.flags |= 4096); + return workInProgress2; + } + if (JSCompiler_object_inline_componentStack_2453) + return reuseSuspenseHandlerOnStack(workInProgress2), JSCompiler_object_inline_componentStack_2453 = JSCompiler_object_inline_stack_2452.fallback, JSCompiler_object_inline_message_2450 = workInProgress2.mode, JSCompiler_temp = current2.child, instance = JSCompiler_temp.sibling, JSCompiler_object_inline_stack_2452 = createWorkInProgress( + JSCompiler_temp, + { + mode: "hidden", + children: JSCompiler_object_inline_stack_2452.children + } + ), JSCompiler_object_inline_stack_2452.subtreeFlags = JSCompiler_temp.subtreeFlags & 65011712, null !== instance ? JSCompiler_object_inline_componentStack_2453 = createWorkInProgress( + instance, + JSCompiler_object_inline_componentStack_2453 + ) : (JSCompiler_object_inline_componentStack_2453 = createFiberFromFragment( + JSCompiler_object_inline_componentStack_2453, + JSCompiler_object_inline_message_2450, + renderLanes2, + null + ), JSCompiler_object_inline_componentStack_2453.flags |= 2), JSCompiler_object_inline_componentStack_2453.return = workInProgress2, JSCompiler_object_inline_stack_2452.return = workInProgress2, JSCompiler_object_inline_stack_2452.sibling = JSCompiler_object_inline_componentStack_2453, workInProgress2.child = JSCompiler_object_inline_stack_2452, JSCompiler_object_inline_stack_2452 = JSCompiler_object_inline_componentStack_2453, JSCompiler_object_inline_componentStack_2453 = workInProgress2.child, JSCompiler_object_inline_message_2450 = current2.child.memoizedState, null === JSCompiler_object_inline_message_2450 ? JSCompiler_object_inline_message_2450 = mountSuspenseOffscreenState(renderLanes2) : (JSCompiler_temp = JSCompiler_object_inline_message_2450.cachePool, null !== JSCompiler_temp ? (instance = CacheContext._currentValue, JSCompiler_temp = JSCompiler_temp.parent !== instance ? { parent: instance, pool: instance } : JSCompiler_temp) : JSCompiler_temp = getSuspendedCache(), JSCompiler_object_inline_message_2450 = { + baseLanes: JSCompiler_object_inline_message_2450.baseLanes | renderLanes2, + cachePool: JSCompiler_temp + }), JSCompiler_object_inline_componentStack_2453.memoizedState = JSCompiler_object_inline_message_2450, JSCompiler_object_inline_componentStack_2453.childLanes = getRemainingWorkInPrimaryTree( + current2, + JSCompiler_object_inline_digest_2451, + renderLanes2 + ), workInProgress2.memoizedState = SUSPENDED_MARKER, JSCompiler_object_inline_stack_2452; + pushPrimaryTreeSuspenseHandler(workInProgress2); + renderLanes2 = current2.child; + current2 = renderLanes2.sibling; + renderLanes2 = createWorkInProgress(renderLanes2, { + mode: "visible", + children: JSCompiler_object_inline_stack_2452.children + }); + renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + null !== current2 && (JSCompiler_object_inline_digest_2451 = workInProgress2.deletions, null === JSCompiler_object_inline_digest_2451 ? (workInProgress2.deletions = [current2], workInProgress2.flags |= 16) : JSCompiler_object_inline_digest_2451.push(current2)); + workInProgress2.child = renderLanes2; + workInProgress2.memoizedState = null; + return renderLanes2; + } + function mountSuspensePrimaryChildren(workInProgress2, primaryChildren) { + primaryChildren = mountWorkInProgressOffscreenFiber( + { mode: "visible", children: primaryChildren }, + workInProgress2.mode + ); + primaryChildren.return = workInProgress2; + return workInProgress2.child = primaryChildren; + } + function mountWorkInProgressOffscreenFiber(offscreenProps, mode) { + offscreenProps = createFiber(22, offscreenProps, null, mode); + offscreenProps.lanes = 0; + offscreenProps.stateNode = { + _visibility: OffscreenVisible, + _pendingMarkers: null, + _retryCache: null, + _transitions: null + }; + return offscreenProps; + } + function retrySuspenseComponentWithoutHydrating(current2, workInProgress2, renderLanes2) { + reconcileChildFibers(workInProgress2, current2.child, null, renderLanes2); + current2 = mountSuspensePrimaryChildren( + workInProgress2, + workInProgress2.pendingProps.children + ); + current2.flags |= 2; + workInProgress2.memoizedState = null; + return current2; + } + function scheduleSuspenseWorkOnFiber(fiber, renderLanes2, propagationRoot) { + fiber.lanes |= renderLanes2; + var alternate = fiber.alternate; + null !== alternate && (alternate.lanes |= renderLanes2); + scheduleContextWorkOnParentPath( + fiber.return, + renderLanes2, + propagationRoot + ); + } + function validateSuspenseListNestedChild(childSlot, index) { + var isAnArray = isArrayImpl(childSlot); + childSlot = !isAnArray && "function" === typeof getIteratorFn(childSlot); + return isAnArray || childSlot ? (isAnArray = isAnArray ? "array" : "iterable", console.error( + "A nested %s was passed to row #%s in <SuspenseList />. Wrap it in an additional SuspenseList to configure its revealOrder: <SuspenseList revealOrder=...> ... <SuspenseList revealOrder=...>{%s}</SuspenseList> ... </SuspenseList>", + isAnArray, + index, + isAnArray + ), false) : true; + } + function initSuspenseListRenderState(workInProgress2, isBackwards, tail, lastContentRow, tailMode) { + var renderState = workInProgress2.memoizedState; + null === renderState ? workInProgress2.memoizedState = { + isBackwards, + rendering: null, + renderingStartTime: 0, + last: lastContentRow, + tail, + tailMode + } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode); + } + function updateSuspenseListComponent(current2, workInProgress2, renderLanes2) { + var nextProps = workInProgress2.pendingProps, revealOrder = nextProps.revealOrder, tailMode = nextProps.tail; + nextProps = nextProps.children; + if (void 0 !== revealOrder && "forwards" !== revealOrder && "backwards" !== revealOrder && "together" !== revealOrder && !didWarnAboutRevealOrder[revealOrder]) + if (didWarnAboutRevealOrder[revealOrder] = true, "string" === typeof revealOrder) + switch (revealOrder.toLowerCase()) { + case "together": + case "forwards": + case "backwards": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. Use lowercase "%s" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + case "forward": + case "backward": + console.error( + '"%s" is not a valid value for revealOrder on <SuspenseList />. React uses the -s suffix in the spelling. Use "%ss" instead.', + revealOrder, + revealOrder.toLowerCase() + ); + break; + default: + console.error( + '"%s" is not a supported revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + } + else + console.error( + '%s is not a supported value for revealOrder on <SuspenseList />. Did you mean "together", "forwards" or "backwards"?', + revealOrder + ); + void 0 === tailMode || didWarnAboutTailOptions[tailMode] || ("collapsed" !== tailMode && "hidden" !== tailMode ? (didWarnAboutTailOptions[tailMode] = true, console.error( + '"%s" is not a supported value for tail on <SuspenseList />. Did you mean "collapsed" or "hidden"?', + tailMode + )) : "forwards" !== revealOrder && "backwards" !== revealOrder && (didWarnAboutTailOptions[tailMode] = true, console.error( + '<SuspenseList tail="%s" /> is only valid if revealOrder is "forwards" or "backwards". Did you mean to specify revealOrder="forwards"?', + tailMode + ))); + a: if (("forwards" === revealOrder || "backwards" === revealOrder) && void 0 !== nextProps && null !== nextProps && false !== nextProps) + if (isArrayImpl(nextProps)) + for (var i = 0; i < nextProps.length; i++) { + if (!validateSuspenseListNestedChild(nextProps[i], i)) break a; + } + else if (i = getIteratorFn(nextProps), "function" === typeof i) { + if (i = i.call(nextProps)) + for (var step = i.next(), _i = 0; !step.done; step = i.next()) { + if (!validateSuspenseListNestedChild(step.value, _i)) break a; + _i++; + } + } else + console.error( + 'A single row was passed to a <SuspenseList revealOrder="%s" />. This is not useful since it needs multiple rows. Did you mean to pass multiple children or an array?', + revealOrder + ); + reconcileChildren(current2, workInProgress2, nextProps, renderLanes2); + nextProps = suspenseStackCursor.current; + if (0 !== (nextProps & ForceSuspenseFallback)) + nextProps = nextProps & SubtreeSuspenseContextMask | ForceSuspenseFallback, workInProgress2.flags |= 128; + else { + if (null !== current2 && 0 !== (current2.flags & 128)) + a: for (current2 = workInProgress2.child; null !== current2; ) { + if (13 === current2.tag) + null !== current2.memoizedState && scheduleSuspenseWorkOnFiber( + current2, + renderLanes2, + workInProgress2 + ); + else if (19 === current2.tag) + scheduleSuspenseWorkOnFiber(current2, renderLanes2, workInProgress2); + else if (null !== current2.child) { + current2.child.return = current2; + current2 = current2.child; + continue; + } + if (current2 === workInProgress2) break a; + for (; null === current2.sibling; ) { + if (null === current2.return || current2.return === workInProgress2) + break a; + current2 = current2.return; + } + current2.sibling.return = current2.return; + current2 = current2.sibling; + } + nextProps &= SubtreeSuspenseContextMask; + } + push(suspenseStackCursor, nextProps, workInProgress2); + switch (revealOrder) { + case "forwards": + renderLanes2 = workInProgress2.child; + for (revealOrder = null; null !== renderLanes2; ) + current2 = renderLanes2.alternate, null !== current2 && null === findFirstSuspended(current2) && (revealOrder = renderLanes2), renderLanes2 = renderLanes2.sibling; + renderLanes2 = revealOrder; + null === renderLanes2 ? (revealOrder = workInProgress2.child, workInProgress2.child = null) : (revealOrder = renderLanes2.sibling, renderLanes2.sibling = null); + initSuspenseListRenderState( + workInProgress2, + false, + revealOrder, + renderLanes2, + tailMode + ); + break; + case "backwards": + renderLanes2 = null; + revealOrder = workInProgress2.child; + for (workInProgress2.child = null; null !== revealOrder; ) { + current2 = revealOrder.alternate; + if (null !== current2 && null === findFirstSuspended(current2)) { + workInProgress2.child = revealOrder; + break; + } + current2 = revealOrder.sibling; + revealOrder.sibling = renderLanes2; + renderLanes2 = revealOrder; + revealOrder = current2; + } + initSuspenseListRenderState( + workInProgress2, + true, + renderLanes2, + null, + tailMode + ); + break; + case "together": + initSuspenseListRenderState(workInProgress2, false, null, null, void 0); + break; + default: + workInProgress2.memoizedState = null; + } + return workInProgress2.child; + } + function bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2) { + null !== current2 && (workInProgress2.dependencies = current2.dependencies); + profilerStartTime = -1; + workInProgressRootSkippedLanes |= workInProgress2.lanes; + if (0 === (renderLanes2 & workInProgress2.childLanes)) + if (null !== current2) { + if (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), 0 === (renderLanes2 & workInProgress2.childLanes)) + return null; + } else return null; + if (null !== current2 && workInProgress2.child !== current2.child) + throw Error("Resuming work not yet implemented."); + if (null !== workInProgress2.child) { + current2 = workInProgress2.child; + renderLanes2 = createWorkInProgress(current2, current2.pendingProps); + workInProgress2.child = renderLanes2; + for (renderLanes2.return = workInProgress2; null !== current2.sibling; ) + current2 = current2.sibling, renderLanes2 = renderLanes2.sibling = createWorkInProgress(current2, current2.pendingProps), renderLanes2.return = workInProgress2; + renderLanes2.sibling = null; + } + return workInProgress2.child; + } + function checkScheduledUpdateOrContext(current2, renderLanes2) { + if (0 !== (current2.lanes & renderLanes2)) return true; + current2 = current2.dependencies; + return null !== current2 && checkIfContextChanged(current2) ? true : false; + } + function attemptEarlyBailoutIfNoScheduledUpdate(current2, workInProgress2, renderLanes2) { + switch (workInProgress2.tag) { + case 3: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + resetHydrationState(); + break; + case 27: + case 5: + pushHostContext(workInProgress2); + break; + case 4: + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + break; + case 10: + pushProvider( + workInProgress2, + workInProgress2.type, + workInProgress2.memoizedProps.value + ); + break; + case 12: + 0 !== (renderLanes2 & workInProgress2.childLanes) && (workInProgress2.flags |= 4); + workInProgress2.flags |= 2048; + var stateNode = workInProgress2.stateNode; + stateNode.effectDuration = -0; + stateNode.passiveEffectDuration = -0; + break; + case 13: + stateNode = workInProgress2.memoizedState; + if (null !== stateNode) { + if (null !== stateNode.dehydrated) + return pushPrimaryTreeSuspenseHandler(workInProgress2), workInProgress2.flags |= 128, null; + if (0 !== (renderLanes2 & workInProgress2.child.childLanes)) + return updateSuspenseComponent( + current2, + workInProgress2, + renderLanes2 + ); + pushPrimaryTreeSuspenseHandler(workInProgress2); + current2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + return null !== current2 ? current2.sibling : null; + } + pushPrimaryTreeSuspenseHandler(workInProgress2); + break; + case 19: + var didSuspendBefore = 0 !== (current2.flags & 128); + stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes); + stateNode || (propagateParentContextChanges( + current2, + workInProgress2, + renderLanes2, + false + ), stateNode = 0 !== (renderLanes2 & workInProgress2.childLanes)); + if (didSuspendBefore) { + if (stateNode) + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + workInProgress2.flags |= 128; + } + didSuspendBefore = workInProgress2.memoizedState; + null !== didSuspendBefore && (didSuspendBefore.rendering = null, didSuspendBefore.tail = null, didSuspendBefore.lastEffect = null); + push( + suspenseStackCursor, + suspenseStackCursor.current, + workInProgress2 + ); + if (stateNode) break; + else return null; + case 22: + case 23: + return workInProgress2.lanes = 0, updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + pushProvider( + workInProgress2, + CacheContext, + current2.memoizedState.cache + ); + } + return bailoutOnAlreadyFinishedWork(current2, workInProgress2, renderLanes2); + } + function beginWork(current2, workInProgress2, renderLanes2) { + if (workInProgress2._debugNeedsRemount && null !== current2) { + renderLanes2 = createFiberFromTypeAndProps( + workInProgress2.type, + workInProgress2.key, + workInProgress2.pendingProps, + workInProgress2._debugOwner || null, + workInProgress2.mode, + workInProgress2.lanes + ); + renderLanes2._debugStack = workInProgress2._debugStack; + renderLanes2._debugTask = workInProgress2._debugTask; + var returnFiber = workInProgress2.return; + if (null === returnFiber) throw Error("Cannot swap the root fiber."); + current2.alternate = null; + workInProgress2.alternate = null; + renderLanes2.index = workInProgress2.index; + renderLanes2.sibling = workInProgress2.sibling; + renderLanes2.return = workInProgress2.return; + renderLanes2.ref = workInProgress2.ref; + renderLanes2._debugInfo = workInProgress2._debugInfo; + if (workInProgress2 === returnFiber.child) + returnFiber.child = renderLanes2; + else { + var prevSibling = returnFiber.child; + if (null === prevSibling) + throw Error("Expected parent to have a child."); + for (; prevSibling.sibling !== workInProgress2; ) + if (prevSibling = prevSibling.sibling, null === prevSibling) + throw Error("Expected to find the previous sibling."); + prevSibling.sibling = renderLanes2; + } + workInProgress2 = returnFiber.deletions; + null === workInProgress2 ? (returnFiber.deletions = [current2], returnFiber.flags |= 16) : workInProgress2.push(current2); + renderLanes2.flags |= 2; + return renderLanes2; + } + if (null !== current2) + if (current2.memoizedProps !== workInProgress2.pendingProps || workInProgress2.type !== current2.type) + didReceiveUpdate = true; + else { + if (!checkScheduledUpdateOrContext(current2, renderLanes2) && 0 === (workInProgress2.flags & 128)) + return didReceiveUpdate = false, attemptEarlyBailoutIfNoScheduledUpdate( + current2, + workInProgress2, + renderLanes2 + ); + didReceiveUpdate = 0 !== (current2.flags & 131072) ? true : false; + } + else { + didReceiveUpdate = false; + if (returnFiber = isHydrating) + warnIfNotHydrating(), returnFiber = 0 !== (workInProgress2.flags & 1048576); + returnFiber && (returnFiber = workInProgress2.index, warnIfNotHydrating(), pushTreeId(workInProgress2, treeForkCount, returnFiber)); + } + workInProgress2.lanes = 0; + switch (workInProgress2.tag) { + case 16: + a: if (returnFiber = workInProgress2.pendingProps, current2 = callLazyInitInDEV(workInProgress2.elementType), workInProgress2.type = current2, "function" === typeof current2) + shouldConstruct(current2) ? (returnFiber = resolveClassComponentProps( + current2, + returnFiber + ), workInProgress2.tag = 1, workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateClassComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )) : (workInProgress2.tag = 0, validateFunctionComponentInDev(workInProgress2, current2), workInProgress2.type = current2 = resolveFunctionForHotReloading(current2), workInProgress2 = updateFunctionComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + )); + else { + if (void 0 !== current2 && null !== current2) { + if (prevSibling = current2.$$typeof, prevSibling === REACT_FORWARD_REF_TYPE) { + workInProgress2.tag = 11; + workInProgress2.type = current2 = resolveForwardRefForHotReloading(current2); + workInProgress2 = updateForwardRef( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } else if (prevSibling === REACT_MEMO_TYPE) { + workInProgress2.tag = 14; + workInProgress2 = updateMemoComponent( + null, + workInProgress2, + current2, + returnFiber, + renderLanes2 + ); + break a; + } + } + workInProgress2 = ""; + null !== current2 && "object" === typeof current2 && current2.$$typeof === REACT_LAZY_TYPE && (workInProgress2 = " Did you wrap a component in React.lazy() more than once?"); + current2 = getComponentNameFromType(current2) || current2; + throw Error( + "Element type is invalid. Received a promise that resolves to: " + current2 + ". Lazy element type must resolve to a class or function." + workInProgress2 + ); + } + return workInProgress2; + case 0: + return updateFunctionComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 1: + return returnFiber = workInProgress2.type, prevSibling = resolveClassComponentProps( + returnFiber, + workInProgress2.pendingProps + ), updateClassComponent( + current2, + workInProgress2, + returnFiber, + prevSibling, + renderLanes2 + ); + case 3: + a: { + pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ); + if (null === current2) + throw Error( + "Should have a current fiber. This is a bug in React." + ); + returnFiber = workInProgress2.pendingProps; + var prevState = workInProgress2.memoizedState; + prevSibling = prevState.element; + cloneUpdateQueue(current2, workInProgress2); + processUpdateQueue(workInProgress2, returnFiber, null, renderLanes2); + var nextState = workInProgress2.memoizedState; + returnFiber = nextState.cache; + pushProvider(workInProgress2, CacheContext, returnFiber); + returnFiber !== prevState.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ); + suspendIfUpdateReadFromEntangledAsyncAction(); + returnFiber = nextState.element; + if (prevState.isDehydrated) + if (prevState = { + element: returnFiber, + isDehydrated: false, + cache: nextState.cache + }, workInProgress2.updateQueue.baseState = prevState, workInProgress2.memoizedState = prevState, workInProgress2.flags & 256) { + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else if (returnFiber !== prevSibling) { + prevSibling = createCapturedValueAtFiber( + Error( + "This root received an early update, before anything was able hydrate. Switched the entire root to client rendering." + ), + workInProgress2 + ); + queueHydrationError(prevSibling); + workInProgress2 = mountHostRootWithoutHydrating( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + break a; + } else { + current2 = workInProgress2.stateNode.containerInfo; + switch (current2.nodeType) { + case 9: + current2 = current2.body; + break; + default: + current2 = "HTML" === current2.nodeName ? current2.ownerDocument.body : current2; + } + nextHydratableInstance = getNextHydratable(current2.firstChild); + hydrationParentFiber = workInProgress2; + isHydrating = true; + hydrationErrors = null; + didSuspendOrErrorDEV = false; + hydrationDiffRootDEV = null; + rootOrSingletonContext = true; + current2 = mountChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ); + for (workInProgress2.child = current2; current2; ) + current2.flags = current2.flags & -3 | 4096, current2 = current2.sibling; + } + else { + resetHydrationState(); + if (returnFiber === prevSibling) { + workInProgress2 = bailoutOnAlreadyFinishedWork( + current2, + workInProgress2, + renderLanes2 + ); + break a; + } + reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ); + } + workInProgress2 = workInProgress2.child; + } + return workInProgress2; + case 26: + return markRef(current2, workInProgress2), null === current2 ? (current2 = getResource( + workInProgress2.type, + null, + workInProgress2.pendingProps, + null + )) ? workInProgress2.memoizedState = current2 : isHydrating || (current2 = workInProgress2.type, renderLanes2 = workInProgress2.pendingProps, returnFiber = requiredContext( + rootInstanceStackCursor.current + ), returnFiber = getOwnerDocumentFromRootContainer( + returnFiber + ).createElement(current2), returnFiber[internalInstanceKey] = workInProgress2, returnFiber[internalPropsKey] = renderLanes2, setInitialProperties(returnFiber, current2, renderLanes2), markNodeAsHoistable(returnFiber), workInProgress2.stateNode = returnFiber) : workInProgress2.memoizedState = getResource( + workInProgress2.type, + current2.memoizedProps, + workInProgress2.pendingProps, + current2.memoizedState + ), null; + case 27: + return pushHostContext(workInProgress2), null === current2 && isHydrating && (returnFiber = requiredContext(rootInstanceStackCursor.current), prevSibling = getHostContext(), returnFiber = workInProgress2.stateNode = resolveSingletonInstance( + workInProgress2.type, + workInProgress2.pendingProps, + returnFiber, + prevSibling, + false + ), didSuspendOrErrorDEV || (prevSibling = diffHydratedProperties( + returnFiber, + workInProgress2.type, + workInProgress2.pendingProps, + prevSibling + ), null !== prevSibling && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevSibling)), hydrationParentFiber = workInProgress2, rootOrSingletonContext = true, prevSibling = nextHydratableInstance, isSingletonScope(workInProgress2.type) ? (previousHydratableOnEnteringScopedSingleton = prevSibling, nextHydratableInstance = getNextHydratable( + returnFiber.firstChild + )) : nextHydratableInstance = prevSibling), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), markRef(current2, workInProgress2), null === current2 && (workInProgress2.flags |= 4194304), workInProgress2.child; + case 5: + return null === current2 && isHydrating && (prevState = getHostContext(), returnFiber = validateDOMNesting( + workInProgress2.type, + prevState.ancestorInfo + ), prevSibling = nextHydratableInstance, (nextState = !prevSibling) || (nextState = canHydrateInstance( + prevSibling, + workInProgress2.type, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== nextState ? (workInProgress2.stateNode = nextState, didSuspendOrErrorDEV || (prevState = diffHydratedProperties( + nextState, + workInProgress2.type, + workInProgress2.pendingProps, + prevState + ), null !== prevState && (buildHydrationDiffNode(workInProgress2, 0).serverProps = prevState)), hydrationParentFiber = workInProgress2, nextHydratableInstance = getNextHydratable( + nextState.firstChild + ), rootOrSingletonContext = false, prevState = true) : prevState = false, nextState = !prevState), nextState && (returnFiber && warnNonHydratedInstance(workInProgress2, prevSibling), throwOnHydrationMismatch(workInProgress2))), pushHostContext(workInProgress2), prevSibling = workInProgress2.type, prevState = workInProgress2.pendingProps, nextState = null !== current2 ? current2.memoizedProps : null, returnFiber = prevState.children, shouldSetTextContent(prevSibling, prevState) ? returnFiber = null : null !== nextState && shouldSetTextContent(prevSibling, nextState) && (workInProgress2.flags |= 32), null !== workInProgress2.memoizedState && (prevSibling = renderWithHooks( + current2, + workInProgress2, + TransitionAwareHostComponent, + null, + null, + renderLanes2 + ), HostTransitionContext._currentValue = prevSibling), markRef(current2, workInProgress2), reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 6: + return null === current2 && isHydrating && (current2 = workInProgress2.pendingProps, renderLanes2 = getHostContext(), returnFiber = renderLanes2.ancestorInfo.current, current2 = null != returnFiber ? validateTextNesting( + current2, + returnFiber.tag, + renderLanes2.ancestorInfo.implicitRootScope + ) : true, renderLanes2 = nextHydratableInstance, (returnFiber = !renderLanes2) || (returnFiber = canHydrateTextInstance( + renderLanes2, + workInProgress2.pendingProps, + rootOrSingletonContext + ), null !== returnFiber ? (workInProgress2.stateNode = returnFiber, hydrationParentFiber = workInProgress2, nextHydratableInstance = null, returnFiber = true) : returnFiber = false, returnFiber = !returnFiber), returnFiber && (current2 && warnNonHydratedInstance(workInProgress2, renderLanes2), throwOnHydrationMismatch(workInProgress2))), null; + case 13: + return updateSuspenseComponent(current2, workInProgress2, renderLanes2); + case 4: + return pushHostContainer( + workInProgress2, + workInProgress2.stateNode.containerInfo + ), returnFiber = workInProgress2.pendingProps, null === current2 ? workInProgress2.child = reconcileChildFibers( + workInProgress2, + null, + returnFiber, + renderLanes2 + ) : reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 11: + return updateForwardRef( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 7: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps, + renderLanes2 + ), workInProgress2.child; + case 8: + return reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 12: + return workInProgress2.flags |= 4, workInProgress2.flags |= 2048, returnFiber = workInProgress2.stateNode, returnFiber.effectDuration = -0, returnFiber.passiveEffectDuration = -0, reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 10: + return returnFiber = workInProgress2.type, prevSibling = workInProgress2.pendingProps, prevState = prevSibling.value, "value" in prevSibling || hasWarnedAboutUsingNoValuePropOnContextProvider || (hasWarnedAboutUsingNoValuePropOnContextProvider = true, console.error( + "The `value` prop is required for the `<Context.Provider>`. Did you misspell it or forget to pass it?" + )), pushProvider(workInProgress2, returnFiber, prevState), reconcileChildren( + current2, + workInProgress2, + prevSibling.children, + renderLanes2 + ), workInProgress2.child; + case 9: + return prevSibling = workInProgress2.type._context, returnFiber = workInProgress2.pendingProps.children, "function" !== typeof returnFiber && console.error( + "A context consumer was rendered with multiple children, or a child that isn't a function. A context consumer expects a single child that is a function. If you did pass a function, make sure there is no trailing or leading whitespace around it." + ), prepareToReadContext(workInProgress2), prevSibling = readContext(prevSibling), markComponentRenderStarted(workInProgress2), returnFiber = callComponentInDEV( + returnFiber, + prevSibling, + void 0 + ), markComponentRenderStopped(), workInProgress2.flags |= 1, reconcileChildren( + current2, + workInProgress2, + returnFiber, + renderLanes2 + ), workInProgress2.child; + case 14: + return updateMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 15: + return updateSimpleMemoComponent( + current2, + workInProgress2, + workInProgress2.type, + workInProgress2.pendingProps, + renderLanes2 + ); + case 19: + return updateSuspenseListComponent( + current2, + workInProgress2, + renderLanes2 + ); + case 31: + return returnFiber = workInProgress2.pendingProps, renderLanes2 = workInProgress2.mode, returnFiber = { + mode: returnFiber.mode, + children: returnFiber.children + }, null === current2 ? (current2 = mountWorkInProgressOffscreenFiber( + returnFiber, + renderLanes2 + ), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2) : (current2 = createWorkInProgress(current2.child, returnFiber), current2.ref = workInProgress2.ref, workInProgress2.child = current2, current2.return = workInProgress2, workInProgress2 = current2), workInProgress2; + case 22: + return updateOffscreenComponent(current2, workInProgress2, renderLanes2); + case 24: + return prepareToReadContext(workInProgress2), returnFiber = readContext(CacheContext), null === current2 ? (prevSibling = peekCacheFromPool(), null === prevSibling && (prevSibling = workInProgressRoot, prevState = createCache(), prevSibling.pooledCache = prevState, retainCache(prevState), null !== prevState && (prevSibling.pooledCacheLanes |= renderLanes2), prevSibling = prevState), workInProgress2.memoizedState = { + parent: returnFiber, + cache: prevSibling + }, initializeUpdateQueue(workInProgress2), pushProvider(workInProgress2, CacheContext, prevSibling)) : (0 !== (current2.lanes & renderLanes2) && (cloneUpdateQueue(current2, workInProgress2), processUpdateQueue(workInProgress2, null, null, renderLanes2), suspendIfUpdateReadFromEntangledAsyncAction()), prevSibling = current2.memoizedState, prevState = workInProgress2.memoizedState, prevSibling.parent !== returnFiber ? (prevSibling = { + parent: returnFiber, + cache: returnFiber + }, workInProgress2.memoizedState = prevSibling, 0 === workInProgress2.lanes && (workInProgress2.memoizedState = workInProgress2.updateQueue.baseState = prevSibling), pushProvider(workInProgress2, CacheContext, returnFiber)) : (returnFiber = prevState.cache, pushProvider(workInProgress2, CacheContext, returnFiber), returnFiber !== prevSibling.cache && propagateContextChanges( + workInProgress2, + [CacheContext], + renderLanes2, + true + ))), reconcileChildren( + current2, + workInProgress2, + workInProgress2.pendingProps.children, + renderLanes2 + ), workInProgress2.child; + case 29: + throw workInProgress2.pendingProps; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function markUpdate(workInProgress2) { + workInProgress2.flags |= 4; + } + function preloadResourceAndSuspendIfNeeded(workInProgress2, resource) { + if ("stylesheet" !== resource.type || (resource.state.loading & Inserted) !== NotLoaded) + workInProgress2.flags &= -16777217; + else if (workInProgress2.flags |= 16777216, !preloadResource(resource)) { + resource = suspenseHandlerStackCursor.current; + if (null !== resource && ((workInProgressRootRenderLanes & 4194048) === workInProgressRootRenderLanes ? null !== shellBoundary : (workInProgressRootRenderLanes & 62914560) !== workInProgressRootRenderLanes && 0 === (workInProgressRootRenderLanes & 536870912) || resource !== shellBoundary)) + throw suspendedThenable = noopSuspenseyCommitThenable, SuspenseyCommitException; + workInProgress2.flags |= 8192; + } + } + function scheduleRetryEffect(workInProgress2, retryQueue) { + null !== retryQueue && (workInProgress2.flags |= 4); + workInProgress2.flags & 16384 && (retryQueue = 22 !== workInProgress2.tag ? claimNextRetryLane() : 536870912, workInProgress2.lanes |= retryQueue, workInProgressSuspendedRetryLanes |= retryQueue); + } + function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) { + if (!isHydrating) + switch (renderState.tailMode) { + case "hidden": + hasRenderedATailFallback = renderState.tail; + for (var lastTailNode = null; null !== hasRenderedATailFallback; ) + null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling; + null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null; + break; + case "collapsed": + lastTailNode = renderState.tail; + for (var _lastTailNode = null; null !== lastTailNode; ) + null !== lastTailNode.alternate && (_lastTailNode = lastTailNode), lastTailNode = lastTailNode.sibling; + null === _lastTailNode ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : _lastTailNode.sibling = null; + } + } + function bubbleProperties(completedWork) { + var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child, newChildLanes = 0, subtreeFlags = 0; + if (didBailout) + if ((completedWork.mode & ProfileMode) !== NoMode) { + for (var _treeBaseDuration = completedWork.selfBaseDuration, _child2 = completedWork.child; null !== _child2; ) + newChildLanes |= _child2.lanes | _child2.childLanes, subtreeFlags |= _child2.subtreeFlags & 65011712, subtreeFlags |= _child2.flags & 65011712, _treeBaseDuration += _child2.treeBaseDuration, _child2 = _child2.sibling; + completedWork.treeBaseDuration = _treeBaseDuration; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags & 65011712, subtreeFlags |= _treeBaseDuration.flags & 65011712, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + else if ((completedWork.mode & ProfileMode) !== NoMode) { + _treeBaseDuration = completedWork.actualDuration; + _child2 = completedWork.selfBaseDuration; + for (var child = completedWork.child; null !== child; ) + newChildLanes |= child.lanes | child.childLanes, subtreeFlags |= child.subtreeFlags, subtreeFlags |= child.flags, _treeBaseDuration += child.actualDuration, _child2 += child.treeBaseDuration, child = child.sibling; + completedWork.actualDuration = _treeBaseDuration; + completedWork.treeBaseDuration = _child2; + } else + for (_treeBaseDuration = completedWork.child; null !== _treeBaseDuration; ) + newChildLanes |= _treeBaseDuration.lanes | _treeBaseDuration.childLanes, subtreeFlags |= _treeBaseDuration.subtreeFlags, subtreeFlags |= _treeBaseDuration.flags, _treeBaseDuration.return = completedWork, _treeBaseDuration = _treeBaseDuration.sibling; + completedWork.subtreeFlags |= subtreeFlags; + completedWork.childLanes = newChildLanes; + return didBailout; + } + function completeWork(current2, workInProgress2, renderLanes2) { + var newProps = workInProgress2.pendingProps; + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 31: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return bubbleProperties(workInProgress2), null; + case 1: + return bubbleProperties(workInProgress2), null; + case 3: + renderLanes2 = workInProgress2.stateNode; + newProps = null; + null !== current2 && (newProps = current2.memoizedState.cache); + workInProgress2.memoizedState.cache !== newProps && (workInProgress2.flags |= 2048); + popProvider(CacheContext, workInProgress2); + popHostContainer(workInProgress2); + renderLanes2.pendingContext && (renderLanes2.context = renderLanes2.pendingContext, renderLanes2.pendingContext = null); + if (null === current2 || null === current2.child) + popHydrationState(workInProgress2) ? (emitPendingHydrationWarnings(), markUpdate(workInProgress2)) : null === current2 || current2.memoizedState.isDehydrated && 0 === (workInProgress2.flags & 256) || (workInProgress2.flags |= 1024, upgradeHydrationErrorsToRecoverable()); + bubbleProperties(workInProgress2); + return null; + case 26: + return renderLanes2 = workInProgress2.memoizedState, null === current2 ? (markUpdate(workInProgress2), null !== renderLanes2 ? (bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217)) : renderLanes2 ? renderLanes2 !== current2.memoizedState ? (markUpdate(workInProgress2), bubbleProperties(workInProgress2), preloadResourceAndSuspendIfNeeded( + workInProgress2, + renderLanes2 + )) : (bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217) : (current2.memoizedProps !== newProps && markUpdate(workInProgress2), bubbleProperties(workInProgress2), workInProgress2.flags &= -16777217), null; + case 27: + popHostContext(workInProgress2); + renderLanes2 = requiredContext(rootInstanceStackCursor.current); + var _type = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + current2 = getHostContext(); + popHydrationState(workInProgress2) ? prepareToHydrateHostInstance(workInProgress2, current2) : (current2 = resolveSingletonInstance( + _type, + newProps, + renderLanes2, + current2, + true + ), workInProgress2.stateNode = current2, markUpdate(workInProgress2)); + } + bubbleProperties(workInProgress2); + return null; + case 5: + popHostContext(workInProgress2); + renderLanes2 = workInProgress2.type; + if (null !== current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if (!newProps) { + if (null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + bubbleProperties(workInProgress2); + return null; + } + _type = getHostContext(); + if (popHydrationState(workInProgress2)) + prepareToHydrateHostInstance(workInProgress2, _type); + else { + current2 = requiredContext(rootInstanceStackCursor.current); + validateDOMNesting(renderLanes2, _type.ancestorInfo); + _type = _type.context; + current2 = getOwnerDocumentFromRootContainer(current2); + switch (_type) { + case HostContextNamespaceSvg: + current2 = current2.createElementNS(SVG_NAMESPACE, renderLanes2); + break; + case HostContextNamespaceMath: + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + default: + switch (renderLanes2) { + case "svg": + current2 = current2.createElementNS( + SVG_NAMESPACE, + renderLanes2 + ); + break; + case "math": + current2 = current2.createElementNS( + MATH_NAMESPACE, + renderLanes2 + ); + break; + case "script": + current2 = current2.createElement("div"); + current2.innerHTML = "<script><\/script>"; + current2 = current2.removeChild(current2.firstChild); + break; + case "select": + current2 = "string" === typeof newProps.is ? current2.createElement("select", { is: newProps.is }) : current2.createElement("select"); + newProps.multiple ? current2.multiple = true : newProps.size && (current2.size = newProps.size); + break; + default: + current2 = "string" === typeof newProps.is ? current2.createElement(renderLanes2, { + is: newProps.is + }) : current2.createElement(renderLanes2), -1 === renderLanes2.indexOf("-") && (renderLanes2 !== renderLanes2.toLowerCase() && console.error( + "<%s /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.", + renderLanes2 + ), "[object HTMLUnknownElement]" !== Object.prototype.toString.call(current2) || hasOwnProperty.call( + warnedUnknownTags, + renderLanes2 + ) || (warnedUnknownTags[renderLanes2] = true, console.error( + "The tag <%s> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.", + renderLanes2 + ))); + } + } + current2[internalInstanceKey] = workInProgress2; + current2[internalPropsKey] = newProps; + a: for (_type = workInProgress2.child; null !== _type; ) { + if (5 === _type.tag || 6 === _type.tag) + current2.appendChild(_type.stateNode); + else if (4 !== _type.tag && 27 !== _type.tag && null !== _type.child) { + _type.child.return = _type; + _type = _type.child; + continue; + } + if (_type === workInProgress2) break a; + for (; null === _type.sibling; ) { + if (null === _type.return || _type.return === workInProgress2) + break a; + _type = _type.return; + } + _type.sibling.return = _type.return; + _type = _type.sibling; + } + workInProgress2.stateNode = current2; + a: switch (setInitialProperties(current2, renderLanes2, newProps), renderLanes2) { + case "button": + case "input": + case "select": + case "textarea": + current2 = !!newProps.autoFocus; + break a; + case "img": + current2 = true; + break a; + default: + current2 = false; + } + current2 && markUpdate(workInProgress2); + } + } + bubbleProperties(workInProgress2); + workInProgress2.flags &= -16777217; + return null; + case 6: + if (current2 && null != workInProgress2.stateNode) + current2.memoizedProps !== newProps && markUpdate(workInProgress2); + else { + if ("string" !== typeof newProps && null === workInProgress2.stateNode) + throw Error( + "We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue." + ); + current2 = requiredContext(rootInstanceStackCursor.current); + renderLanes2 = getHostContext(); + if (popHydrationState(workInProgress2)) { + current2 = workInProgress2.stateNode; + renderLanes2 = workInProgress2.memoizedProps; + _type = !didSuspendOrErrorDEV; + newProps = null; + var returnFiber = hydrationParentFiber; + if (null !== returnFiber) + switch (returnFiber.tag) { + case 3: + _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode(workInProgress2, 0).serverProps = _type)); + break; + case 27: + case 5: + newProps = returnFiber.memoizedProps, _type && (_type = diffHydratedTextForDevWarnings( + current2, + renderLanes2, + newProps + ), null !== _type && (buildHydrationDiffNode( + workInProgress2, + 0 + ).serverProps = _type)); + } + current2[internalInstanceKey] = workInProgress2; + current2 = current2.nodeValue === renderLanes2 || null !== newProps && true === newProps.suppressHydrationWarning || checkForUnmatchedText(current2.nodeValue, renderLanes2) ? true : false; + current2 || throwOnHydrationMismatch(workInProgress2); + } else + _type = renderLanes2.ancestorInfo.current, null != _type && validateTextNesting( + newProps, + _type.tag, + renderLanes2.ancestorInfo.implicitRootScope + ), current2 = getOwnerDocumentFromRootContainer(current2).createTextNode( + newProps + ), current2[internalInstanceKey] = workInProgress2, workInProgress2.stateNode = current2; + } + bubbleProperties(workInProgress2); + return null; + case 13: + newProps = workInProgress2.memoizedState; + if (null === current2 || null !== current2.memoizedState && null !== current2.memoizedState.dehydrated) { + _type = popHydrationState(workInProgress2); + if (null !== newProps && null !== newProps.dehydrated) { + if (null === current2) { + if (!_type) + throw Error( + "A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React." + ); + _type = workInProgress2.memoizedState; + _type = null !== _type ? _type.dehydrated : null; + if (!_type) + throw Error( + "Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue." + ); + _type[internalInstanceKey] = workInProgress2; + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + } else + emitPendingHydrationWarnings(), resetHydrationState(), 0 === (workInProgress2.flags & 128) && (workInProgress2.memoizedState = null), workInProgress2.flags |= 4, bubbleProperties(workInProgress2), (workInProgress2.mode & ProfileMode) !== NoMode && null !== newProps && (_type = workInProgress2.child, null !== _type && (workInProgress2.treeBaseDuration -= _type.treeBaseDuration)); + _type = false; + } else + _type = upgradeHydrationErrorsToRecoverable(), null !== current2 && null !== current2.memoizedState && (current2.memoizedState.hydrationErrors = _type), _type = true; + if (!_type) { + if (workInProgress2.flags & 256) + return popSuspenseHandler(workInProgress2), workInProgress2; + popSuspenseHandler(workInProgress2); + return null; + } + } + popSuspenseHandler(workInProgress2); + if (0 !== (workInProgress2.flags & 128)) + return workInProgress2.lanes = renderLanes2, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2; + renderLanes2 = null !== newProps; + current2 = null !== current2 && null !== current2.memoizedState; + renderLanes2 && (newProps = workInProgress2.child, _type = null, null !== newProps.alternate && null !== newProps.alternate.memoizedState && null !== newProps.alternate.memoizedState.cachePool && (_type = newProps.alternate.memoizedState.cachePool.pool), returnFiber = null, null !== newProps.memoizedState && null !== newProps.memoizedState.cachePool && (returnFiber = newProps.memoizedState.cachePool.pool), returnFiber !== _type && (newProps.flags |= 2048)); + renderLanes2 !== current2 && renderLanes2 && (workInProgress2.child.flags |= 8192); + scheduleRetryEffect(workInProgress2, workInProgress2.updateQueue); + bubbleProperties(workInProgress2); + (workInProgress2.mode & ProfileMode) !== NoMode && renderLanes2 && (current2 = workInProgress2.child, null !== current2 && (workInProgress2.treeBaseDuration -= current2.treeBaseDuration)); + return null; + case 4: + return popHostContainer(workInProgress2), null === current2 && listenToAllSupportedEvents( + workInProgress2.stateNode.containerInfo + ), bubbleProperties(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), bubbleProperties(workInProgress2), null; + case 19: + pop(suspenseStackCursor, workInProgress2); + _type = workInProgress2.memoizedState; + if (null === _type) return bubbleProperties(workInProgress2), null; + newProps = 0 !== (workInProgress2.flags & 128); + returnFiber = _type.rendering; + if (null === returnFiber) + if (newProps) cutOffTailIfNeeded(_type, false); + else { + if (workInProgressRootExitStatus !== RootInProgress || null !== current2 && 0 !== (current2.flags & 128)) + for (current2 = workInProgress2.child; null !== current2; ) { + returnFiber = findFirstSuspended(current2); + if (null !== returnFiber) { + workInProgress2.flags |= 128; + cutOffTailIfNeeded(_type, false); + current2 = returnFiber.updateQueue; + workInProgress2.updateQueue = current2; + scheduleRetryEffect(workInProgress2, current2); + workInProgress2.subtreeFlags = 0; + current2 = renderLanes2; + for (renderLanes2 = workInProgress2.child; null !== renderLanes2; ) + resetWorkInProgress(renderLanes2, current2), renderLanes2 = renderLanes2.sibling; + push( + suspenseStackCursor, + suspenseStackCursor.current & SubtreeSuspenseContextMask | ForceSuspenseFallback, + workInProgress2 + ); + return workInProgress2.child; + } + current2 = current2.sibling; + } + null !== _type.tail && now$1() > workInProgressRootRenderTargetTime && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + } + else { + if (!newProps) + if (current2 = findFirstSuspended(returnFiber), null !== current2) { + if (workInProgress2.flags |= 128, newProps = true, current2 = current2.updateQueue, workInProgress2.updateQueue = current2, scheduleRetryEffect(workInProgress2, current2), cutOffTailIfNeeded(_type, true), null === _type.tail && "hidden" === _type.tailMode && !returnFiber.alternate && !isHydrating) + return bubbleProperties(workInProgress2), null; + } else + 2 * now$1() - _type.renderingStartTime > workInProgressRootRenderTargetTime && 536870912 !== renderLanes2 && (workInProgress2.flags |= 128, newProps = true, cutOffTailIfNeeded(_type, false), workInProgress2.lanes = 4194304); + _type.isBackwards ? (returnFiber.sibling = workInProgress2.child, workInProgress2.child = returnFiber) : (current2 = _type.last, null !== current2 ? current2.sibling = returnFiber : workInProgress2.child = returnFiber, _type.last = returnFiber); + } + if (null !== _type.tail) + return current2 = _type.tail, _type.rendering = current2, _type.tail = current2.sibling, _type.renderingStartTime = now$1(), current2.sibling = null, renderLanes2 = suspenseStackCursor.current, renderLanes2 = newProps ? renderLanes2 & SubtreeSuspenseContextMask | ForceSuspenseFallback : renderLanes2 & SubtreeSuspenseContextMask, push(suspenseStackCursor, renderLanes2, workInProgress2), current2; + bubbleProperties(workInProgress2); + return null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), newProps = null !== workInProgress2.memoizedState, null !== current2 ? null !== current2.memoizedState !== newProps && (workInProgress2.flags |= 8192) : newProps && (workInProgress2.flags |= 8192), newProps ? 0 !== (renderLanes2 & 536870912) && 0 === (workInProgress2.flags & 128) && (bubbleProperties(workInProgress2), workInProgress2.subtreeFlags & 6 && (workInProgress2.flags |= 8192)) : bubbleProperties(workInProgress2), renderLanes2 = workInProgress2.updateQueue, null !== renderLanes2 && scheduleRetryEffect(workInProgress2, renderLanes2.retryQueue), renderLanes2 = null, null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (renderLanes2 = current2.memoizedState.cachePool.pool), newProps = null, null !== workInProgress2.memoizedState && null !== workInProgress2.memoizedState.cachePool && (newProps = workInProgress2.memoizedState.cachePool.pool), newProps !== renderLanes2 && (workInProgress2.flags |= 2048), null !== current2 && pop(resumedCache, workInProgress2), null; + case 24: + return renderLanes2 = null, null !== current2 && (renderLanes2 = current2.memoizedState.cache), workInProgress2.memoizedState.cache !== renderLanes2 && (workInProgress2.flags |= 2048), popProvider(CacheContext, workInProgress2), bubbleProperties(workInProgress2), null; + case 25: + return null; + case 30: + return null; + } + throw Error( + "Unknown unit of work tag (" + workInProgress2.tag + "). This error is likely caused by a bug in React. Please file an issue." + ); + } + function unwindWork(current2, workInProgress2) { + popTreeContext(workInProgress2); + switch (workInProgress2.tag) { + case 1: + return current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 3: + return popProvider(CacheContext, workInProgress2), popHostContainer(workInProgress2), current2 = workInProgress2.flags, 0 !== (current2 & 65536) && 0 === (current2 & 128) ? (workInProgress2.flags = current2 & -65537 | 128, workInProgress2) : null; + case 26: + case 27: + case 5: + return popHostContext(workInProgress2), null; + case 13: + popSuspenseHandler(workInProgress2); + current2 = workInProgress2.memoizedState; + if (null !== current2 && null !== current2.dehydrated) { + if (null === workInProgress2.alternate) + throw Error( + "Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue." + ); + resetHydrationState(); + } + current2 = workInProgress2.flags; + return current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 19: + return pop(suspenseStackCursor, workInProgress2), null; + case 4: + return popHostContainer(workInProgress2), null; + case 10: + return popProvider(workInProgress2.type, workInProgress2), null; + case 22: + case 23: + return popSuspenseHandler(workInProgress2), popHiddenContext(workInProgress2), null !== current2 && pop(resumedCache, workInProgress2), current2 = workInProgress2.flags, current2 & 65536 ? (workInProgress2.flags = current2 & -65537 | 128, (workInProgress2.mode & ProfileMode) !== NoMode && transferActualDuration(workInProgress2), workInProgress2) : null; + case 24: + return popProvider(CacheContext, workInProgress2), null; + case 25: + return null; + default: + return null; + } + } + function unwindInterruptedWork(current2, interruptedWork) { + popTreeContext(interruptedWork); + switch (interruptedWork.tag) { + case 3: + popProvider(CacheContext, interruptedWork); + popHostContainer(interruptedWork); + break; + case 26: + case 27: + case 5: + popHostContext(interruptedWork); + break; + case 4: + popHostContainer(interruptedWork); + break; + case 13: + popSuspenseHandler(interruptedWork); + break; + case 19: + pop(suspenseStackCursor, interruptedWork); + break; + case 10: + popProvider(interruptedWork.type, interruptedWork); + break; + case 22: + case 23: + popSuspenseHandler(interruptedWork); + popHiddenContext(interruptedWork); + null !== current2 && pop(resumedCache, interruptedWork); + break; + case 24: + popProvider(CacheContext, interruptedWork); + } + } + function shouldProfile(current2) { + return (current2.mode & ProfileMode) !== NoMode; + } + function commitHookLayoutEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookLayoutUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitHookEffectListMount(flags, finishedWork) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags && ((flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStarted && injectedProfilingHooks.markComponentPassiveEffectMountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStarted && injectedProfilingHooks.markComponentLayoutEffectMountStarted( + finishedWork + ), lastEffect = void 0, (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = runWithFiberInDEV( + finishedWork, + callCreateInDEV, + updateQueue + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectMountStopped && injectedProfilingHooks.markComponentPassiveEffectMountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectMountStopped && injectedProfilingHooks.markComponentLayoutEffectMountStopped(), void 0 !== lastEffect && "function" !== typeof lastEffect)) { + var hookName = void 0; + hookName = 0 !== (updateQueue.tag & Layout) ? "useLayoutEffect" : 0 !== (updateQueue.tag & Insertion) ? "useInsertionEffect" : "useEffect"; + var addendum = void 0; + addendum = null === lastEffect ? " You returned null. If your effect does not require clean up, return undefined (or nothing)." : "function" === typeof lastEffect.then ? "\n\nIt looks like you wrote " + hookName + "(async () => ...) or returned a Promise. Instead, write the async function inside your effect and call it immediately:\n\n" + hookName + "(() => {\n async function fetchData() {\n // You can await here\n const response = await MyAPI.getData(someId);\n // ...\n }\n fetchData();\n}, [someId]); // Or [] if effect doesn't need props or state\n\nLearn more about data fetching with Hooks: https://react.dev/link/hooks-data-fetching" : " You returned: " + lastEffect; + runWithFiberInDEV( + finishedWork, + function(n, a) { + console.error( + "%s must not return anything besides a function, which is used for clean-up.%s", + n, + a + ); + }, + hookName, + addendum + ); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor) { + try { + var updateQueue = finishedWork.updateQueue, lastEffect = null !== updateQueue ? updateQueue.lastEffect : null; + if (null !== lastEffect) { + var firstEffect = lastEffect.next; + updateQueue = firstEffect; + do { + if ((updateQueue.tag & flags) === flags) { + var inst = updateQueue.inst, destroy = inst.destroy; + void 0 !== destroy && (inst.destroy = void 0, (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStarted && injectedProfilingHooks.markComponentPassiveEffectUnmountStarted( + finishedWork + ) : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStarted && injectedProfilingHooks.markComponentLayoutEffectUnmountStarted( + finishedWork + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = true), lastEffect = finishedWork, runWithFiberInDEV( + lastEffect, + callDestroyInDEV, + lastEffect, + nearestMountedAncestor, + destroy + ), (flags & Insertion) !== NoFlags && (isRunningInsertionEffect = false), (flags & Passive) !== NoFlags ? null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentPassiveEffectUnmountStopped && injectedProfilingHooks.markComponentPassiveEffectUnmountStopped() : (flags & Layout) !== NoFlags && null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentLayoutEffectUnmountStopped && injectedProfilingHooks.markComponentLayoutEffectUnmountStopped()); + } + updateQueue = updateQueue.next; + } while (updateQueue !== firstEffect); + } + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHookPassiveMountEffects(finishedWork, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListMount(hookFlags, finishedWork), recordEffectDuration()) : commitHookEffectListMount(hookFlags, finishedWork); + } + function commitHookPassiveUnmountEffects(finishedWork, nearestMountedAncestor, hookFlags) { + shouldProfile(finishedWork) ? (startEffectTimer(), commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ), recordEffectDuration()) : commitHookEffectListUnmount( + hookFlags, + finishedWork, + nearestMountedAncestor + ); + } + function commitClassCallbacks(finishedWork) { + var updateQueue = finishedWork.updateQueue; + if (null !== updateQueue) { + var instance = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (instance.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), instance.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before processing the update queue. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + updateQueue, + instance + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + } + function callGetSnapshotBeforeUpdates(instance, prevProps, prevState) { + return instance.getSnapshotBeforeUpdate(prevProps, prevState); + } + function commitClassSnapshot(finishedWork, current2) { + var prevProps = current2.memoizedProps, prevState = current2.memoizedState; + current2 = finishedWork.stateNode; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (current2.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), current2.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before getSnapshotBeforeUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + try { + var resolvedPrevProps = resolveClassComponentProps( + finishedWork.type, + prevProps, + finishedWork.elementType === finishedWork.type + ); + var snapshot = runWithFiberInDEV( + finishedWork, + callGetSnapshotBeforeUpdates, + current2, + resolvedPrevProps, + prevState + ); + prevProps = didWarnAboutUndefinedSnapshotBeforeUpdate; + void 0 !== snapshot || prevProps.has(finishedWork.type) || (prevProps.add(finishedWork.type), runWithFiberInDEV(finishedWork, function() { + console.error( + "%s.getSnapshotBeforeUpdate(): A snapshot value (or null) must be returned. You have returned undefined.", + getComponentNameFromFiber(finishedWork) + ); + })); + current2.__reactInternalSnapshotBeforeUpdate = snapshot; + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function safelyCallComponentWillUnmount(current2, nearestMountedAncestor, instance) { + instance.props = resolveClassComponentProps( + current2.type, + current2.memoizedProps + ); + instance.state = current2.memoizedState; + shouldProfile(current2) ? (startEffectTimer(), runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ), recordEffectDuration()) : runWithFiberInDEV( + current2, + callComponentWillUnmountInDEV, + current2, + nearestMountedAncestor, + instance + ); + } + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + if (null !== ref) { + switch (finishedWork.tag) { + case 26: + case 27: + case 5: + var instanceToUse = finishedWork.stateNode; + break; + case 30: + instanceToUse = finishedWork.stateNode; + break; + default: + instanceToUse = finishedWork.stateNode; + } + if ("function" === typeof ref) + if (shouldProfile(finishedWork)) + try { + startEffectTimer(), finishedWork.refCleanup = ref(instanceToUse); + } finally { + recordEffectDuration(); + } + else finishedWork.refCleanup = ref(instanceToUse); + else + "string" === typeof ref ? console.error("String refs are no longer supported.") : ref.hasOwnProperty("current") || console.error( + "Unexpected ref object provided for %s. Use either a ref-setter function or React.createRef().", + getComponentNameFromFiber(finishedWork) + ), ref.current = instanceToUse; + } + } + function safelyAttachRef(current2, nearestMountedAncestor) { + try { + runWithFiberInDEV(current2, commitAttachRef, current2); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + function safelyDetachRef(current2, nearestMountedAncestor) { + var ref = current2.ref, refCleanup = current2.refCleanup; + if (null !== ref) + if ("function" === typeof refCleanup) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, refCleanup); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, refCleanup); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } finally { + current2.refCleanup = null, current2 = current2.alternate, null != current2 && (current2.refCleanup = null); + } + else if ("function" === typeof ref) + try { + if (shouldProfile(current2)) + try { + startEffectTimer(), runWithFiberInDEV(current2, ref, null); + } finally { + recordEffectDuration(current2); + } + else runWithFiberInDEV(current2, ref, null); + } catch (error$7) { + captureCommitPhaseError(current2, nearestMountedAncestor, error$7); + } + else ref.current = null; + } + function commitProfiler(finishedWork, current2, commitStartTime2, effectDuration) { + var _finishedWork$memoize = finishedWork.memoizedProps, id = _finishedWork$memoize.id, onCommit = _finishedWork$memoize.onCommit; + _finishedWork$memoize = _finishedWork$memoize.onRender; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize && _finishedWork$memoize( + id, + current2, + finishedWork.actualDuration, + finishedWork.treeBaseDuration, + finishedWork.actualStartTime, + commitStartTime2 + ); + "function" === typeof onCommit && onCommit( + finishedWork.memoizedProps.id, + current2, + effectDuration, + commitStartTime2 + ); + } + function commitProfilerPostCommitImpl(finishedWork, current2, commitStartTime2, passiveEffectDuration) { + var _finishedWork$memoize2 = finishedWork.memoizedProps; + finishedWork = _finishedWork$memoize2.id; + _finishedWork$memoize2 = _finishedWork$memoize2.onPostCommit; + current2 = null === current2 ? "mount" : "update"; + currentUpdateIsNested && (current2 = "nested-update"); + "function" === typeof _finishedWork$memoize2 && _finishedWork$memoize2( + finishedWork, + current2, + passiveEffectDuration, + commitStartTime2 + ); + } + function commitHostMount(finishedWork) { + var type = finishedWork.type, props = finishedWork.memoizedProps, instance = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitMount, + instance, + type, + props, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitHostUpdate(finishedWork, newProps, oldProps) { + try { + runWithFiberInDEV( + finishedWork, + commitUpdate, + finishedWork.stateNode, + finishedWork.type, + oldProps, + newProps, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function isHostParent(fiber) { + return 5 === fiber.tag || 3 === fiber.tag || 26 === fiber.tag || 27 === fiber.tag && isSingletonScope(fiber.type) || 4 === fiber.tag; + } + function getHostSibling(fiber) { + a: for (; ; ) { + for (; null === fiber.sibling; ) { + if (null === fiber.return || isHostParent(fiber.return)) return null; + fiber = fiber.return; + } + fiber.sibling.return = fiber.return; + for (fiber = fiber.sibling; 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag; ) { + if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a; + if (fiber.flags & 2) continue a; + if (null === fiber.child || 4 === fiber.tag) continue a; + else fiber.child.return = fiber, fiber = fiber.child; + } + if (!(fiber.flags & 2)) return fiber.stateNode; + } + } + function insertOrAppendPlacementNodeIntoContainer(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? (9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent).insertBefore(node, before) : (before = 9 === parent.nodeType ? parent.body : "HTML" === parent.nodeName ? parent.ownerDocument.body : parent, before.appendChild(node), parent = parent._reactRootContainer, null !== parent && void 0 !== parent || null !== before.onclick || (before.onclick = noop$1)); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode, before = null), node = node.child, null !== node)) + for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; + } + function insertOrAppendPlacementNode(node, before, parent) { + var tag = node.tag; + if (5 === tag || 6 === tag) + node = node.stateNode, before ? parent.insertBefore(node, before) : parent.appendChild(node); + else if (4 !== tag && (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode), node = node.child, null !== node)) + for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node; ) + insertOrAppendPlacementNode(node, before, parent), node = node.sibling; + } + function commitPlacement(finishedWork) { + for (var hostParentFiber, parentFiber = finishedWork.return; null !== parentFiber; ) { + if (isHostParent(parentFiber)) { + hostParentFiber = parentFiber; + break; + } + parentFiber = parentFiber.return; + } + if (null == hostParentFiber) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + switch (hostParentFiber.tag) { + case 27: + hostParentFiber = hostParentFiber.stateNode; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + case 5: + parentFiber = hostParentFiber.stateNode; + hostParentFiber.flags & 32 && (resetTextContent(parentFiber), hostParentFiber.flags &= -33); + hostParentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNode( + finishedWork, + hostParentFiber, + parentFiber + ); + break; + case 3: + case 4: + hostParentFiber = hostParentFiber.stateNode.containerInfo; + parentFiber = getHostSibling(finishedWork); + insertOrAppendPlacementNodeIntoContainer( + finishedWork, + parentFiber, + hostParentFiber + ); + break; + default: + throw Error( + "Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue." + ); + } + } + function commitHostSingletonAcquisition(finishedWork) { + var singleton = finishedWork.stateNode, props = finishedWork.memoizedProps; + try { + runWithFiberInDEV( + finishedWork, + acquireSingletonInstance, + finishedWork.type, + props, + singleton, + finishedWork + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function commitBeforeMutationEffects(root2, firstChild) { + root2 = root2.containerInfo; + eventsEnabled = _enabled; + root2 = getActiveElementDeep(root2); + if (hasSelectionCapabilities(root2)) { + if ("selectionStart" in root2) + var JSCompiler_temp = { + start: root2.selectionStart, + end: root2.selectionEnd + }; + else + a: { + JSCompiler_temp = (JSCompiler_temp = root2.ownerDocument) && JSCompiler_temp.defaultView || window; + var selection = JSCompiler_temp.getSelection && JSCompiler_temp.getSelection(); + if (selection && 0 !== selection.rangeCount) { + JSCompiler_temp = selection.anchorNode; + var anchorOffset = selection.anchorOffset, focusNode = selection.focusNode; + selection = selection.focusOffset; + try { + JSCompiler_temp.nodeType, focusNode.nodeType; + } catch (e$2) { + JSCompiler_temp = null; + break a; + } + var length = 0, start = -1, end = -1, indexWithinAnchor = 0, indexWithinFocus = 0, node = root2, parentNode = null; + b: for (; ; ) { + for (var next; ; ) { + node !== JSCompiler_temp || 0 !== anchorOffset && 3 !== node.nodeType || (start = length + anchorOffset); + node !== focusNode || 0 !== selection && 3 !== node.nodeType || (end = length + selection); + 3 === node.nodeType && (length += node.nodeValue.length); + if (null === (next = node.firstChild)) break; + parentNode = node; + node = next; + } + for (; ; ) { + if (node === root2) break b; + parentNode === JSCompiler_temp && ++indexWithinAnchor === anchorOffset && (start = length); + parentNode === focusNode && ++indexWithinFocus === selection && (end = length); + if (null !== (next = node.nextSibling)) break; + node = parentNode; + parentNode = node.parentNode; + } + node = next; + } + JSCompiler_temp = -1 === start || -1 === end ? null : { start, end }; + } else JSCompiler_temp = null; + } + JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 }; + } else JSCompiler_temp = null; + selectionInformation = { + focusedElem: root2, + selectionRange: JSCompiler_temp + }; + _enabled = false; + for (nextEffect = firstChild; null !== nextEffect; ) + if (firstChild = nextEffect, root2 = firstChild.child, 0 !== (firstChild.subtreeFlags & 1024) && null !== root2) + root2.return = firstChild, nextEffect = root2; + else + for (; null !== nextEffect; ) { + root2 = firstChild = nextEffect; + JSCompiler_temp = root2.alternate; + anchorOffset = root2.flags; + switch (root2.tag) { + case 0: + break; + case 11: + case 15: + break; + case 1: + 0 !== (anchorOffset & 1024) && null !== JSCompiler_temp && commitClassSnapshot(root2, JSCompiler_temp); + break; + case 3: + if (0 !== (anchorOffset & 1024)) { + if (root2 = root2.stateNode.containerInfo, JSCompiler_temp = root2.nodeType, 9 === JSCompiler_temp) + clearContainerSparingly(root2); + else if (1 === JSCompiler_temp) + switch (root2.nodeName) { + case "HEAD": + case "HTML": + case "BODY": + clearContainerSparingly(root2); + break; + default: + root2.textContent = ""; + } + } + break; + case 5: + case 26: + case 27: + case 6: + case 4: + case 17: + break; + default: + if (0 !== (anchorOffset & 1024)) + throw Error( + "This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue." + ); + } + root2 = firstChild.sibling; + if (null !== root2) { + root2.return = firstChild.return; + nextEffect = root2; + break; + } + nextEffect = firstChild.return; + } + } + function commitLayoutEffectOnFiber(finishedRoot, current2, finishedWork) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitHookLayoutEffects(finishedWork, Layout | HasEffect); + break; + case 1: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 4) + if (finishedRoot = finishedWork.stateNode, null === current2) + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidMount. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )), shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + finishedRoot + ); + else { + var prevProps = resolveClassComponentProps( + finishedWork.type, + current2.memoizedProps + ); + current2 = current2.memoizedState; + finishedWork.type.defaultProps || "ref" in finishedWork.memoizedProps || didWarnAboutReassigningProps || (finishedRoot.props !== finishedWork.memoizedProps && console.error( + "Expected %s props to match memoized props before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.props`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + ), finishedRoot.state !== finishedWork.memoizedState && console.error( + "Expected %s state to match memoized state before componentDidUpdate. This might either be because of a bug in React, or because a component reassigns its own `this.state`. Please file an issue.", + getComponentNameFromFiber(finishedWork) || "instance" + )); + shouldProfile(finishedWork) ? (startEffectTimer(), runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ), recordEffectDuration()) : runWithFiberInDEV( + finishedWork, + callComponentDidUpdateInDEV, + finishedWork, + finishedRoot, + prevProps, + current2, + finishedRoot.__reactInternalSnapshotBeforeUpdate + ); + } + flags & 64 && commitClassCallbacks(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 3: + current2 = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + if (flags & 64 && (flags = finishedWork.updateQueue, null !== flags)) { + prevProps = null; + if (null !== finishedWork.child) + switch (finishedWork.child.tag) { + case 27: + case 5: + prevProps = finishedWork.child.stateNode; + break; + case 1: + prevProps = finishedWork.child.stateNode; + } + try { + runWithFiberInDEV( + finishedWork, + commitCallbacks, + flags, + prevProps + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + finishedRoot.effectDuration += popNestedEffectDurations(current2); + break; + case 27: + null === current2 && flags & 4 && commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + null === current2 && flags & 4 && commitHostMount(finishedWork); + flags & 512 && safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + finishedRoot = finishedWork.stateNode; + finishedRoot.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + finishedRoot.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + break; + case 13: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + flags & 64 && (finishedRoot = finishedWork.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot && (finishedWork = retryDehydratedSuspenseBoundary.bind( + null, + finishedWork + ), registerSuspenseInstanceRetry(finishedRoot, finishedWork)))); + break; + case 22: + flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden; + if (!flags) { + current2 = null !== current2 && null !== current2.memoizedState || offscreenSubtreeWasHidden; + prevProps = offscreenSubtreeIsHidden; + var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = flags; + (offscreenSubtreeWasHidden = current2) && !prevOffscreenSubtreeWasHidden ? recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + 0 !== (finishedWork.subtreeFlags & 8772) + ) : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + offscreenSubtreeIsHidden = prevProps; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + } + break; + case 30: + break; + default: + recursivelyTraverseLayoutEffects(finishedRoot, finishedWork); + } + } + function detachFiberAfterEffects(fiber) { + var alternate = fiber.alternate; + null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate)); + fiber.child = null; + fiber.deletions = null; + fiber.sibling = null; + 5 === fiber.tag && (alternate = fiber.stateNode, null !== alternate && detachDeletedInstance(alternate)); + fiber.stateNode = null; + fiber._debugOwner = null; + fiber.return = null; + fiber.dependencies = null; + fiber.memoizedProps = null; + fiber.memoizedState = null; + fiber.pendingProps = null; + fiber.stateNode = null; + fiber.updateQueue = null; + } + function recursivelyTraverseDeletionEffects(finishedRoot, nearestMountedAncestor, parent) { + for (parent = parent.child; null !== parent; ) + commitDeletionEffectsOnFiber( + finishedRoot, + nearestMountedAncestor, + parent + ), parent = parent.sibling; + } + function commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, deletedFiber) { + if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) + try { + injectedHook.onCommitFiberUnmount(rendererID, deletedFiber); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + switch (deletedFiber.tag) { + case 26: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + deletedFiber.memoizedState ? deletedFiber.memoizedState.count-- : deletedFiber.stateNode && (deletedFiber = deletedFiber.stateNode, deletedFiber.parentNode.removeChild(deletedFiber)); + break; + case 27: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + var prevHostParent = hostParent, prevHostParentIsContainer = hostParentIsContainer; + isSingletonScope(deletedFiber.type) && (hostParent = deletedFiber.stateNode, hostParentIsContainer = false); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + runWithFiberInDEV( + deletedFiber, + releaseSingletonInstance, + deletedFiber.stateNode + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 5: + offscreenSubtreeWasHidden || safelyDetachRef(deletedFiber, nearestMountedAncestor); + case 6: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = null; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + if (null !== hostParent) + if (hostParentIsContainer) + try { + runWithFiberInDEV( + deletedFiber, + removeChildFromContainer, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + else + try { + runWithFiberInDEV( + deletedFiber, + removeChild, + hostParent, + deletedFiber.stateNode + ); + } catch (error) { + captureCommitPhaseError( + deletedFiber, + nearestMountedAncestor, + error + ); + } + break; + case 18: + null !== hostParent && (hostParentIsContainer ? (finishedRoot = hostParent, clearSuspenseBoundary( + 9 === finishedRoot.nodeType ? finishedRoot.body : "HTML" === finishedRoot.nodeName ? finishedRoot.ownerDocument.body : finishedRoot, + deletedFiber.stateNode + ), retryIfBlockedOn(finishedRoot)) : clearSuspenseBoundary(hostParent, deletedFiber.stateNode)); + break; + case 4: + prevHostParent = hostParent; + prevHostParentIsContainer = hostParentIsContainer; + hostParent = deletedFiber.stateNode.containerInfo; + hostParentIsContainer = true; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + hostParent = prevHostParent; + hostParentIsContainer = prevHostParentIsContainer; + break; + case 0: + case 11: + case 14: + case 15: + offscreenSubtreeWasHidden || commitHookEffectListUnmount( + Insertion, + deletedFiber, + nearestMountedAncestor + ); + offscreenSubtreeWasHidden || commitHookLayoutUnmountEffects( + deletedFiber, + nearestMountedAncestor, + Layout + ); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 1: + offscreenSubtreeWasHidden || (safelyDetachRef(deletedFiber, nearestMountedAncestor), prevHostParent = deletedFiber.stateNode, "function" === typeof prevHostParent.componentWillUnmount && safelyCallComponentWillUnmount( + deletedFiber, + nearestMountedAncestor, + prevHostParent + )); + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 21: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + break; + case 22: + offscreenSubtreeWasHidden = (prevHostParent = offscreenSubtreeWasHidden) || null !== deletedFiber.memoizedState; + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + offscreenSubtreeWasHidden = prevHostParent; + break; + default: + recursivelyTraverseDeletionEffects( + finishedRoot, + nearestMountedAncestor, + deletedFiber + ); + } + } + function commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) { + if (null === finishedWork.memoizedState && (finishedRoot = finishedWork.alternate, null !== finishedRoot && (finishedRoot = finishedRoot.memoizedState, null !== finishedRoot && (finishedRoot = finishedRoot.dehydrated, null !== finishedRoot)))) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedSuspenseInstance, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + function getRetryCache(finishedWork) { + switch (finishedWork.tag) { + case 13: + case 19: + var retryCache = finishedWork.stateNode; + null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet()); + return retryCache; + case 22: + return finishedWork = finishedWork.stateNode, retryCache = finishedWork._retryCache, null === retryCache && (retryCache = finishedWork._retryCache = new PossiblyWeakSet()), retryCache; + default: + throw Error( + "Unexpected Suspense handler tag (" + finishedWork.tag + "). This is a bug in React." + ); + } + } + function attachSuspenseRetryListeners(finishedWork, wakeables) { + var retryCache = getRetryCache(finishedWork); + wakeables.forEach(function(wakeable) { + var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable); + if (!retryCache.has(wakeable)) { + retryCache.add(wakeable); + if (isDevToolsPresent) + if (null !== inProgressLanes && null !== inProgressRoot) + restorePendingUpdaters(inProgressRoot, inProgressLanes); + else + throw Error( + "Expected finished root and lanes to be set. This is a bug in React." + ); + wakeable.then(retry, retry); + } + }); + } + function recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) { + var deletions = parentFiber.deletions; + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var root2 = root$jscomp$0, returnFiber = parentFiber, deletedFiber = deletions[i], parent = returnFiber; + a: for (; null !== parent; ) { + switch (parent.tag) { + case 27: + if (isSingletonScope(parent.type)) { + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + } + break; + case 5: + hostParent = parent.stateNode; + hostParentIsContainer = false; + break a; + case 3: + case 4: + hostParent = parent.stateNode.containerInfo; + hostParentIsContainer = true; + break a; + } + parent = parent.return; + } + if (null === hostParent) + throw Error( + "Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue." + ); + commitDeletionEffectsOnFiber(root2, returnFiber, deletedFiber); + hostParent = null; + hostParentIsContainer = false; + root2 = deletedFiber; + returnFiber = root2.alternate; + null !== returnFiber && (returnFiber.return = null); + root2.return = null; + } + if (parentFiber.subtreeFlags & 13878) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitMutationEffectsOnFiber(parentFiber, root$jscomp$0), parentFiber = parentFiber.sibling; + } + function commitMutationEffectsOnFiber(finishedWork, root2) { + var current2 = finishedWork.alternate, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (commitHookEffectListUnmount( + Insertion | HasEffect, + finishedWork, + finishedWork.return + ), commitHookEffectListMount(Insertion | HasEffect, finishedWork), commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout | HasEffect + )); + break; + case 1: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + flags & 64 && offscreenSubtreeIsHidden && (finishedWork = finishedWork.updateQueue, null !== finishedWork && (flags = finishedWork.callbacks, null !== flags && (current2 = finishedWork.shared.hiddenCallbacks, finishedWork.shared.hiddenCallbacks = null === current2 ? flags : current2.concat(flags)))); + break; + case 26: + var hoistableRoot = currentHoistableRoot; + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (flags & 4) + if (root2 = null !== current2 ? current2.memoizedState : null, flags = finishedWork.memoizedState, null === current2) + if (null === flags) + if (null === finishedWork.stateNode) { + a: { + flags = finishedWork.type; + current2 = finishedWork.memoizedProps; + root2 = hoistableRoot.ownerDocument || hoistableRoot; + b: switch (flags) { + case "title": + hoistableRoot = root2.getElementsByTagName("title")[0]; + if (!hoistableRoot || hoistableRoot[internalHoistableMarker] || hoistableRoot[internalInstanceKey] || hoistableRoot.namespaceURI === SVG_NAMESPACE || hoistableRoot.hasAttribute("itemprop")) + hoistableRoot = root2.createElement(flags), root2.head.insertBefore( + hoistableRoot, + root2.querySelector("head > title") + ); + setInitialProperties(hoistableRoot, flags, current2); + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + break a; + case "link": + var maybeNodes = getHydratableHoistableCache( + "link", + "href", + root2 + ).get(flags + (current2.href || "")); + if (maybeNodes) { + for (var i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], hoistableRoot.getAttribute("href") === (null == current2.href || "" === current2.href ? null : current2.href) && hoistableRoot.getAttribute("rel") === (null == current2.rel ? null : current2.rel) && hoistableRoot.getAttribute("title") === (null == current2.title ? null : current2.title) && hoistableRoot.getAttribute("crossorigin") === (null == current2.crossOrigin ? null : current2.crossOrigin)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + case "meta": + if (maybeNodes = getHydratableHoistableCache( + "meta", + "content", + root2 + ).get(flags + (current2.content || ""))) { + for (i = 0; i < maybeNodes.length; i++) + if (hoistableRoot = maybeNodes[i], checkAttributeStringCoercion( + current2.content, + "content" + ), hoistableRoot.getAttribute("content") === (null == current2.content ? null : "" + current2.content) && hoistableRoot.getAttribute("name") === (null == current2.name ? null : current2.name) && hoistableRoot.getAttribute("property") === (null == current2.property ? null : current2.property) && hoistableRoot.getAttribute("http-equiv") === (null == current2.httpEquiv ? null : current2.httpEquiv) && hoistableRoot.getAttribute("charset") === (null == current2.charSet ? null : current2.charSet)) { + maybeNodes.splice(i, 1); + break b; + } + } + hoistableRoot = root2.createElement(flags); + setInitialProperties(hoistableRoot, flags, current2); + root2.head.appendChild(hoistableRoot); + break; + default: + throw Error( + 'getNodesForType encountered a type it did not expect: "' + flags + '". This is a bug in React.' + ); + } + hoistableRoot[internalInstanceKey] = finishedWork; + markNodeAsHoistable(hoistableRoot); + flags = hoistableRoot; + } + finishedWork.stateNode = flags; + } else + mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ); + else + finishedWork.stateNode = acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + ); + else + root2 !== flags ? (null === root2 ? null !== current2.stateNode && (current2 = current2.stateNode, current2.parentNode.removeChild(current2)) : root2.count--, null === flags ? mountHoistable( + hoistableRoot, + finishedWork.type, + finishedWork.stateNode + ) : acquireResource( + hoistableRoot, + flags, + finishedWork.memoizedProps + )) : null === flags && null !== finishedWork.stateNode && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 27: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + null !== current2 && flags & 4 && commitHostUpdate( + finishedWork, + finishedWork.memoizedProps, + current2.memoizedProps + ); + break; + case 5: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 512 && (offscreenSubtreeWasHidden || null === current2 || safelyDetachRef(current2, current2.return)); + if (finishedWork.flags & 32) { + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV(finishedWork, resetTextContent, root2); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + flags & 4 && null != finishedWork.stateNode && (root2 = finishedWork.memoizedProps, commitHostUpdate( + finishedWork, + root2, + null !== current2 ? current2.memoizedProps : root2 + )); + flags & 1024 && (needsFormReset = true, "form" !== finishedWork.type && console.error( + "Unexpected host component type. Expected a form. This is a bug in React." + )); + break; + case 6: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + if (flags & 4) { + if (null === finishedWork.stateNode) + throw Error( + "This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue." + ); + flags = finishedWork.memoizedProps; + current2 = null !== current2 ? current2.memoizedProps : flags; + root2 = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitTextUpdate, + root2, + current2, + flags + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + break; + case 3: + hoistableRoot = pushNestedEffectDurations(); + tagCaches = null; + maybeNodes = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot(root2.containerInfo); + recursivelyTraverseMutationEffects(root2, finishedWork); + currentHoistableRoot = maybeNodes; + commitReconciliationEffects(finishedWork); + if (flags & 4 && null !== current2 && current2.memoizedState.isDehydrated) + try { + runWithFiberInDEV( + finishedWork, + commitHydratedContainer, + root2.containerInfo + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + needsFormReset && (needsFormReset = false, recursivelyResetForms(finishedWork)); + root2.effectDuration += popNestedEffectDurations(hoistableRoot); + break; + case 4: + flags = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + finishedWork.stateNode.containerInfo + ); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + currentHoistableRoot = flags; + break; + case 12: + flags = pushNestedEffectDurations(); + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.stateNode.effectDuration += bubbleNestedEffectDurations(flags); + break; + case 13: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + finishedWork.child.flags & 8192 && null !== finishedWork.memoizedState !== (null !== current2 && null !== current2.memoizedState) && (globalMostRecentFallbackTime = now$1()); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 22: + hoistableRoot = null !== finishedWork.memoizedState; + var wasHidden = null !== current2 && null !== current2.memoizedState, prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden, prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot; + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden; + recursivelyTraverseMutationEffects(root2, finishedWork); + offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden; + offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden; + commitReconciliationEffects(finishedWork); + if (flags & 8192) + a: for (root2 = finishedWork.stateNode, root2._visibility = hoistableRoot ? root2._visibility & ~OffscreenVisible : root2._visibility | OffscreenVisible, hoistableRoot && (null === current2 || wasHidden || offscreenSubtreeIsHidden || offscreenSubtreeWasHidden || recursivelyTraverseDisappearLayoutEffects(finishedWork)), current2 = null, root2 = finishedWork; ; ) { + if (5 === root2.tag || 26 === root2.tag) { + if (null === current2) { + wasHidden = current2 = root2; + try { + maybeNodes = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideInstance, maybeNodes) : runWithFiberInDEV( + wasHidden, + unhideInstance, + wasHidden.stateNode, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if (6 === root2.tag) { + if (null === current2) { + wasHidden = root2; + try { + i = wasHidden.stateNode, hoistableRoot ? runWithFiberInDEV(wasHidden, hideTextInstance, i) : runWithFiberInDEV( + wasHidden, + unhideTextInstance, + i, + wasHidden.memoizedProps + ); + } catch (error) { + captureCommitPhaseError(wasHidden, wasHidden.return, error); + } + } + } else if ((22 !== root2.tag && 23 !== root2.tag || null === root2.memoizedState || root2 === finishedWork) && null !== root2.child) { + root2.child.return = root2; + root2 = root2.child; + continue; + } + if (root2 === finishedWork) break a; + for (; null === root2.sibling; ) { + if (null === root2.return || root2.return === finishedWork) + break a; + current2 === root2 && (current2 = null); + root2 = root2.return; + } + current2 === root2 && (current2 = null); + root2.sibling.return = root2.return; + root2 = root2.sibling; + } + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (current2 = flags.retryQueue, null !== current2 && (flags.retryQueue = null, attachSuspenseRetryListeners(finishedWork, current2)))); + break; + case 19: + recursivelyTraverseMutationEffects(root2, finishedWork); + commitReconciliationEffects(finishedWork); + flags & 4 && (flags = finishedWork.updateQueue, null !== flags && (finishedWork.updateQueue = null, attachSuspenseRetryListeners(finishedWork, flags))); + break; + case 30: + break; + case 21: + break; + default: + recursivelyTraverseMutationEffects(root2, finishedWork), commitReconciliationEffects(finishedWork); + } + } + function commitReconciliationEffects(finishedWork) { + var flags = finishedWork.flags; + if (flags & 2) { + try { + runWithFiberInDEV(finishedWork, commitPlacement, finishedWork); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + finishedWork.flags &= -3; + } + flags & 4096 && (finishedWork.flags &= -4097); + } + function recursivelyResetForms(parentFiber) { + if (parentFiber.subtreeFlags & 1024) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var fiber = parentFiber; + recursivelyResetForms(fiber); + 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset(); + parentFiber = parentFiber.sibling; + } + } + function recursivelyTraverseLayoutEffects(root2, parentFiber) { + if (parentFiber.subtreeFlags & 8772) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitLayoutEffectOnFiber(root2, parentFiber.alternate, parentFiber), parentFiber = parentFiber.sibling; + } + function disappearLayoutEffects(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 14: + case 15: + commitHookLayoutUnmountEffects( + finishedWork, + finishedWork.return, + Layout + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 1: + safelyDetachRef(finishedWork, finishedWork.return); + var instance = finishedWork.stateNode; + "function" === typeof instance.componentWillUnmount && safelyCallComponentWillUnmount( + finishedWork, + finishedWork.return, + instance + ); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 27: + runWithFiberInDEV( + finishedWork, + releaseSingletonInstance, + finishedWork.stateNode + ); + case 26: + case 5: + safelyDetachRef(finishedWork, finishedWork.return); + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + case 30: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + break; + default: + recursivelyTraverseDisappearLayoutEffects(finishedWork); + } + } + function recursivelyTraverseDisappearLayoutEffects(parentFiber) { + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disappearLayoutEffects(parentFiber), parentFiber = parentFiber.sibling; + } + function reappearLayoutEffects(finishedRoot, current2, finishedWork, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + commitHookLayoutEffects(finishedWork, Layout); + break; + case 1: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + current2 = finishedWork.stateNode; + "function" === typeof current2.componentDidMount && runWithFiberInDEV( + finishedWork, + callComponentDidMountInDEV, + finishedWork, + current2 + ); + current2 = finishedWork.updateQueue; + if (null !== current2) { + finishedRoot = finishedWork.stateNode; + try { + runWithFiberInDEV( + finishedWork, + commitHiddenCallbacks, + current2, + finishedRoot + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + includeWorkInProgressEffects && flags & 64 && commitClassCallbacks(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 27: + commitHostSingletonAcquisition(finishedWork); + case 26: + case 5: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && null === current2 && flags & 4 && commitHostMount(finishedWork); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 12: + if (includeWorkInProgressEffects && flags & 4) { + flags = pushNestedEffectDurations(); + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects = finishedWork.stateNode; + includeWorkInProgressEffects.effectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfiler, + finishedWork, + current2, + commitStartTime, + includeWorkInProgressEffects.effectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + break; + case 13: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork); + break; + case 22: + null === finishedWork.memoizedState && recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + safelyAttachRef(finishedWork, finishedWork.return); + break; + case 30: + break; + default: + recursivelyTraverseReappearLayoutEffects( + finishedRoot, + finishedWork, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseReappearLayoutEffects(finishedRoot, parentFiber, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reappearLayoutEffects( + finishedRoot, + parentFiber.alternate, + parentFiber, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function commitOffscreenPassiveMountEffects(current2, finishedWork) { + var previousCache = null; + null !== current2 && null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (previousCache = current2.memoizedState.cachePool.pool); + current2 = null; + null !== finishedWork.memoizedState && null !== finishedWork.memoizedState.cachePool && (current2 = finishedWork.memoizedState.cachePool.pool); + current2 !== previousCache && (null != current2 && retainCache(current2), null != previousCache && releaseCache(previousCache)); + } + function commitCachePassiveMountEffect(current2, finishedWork) { + current2 = null; + null !== finishedWork.alternate && (current2 = finishedWork.alternate.memoizedState.cache); + finishedWork = finishedWork.memoizedState.cache; + finishedWork !== current2 && (retainCache(finishedWork), null != current2 && releaseCache(current2)); + } + function recursivelyTraversePassiveMountEffects(root2, parentFiber, committedLanes, committedTransitions) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveMountOnFiber( + root2, + parentFiber, + committedLanes, + committedTransitions + ), parentFiber = parentFiber.sibling; + } + function commitPassiveMountOnFiber(finishedRoot, finishedWork, committedLanes, committedTransitions) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitHookPassiveMountEffects(finishedWork, Passive | HasEffect); + break; + case 1: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && (committedLanes = null, null !== finishedWork.alternate && (committedLanes = finishedWork.alternate.memoizedState.cache), finishedWork = finishedWork.memoizedState.cache, finishedWork !== committedLanes && (retainCache(finishedWork), null != committedLanes && releaseCache(committedLanes))); + finishedRoot.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + if (flags & 2048) { + flags = pushNestedEffectDurations(); + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + finishedRoot = finishedWork.stateNode; + finishedRoot.passiveEffectDuration += bubbleNestedEffectDurations(flags); + try { + runWithFiberInDEV( + finishedWork, + commitProfilerPostCommitImpl, + finishedWork, + finishedWork.alternate, + commitStartTime, + finishedRoot.passiveEffectDuration + ); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } else + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 13: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + break; + case 23: + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + var _current = finishedWork.alternate; + null !== finishedWork.memoizedState ? prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : prevEffectDuration._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ) : (prevEffectDuration._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + 0 !== (finishedWork.subtreeFlags & 10256) + )); + flags & 2048 && commitOffscreenPassiveMountEffects(_current, finishedWork); + break; + case 24: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraversePassiveMountEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions + ); + } + } + function recursivelyTraverseReconnectPassiveEffects(finishedRoot, parentFiber, committedLanes, committedTransitions, includeWorkInProgressEffects) { + includeWorkInProgressEffects = includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256); + for (parentFiber = parentFiber.child; null !== parentFiber; ) + reconnectPassiveEffects( + finishedRoot, + parentFiber, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ), parentFiber = parentFiber.sibling; + } + function reconnectPassiveEffects(finishedRoot, finishedWork, committedLanes, committedTransitions, includeWorkInProgressEffects) { + var flags = finishedWork.flags; + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + commitHookPassiveMountEffects(finishedWork, Passive); + break; + case 23: + break; + case 22: + var _instance2 = finishedWork.stateNode; + null !== finishedWork.memoizedState ? _instance2._visibility & OffscreenPassiveEffectsConnected ? recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ) : recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ) : (_instance2._visibility |= OffscreenPassiveEffectsConnected, recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + )); + includeWorkInProgressEffects && flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + includeWorkInProgressEffects && flags & 2048 && commitCachePassiveMountEffect(finishedWork.alternate, finishedWork); + break; + default: + recursivelyTraverseReconnectPassiveEffects( + finishedRoot, + finishedWork, + committedLanes, + committedTransitions, + includeWorkInProgressEffects + ); + } + } + function recursivelyTraverseAtomicPassiveEffects(finishedRoot$jscomp$0, parentFiber) { + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var finishedRoot = finishedRoot$jscomp$0, finishedWork = parentFiber, flags = finishedWork.flags; + switch (finishedWork.tag) { + case 22: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitOffscreenPassiveMountEffects( + finishedWork.alternate, + finishedWork + ); + break; + case 24: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + flags & 2048 && commitCachePassiveMountEffect( + finishedWork.alternate, + finishedWork + ); + break; + default: + recursivelyTraverseAtomicPassiveEffects( + finishedRoot, + finishedWork + ); + } + parentFiber = parentFiber.sibling; + } + } + function recursivelyAccumulateSuspenseyCommit(parentFiber) { + if (parentFiber.subtreeFlags & suspenseyCommitFlag) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + accumulateSuspenseyCommitOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function accumulateSuspenseyCommitOnFiber(fiber) { + switch (fiber.tag) { + case 26: + recursivelyAccumulateSuspenseyCommit(fiber); + fiber.flags & suspenseyCommitFlag && null !== fiber.memoizedState && suspendResource( + currentHoistableRoot, + fiber.memoizedState, + fiber.memoizedProps + ); + break; + case 5: + recursivelyAccumulateSuspenseyCommit(fiber); + break; + case 3: + case 4: + var previousHoistableRoot = currentHoistableRoot; + currentHoistableRoot = getHoistableRoot( + fiber.stateNode.containerInfo + ); + recursivelyAccumulateSuspenseyCommit(fiber); + currentHoistableRoot = previousHoistableRoot; + break; + case 22: + null === fiber.memoizedState && (previousHoistableRoot = fiber.alternate, null !== previousHoistableRoot && null !== previousHoistableRoot.memoizedState ? (previousHoistableRoot = suspenseyCommitFlag, suspenseyCommitFlag = 16777216, recursivelyAccumulateSuspenseyCommit(fiber), suspenseyCommitFlag = previousHoistableRoot) : recursivelyAccumulateSuspenseyCommit(fiber)); + break; + default: + recursivelyAccumulateSuspenseyCommit(fiber); + } + } + function detachAlternateSiblings(parentFiber) { + var previousFiber = parentFiber.alternate; + if (null !== previousFiber && (parentFiber = previousFiber.child, null !== parentFiber)) { + previousFiber.child = null; + do + previousFiber = parentFiber.sibling, parentFiber.sibling = null, parentFiber = previousFiber; + while (null !== parentFiber); + } + } + function recursivelyTraversePassiveUnmountEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + if (parentFiber.subtreeFlags & 10256) + for (parentFiber = parentFiber.child; null !== parentFiber; ) + commitPassiveUnmountOnFiber(parentFiber), parentFiber = parentFiber.sibling; + } + function commitPassiveUnmountOnFiber(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.flags & 2048 && commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive | HasEffect + ); + break; + case 3: + var prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += popNestedEffectDurations(prevEffectDuration); + break; + case 12: + prevEffectDuration = pushNestedEffectDurations(); + recursivelyTraversePassiveUnmountEffects(finishedWork); + finishedWork.stateNode.passiveEffectDuration += bubbleNestedEffectDurations(prevEffectDuration); + break; + case 22: + prevEffectDuration = finishedWork.stateNode; + null !== finishedWork.memoizedState && prevEffectDuration._visibility & OffscreenPassiveEffectsConnected && (null === finishedWork.return || 13 !== finishedWork.return.tag) ? (prevEffectDuration._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)) : recursivelyTraversePassiveUnmountEffects(finishedWork); + break; + default: + recursivelyTraversePassiveUnmountEffects(finishedWork); + } + } + function recursivelyTraverseDisconnectPassiveEffects(parentFiber) { + var deletions = parentFiber.deletions; + if (0 !== (parentFiber.flags & 16)) { + if (null !== deletions) + for (var i = 0; i < deletions.length; i++) { + var childToDelete = deletions[i]; + nextEffect = childToDelete; + commitPassiveUnmountEffectsInsideOfDeletedTree_begin( + childToDelete, + parentFiber + ); + } + detachAlternateSiblings(parentFiber); + } + for (parentFiber = parentFiber.child; null !== parentFiber; ) + disconnectPassiveEffect(parentFiber), parentFiber = parentFiber.sibling; + } + function disconnectPassiveEffect(finishedWork) { + switch (finishedWork.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + finishedWork, + finishedWork.return, + Passive + ); + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + break; + case 22: + var instance = finishedWork.stateNode; + instance._visibility & OffscreenPassiveEffectsConnected && (instance._visibility &= ~OffscreenPassiveEffectsConnected, recursivelyTraverseDisconnectPassiveEffects(finishedWork)); + break; + default: + recursivelyTraverseDisconnectPassiveEffects(finishedWork); + } + } + function commitPassiveUnmountEffectsInsideOfDeletedTree_begin(deletedSubtreeRoot, nearestMountedAncestor) { + for (; null !== nextEffect; ) { + var fiber = nextEffect, current2 = fiber; + switch (current2.tag) { + case 0: + case 11: + case 15: + commitHookPassiveUnmountEffects( + current2, + nearestMountedAncestor, + Passive + ); + break; + case 23: + case 22: + null !== current2.memoizedState && null !== current2.memoizedState.cachePool && (current2 = current2.memoizedState.cachePool.pool, null != current2 && retainCache(current2)); + break; + case 24: + releaseCache(current2.memoizedState.cache); + } + current2 = fiber.child; + if (null !== current2) current2.return = fiber, nextEffect = current2; + else + a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) { + current2 = nextEffect; + var sibling = current2.sibling, returnFiber = current2.return; + detachFiberAfterEffects(current2); + if (current2 === fiber) { + nextEffect = null; + break a; + } + if (null !== sibling) { + sibling.return = returnFiber; + nextEffect = sibling; + break a; + } + nextEffect = returnFiber; + } + } + } + function onCommitRoot() { + commitHooks.forEach(function(commitHook) { + return commitHook(); + }); + } + function isConcurrentActEnvironment() { + var isReactActEnvironmentGlobal = "undefined" !== typeof IS_REACT_ACT_ENVIRONMENT ? IS_REACT_ACT_ENVIRONMENT : void 0; + isReactActEnvironmentGlobal || null === ReactSharedInternals.actQueue || console.error( + "The current testing environment is not configured to support act(...)" + ); + return isReactActEnvironmentGlobal; + } + function requestUpdateLane(fiber) { + if ((executionContext & RenderContext) !== NoContext && 0 !== workInProgressRootRenderLanes) + return workInProgressRootRenderLanes & -workInProgressRootRenderLanes; + var transition = ReactSharedInternals.T; + return null !== transition ? (transition._updatedFibers || (transition._updatedFibers = /* @__PURE__ */ new Set()), transition._updatedFibers.add(fiber), fiber = currentEntangledLane, 0 !== fiber ? fiber : requestTransitionLane()) : resolveUpdatePriority(); + } + function requestDeferredLane() { + 0 === workInProgressDeferredLane && (workInProgressDeferredLane = 0 === (workInProgressRootRenderLanes & 536870912) || isHydrating ? claimNextTransitionLane() : 536870912); + var suspenseHandler = suspenseHandlerStackCursor.current; + null !== suspenseHandler && (suspenseHandler.flags |= 32); + return workInProgressDeferredLane; + } + function scheduleUpdateOnFiber(root2, fiber, lane) { + isRunningInsertionEffect && console.error("useInsertionEffect must not schedule updates."); + isFlushingPassiveEffects && (didScheduleUpdateDuringPassiveEffects = true); + if (root2 === workInProgressRoot && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + prepareFreshStack(root2, 0), markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + markRootUpdated$1(root2, lane); + if (0 !== (executionContext & RenderContext) && root2 === workInProgressRoot) { + if (isRendering) + switch (fiber.tag) { + case 0: + case 11: + case 15: + root2 = workInProgress && getComponentNameFromFiber(workInProgress) || "Unknown"; + didWarnAboutUpdateInRenderForAnotherComponent.has(root2) || (didWarnAboutUpdateInRenderForAnotherComponent.add(root2), fiber = getComponentNameFromFiber(fiber) || "Unknown", console.error( + "Cannot update a component (`%s`) while rendering a different component (`%s`). To locate the bad setState() call inside `%s`, follow the stack trace as described in https://react.dev/link/setstate-in-render", + fiber, + root2, + root2 + )); + break; + case 1: + didWarnAboutUpdateInRender || (console.error( + "Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state." + ), didWarnAboutUpdateInRender = true); + } + } else + isDevToolsPresent && addFiberToLanesMap(root2, fiber, lane), warnIfUpdatesNotWrappedWithActDEV(fiber), root2 === workInProgressRoot && ((executionContext & RenderContext) === NoContext && (workInProgressRootInterleavedUpdatedLanes |= lane), workInProgressRootExitStatus === RootSuspendedWithDelay && markRootSuspended( + root2, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + )), ensureRootIsScheduled(root2); + } + function performWorkOnRoot(root2, lanes, forceSync) { + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + var shouldTimeSlice = !forceSync && 0 === (lanes & 124) && 0 === (lanes & root2.expiredLanes) || checkIfRootIsPrerendering(root2, lanes), exitStatus = shouldTimeSlice ? renderRootConcurrent(root2, lanes) : renderRootSync(root2, lanes, true), renderWasConcurrent = shouldTimeSlice; + do { + if (exitStatus === RootInProgress) { + workInProgressRootIsPrerendering && !shouldTimeSlice && markRootSuspended(root2, lanes, 0, false); + break; + } else { + forceSync = root2.current.alternate; + if (renderWasConcurrent && !isRenderConsistentWithExternalStores(forceSync)) { + exitStatus = renderRootSync(root2, lanes, false); + renderWasConcurrent = false; + continue; + } + if (exitStatus === RootErrored) { + renderWasConcurrent = lanes; + if (root2.errorRecoveryDisabledLanes & renderWasConcurrent) + var errorRetryLanes = 0; + else + errorRetryLanes = root2.pendingLanes & -536870913, errorRetryLanes = 0 !== errorRetryLanes ? errorRetryLanes : errorRetryLanes & 536870912 ? 536870912 : 0; + if (0 !== errorRetryLanes) { + lanes = errorRetryLanes; + a: { + exitStatus = root2; + var errorRetryLanes$jscomp$0 = errorRetryLanes; + errorRetryLanes = workInProgressRootConcurrentErrors; + var wasRootDehydrated = exitStatus.current.memoizedState.isDehydrated; + wasRootDehydrated && (prepareFreshStack( + exitStatus, + errorRetryLanes$jscomp$0 + ).flags |= 256); + errorRetryLanes$jscomp$0 = renderRootSync( + exitStatus, + errorRetryLanes$jscomp$0, + false + ); + if (errorRetryLanes$jscomp$0 !== RootErrored) { + if (workInProgressRootDidAttachPingListener && !wasRootDehydrated) { + exitStatus.errorRecoveryDisabledLanes |= renderWasConcurrent; + workInProgressRootInterleavedUpdatedLanes |= renderWasConcurrent; + exitStatus = RootSuspendedWithDelay; + break a; + } + exitStatus = workInProgressRootRecoverableErrors; + workInProgressRootRecoverableErrors = errorRetryLanes; + null !== exitStatus && (null === workInProgressRootRecoverableErrors ? workInProgressRootRecoverableErrors = exitStatus : workInProgressRootRecoverableErrors.push.apply( + workInProgressRootRecoverableErrors, + exitStatus + )); + } + exitStatus = errorRetryLanes$jscomp$0; + } + renderWasConcurrent = false; + if (exitStatus !== RootErrored) continue; + } + } + if (exitStatus === RootFatalErrored) { + prepareFreshStack(root2, 0); + markRootSuspended(root2, lanes, 0, true); + break; + } + a: { + shouldTimeSlice = root2; + switch (exitStatus) { + case RootInProgress: + case RootFatalErrored: + throw Error("Root did not complete. This is a bug in React."); + case RootSuspendedWithDelay: + if ((lanes & 4194048) !== lanes) break; + case RootSuspendedAtTheShell: + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + break a; + case RootErrored: + workInProgressRootRecoverableErrors = null; + break; + case RootSuspended: + case RootCompleted: + break; + default: + throw Error("Unknown root exit status."); + } + if (null !== ReactSharedInternals.actQueue) + commitRoot( + shouldTimeSlice, + forceSync, + lanes, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes + ); + else { + if ((lanes & 62914560) === lanes && (renderWasConcurrent = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now$1(), 10 < renderWasConcurrent)) { + markRootSuspended( + shouldTimeSlice, + lanes, + workInProgressDeferredLane, + !workInProgressRootDidSkipSuspendedSiblings + ); + if (0 !== getNextLanes(shouldTimeSlice, 0, true)) break a; + shouldTimeSlice.timeoutHandle = scheduleTimeout( + commitRootWhenReady.bind( + null, + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + THROTTLED_COMMIT, + renderStartTime, + 0 + ), + renderWasConcurrent + ); + break a; + } + commitRootWhenReady( + shouldTimeSlice, + forceSync, + workInProgressRootRecoverableErrors, + workInProgressTransitions, + workInProgressRootDidIncludeRecursiveRenderUpdate, + lanes, + workInProgressDeferredLane, + workInProgressRootInterleavedUpdatedLanes, + workInProgressSuspendedRetryLanes, + workInProgressRootDidSkipSuspendedSiblings, + exitStatus, + IMMEDIATE_COMMIT, + renderStartTime, + 0 + ); + } + } + } + break; + } while (1); + ensureRootIsScheduled(root2); + } + function commitRootWhenReady(root2, finishedWork, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, lanes, spawnedLane, updatedLanes, suspendedRetryLanes, didSkipSuspendedSiblings, exitStatus, suspendedCommitReason, completedRenderStartTime, completedRenderEndTime) { + root2.timeoutHandle = noTimeout; + suspendedCommitReason = finishedWork.subtreeFlags; + if (suspendedCommitReason & 8192 || 16785408 === (suspendedCommitReason & 16785408)) { + if (suspendedState = { stylesheets: null, count: 0, unsuspend: noop }, accumulateSuspenseyCommitOnFiber(finishedWork), suspendedCommitReason = waitForCommitToBeReady(), null !== suspendedCommitReason) { + root2.cancelPendingCommit = suspendedCommitReason( + commitRoot.bind( + null, + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes, + exitStatus, + SUSPENDED_COMMIT, + completedRenderStartTime, + completedRenderEndTime + ) + ); + markRootSuspended( + root2, + lanes, + spawnedLane, + !didSkipSuspendedSiblings + ); + return; + } + } + commitRoot( + root2, + finishedWork, + lanes, + recoverableErrors, + transitions, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + } + function isRenderConsistentWithExternalStores(finishedWork) { + for (var node = finishedWork; ; ) { + var tag = node.tag; + if ((0 === tag || 11 === tag || 15 === tag) && node.flags & 16384 && (tag = node.updateQueue, null !== tag && (tag = tag.stores, null !== tag))) + for (var i = 0; i < tag.length; i++) { + var check = tag[i], getSnapshot = check.getSnapshot; + check = check.value; + try { + if (!objectIs(getSnapshot(), check)) return false; + } catch (error) { + return false; + } + } + tag = node.child; + if (node.subtreeFlags & 16384 && null !== tag) + tag.return = node, node = tag; + else { + if (node === finishedWork) break; + for (; null === node.sibling; ) { + if (null === node.return || node.return === finishedWork) return true; + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + return true; + } + function markRootSuspended(root2, suspendedLanes, spawnedLane, didAttemptEntireTree) { + suspendedLanes &= ~workInProgressRootPingedLanes; + suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes; + root2.suspendedLanes |= suspendedLanes; + root2.pingedLanes &= ~suspendedLanes; + didAttemptEntireTree && (root2.warmLanes |= suspendedLanes); + didAttemptEntireTree = root2.expirationTimes; + for (var lanes = suspendedLanes; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index; + didAttemptEntireTree[index] = -1; + lanes &= ~lane; + } + 0 !== spawnedLane && markSpawnedDeferredLane(root2, spawnedLane, suspendedLanes); + } + function flushSyncWork$1() { + return (executionContext & (RenderContext | CommitContext)) === NoContext ? (flushSyncWorkAcrossRoots_impl(0, false), false) : true; + } + function resetWorkInProgressStack() { + if (null !== workInProgress) { + if (workInProgressSuspendedReason === NotSuspended) + var interruptedWork = workInProgress.return; + else + interruptedWork = workInProgress, resetContextDependencies(), resetHooksOnUnwind(interruptedWork), thenableState = null, thenableIndexCounter = 0, interruptedWork = workInProgress; + for (; null !== interruptedWork; ) + unwindInterruptedWork(interruptedWork.alternate, interruptedWork), interruptedWork = interruptedWork.return; + workInProgress = null; + } + } + function prepareFreshStack(root2, lanes) { + var timeoutHandle = root2.timeoutHandle; + timeoutHandle !== noTimeout && (root2.timeoutHandle = noTimeout, cancelTimeout(timeoutHandle)); + timeoutHandle = root2.cancelPendingCommit; + null !== timeoutHandle && (root2.cancelPendingCommit = null, timeoutHandle()); + resetWorkInProgressStack(); + workInProgressRoot = root2; + workInProgress = timeoutHandle = createWorkInProgress(root2.current, null); + workInProgressRootRenderLanes = lanes; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + workInProgressRootDidSkipSuspendedSiblings = false; + workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root2, lanes); + workInProgressRootDidAttachPingListener = false; + workInProgressRootExitStatus = RootInProgress; + workInProgressSuspendedRetryLanes = workInProgressDeferredLane = workInProgressRootPingedLanes = workInProgressRootInterleavedUpdatedLanes = workInProgressRootSkippedLanes = 0; + workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors = null; + workInProgressRootDidIncludeRecursiveRenderUpdate = false; + 0 !== (lanes & 8) && (lanes |= lanes & 32); + var allEntangledLanes = root2.entangledLanes; + if (0 !== allEntangledLanes) + for (root2 = root2.entanglements, allEntangledLanes &= lanes; 0 < allEntangledLanes; ) { + var index = 31 - clz32(allEntangledLanes), lane = 1 << index; + lanes |= root2[index]; + allEntangledLanes &= ~lane; + } + entangledRenderLanes = lanes; + finishQueueingConcurrentUpdates(); + lanes = getCurrentTime(); + 1e3 < lanes - lastResetTime && (ReactSharedInternals.recentlyCreatedOwnerStacks = 0, lastResetTime = lanes); + ReactStrictModeWarnings.discardPendingWarnings(); + return timeoutHandle; + } + function handleThrow(root2, thrownValue) { + currentlyRenderingFiber = null; + ReactSharedInternals.H = ContextOnlyDispatcher; + ReactSharedInternals.getCurrentStack = null; + isRendering = false; + current = null; + thrownValue === SuspenseException || thrownValue === SuspenseActionException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnImmediate) : thrownValue === SuspenseyCommitException ? (thrownValue = getSuspendedThenable(), workInProgressSuspendedReason = SuspendedOnInstance) : workInProgressSuspendedReason = thrownValue === SelectiveHydrationException ? SuspendedOnHydration : null !== thrownValue && "object" === typeof thrownValue && "function" === typeof thrownValue.then ? SuspendedOnDeprecatedThrowPromise : SuspendedOnError; + workInProgressThrownValue = thrownValue; + var erroredWork = workInProgress; + if (null === erroredWork) + workInProgressRootExitStatus = RootFatalErrored, logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + else + switch (erroredWork.mode & ProfileMode && stopProfilerTimerIfRunningAndRecordDuration(erroredWork), markComponentRenderStopped(), workInProgressSuspendedReason) { + case SuspendedOnError: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentErrored && injectedProfilingHooks.markComponentErrored( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnImmediate: + case SuspendedOnDeprecatedThrowPromise: + case SuspendedAndReadyToContinue: + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markComponentSuspended && injectedProfilingHooks.markComponentSuspended( + erroredWork, + thrownValue, + workInProgressRootRenderLanes + ); + } + } + function pushDispatcher() { + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = ContextOnlyDispatcher; + return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher; + } + function pushAsyncDispatcher() { + var prevAsyncDispatcher = ReactSharedInternals.A; + ReactSharedInternals.A = DefaultAsyncDispatcher; + return prevAsyncDispatcher; + } + function renderDidSuspendDelayIfPossible() { + workInProgressRootExitStatus = RootSuspendedWithDelay; + workInProgressRootDidSkipSuspendedSiblings || (workInProgressRootRenderLanes & 4194048) !== workInProgressRootRenderLanes && null !== suspenseHandlerStackCursor.current || (workInProgressRootIsPrerendering = true); + 0 === (workInProgressRootSkippedLanes & 134217727) && 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727) || null === workInProgressRoot || markRootSuspended( + workInProgressRoot, + workInProgressRootRenderLanes, + workInProgressDeferredLane, + false + ); + } + function renderRootSync(root2, lanes, shouldYieldForPrerendering) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + prepareFreshStack(root2, lanes); + } + markRenderStarted(lanes); + lanes = false; + memoizedUpdaters = workInProgressRootExitStatus; + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) { + var unitOfWork = workInProgress, thrownValue = workInProgressThrownValue; + switch (workInProgressSuspendedReason) { + case SuspendedOnHydration: + resetWorkInProgressStack(); + memoizedUpdaters = RootSuspendedAtTheShell; + break a; + case SuspendedOnImmediate: + case SuspendedOnData: + case SuspendedOnAction: + case SuspendedOnDeprecatedThrowPromise: + null === suspenseHandlerStackCursor.current && (lanes = true); + var reason = workInProgressSuspendedReason; + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + if (shouldYieldForPrerendering && workInProgressRootIsPrerendering) { + memoizedUpdaters = RootInProgress; + break a; + } + break; + default: + reason = workInProgressSuspendedReason, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, reason); + } + } + workLoopSync(); + memoizedUpdaters = workInProgressRootExitStatus; + break; + } catch (thrownValue$8) { + handleThrow(root2, thrownValue$8); + } + while (1); + lanes && root2.shellSuspendCounter++; + resetContextDependencies(); + executionContext = prevExecutionContext; + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + markRenderStopped(); + null === workInProgress && (workInProgressRoot = null, workInProgressRootRenderLanes = 0, finishQueueingConcurrentUpdates()); + return memoizedUpdaters; + } + function workLoopSync() { + for (; null !== workInProgress; ) performUnitOfWork(workInProgress); + } + function renderRootConcurrent(root2, lanes) { + var prevExecutionContext = executionContext; + executionContext |= RenderContext; + var prevDispatcher = pushDispatcher(), prevAsyncDispatcher = pushAsyncDispatcher(); + if (workInProgressRoot !== root2 || workInProgressRootRenderLanes !== lanes) { + if (isDevToolsPresent) { + var memoizedUpdaters = root2.memoizedUpdaters; + 0 < memoizedUpdaters.size && (restorePendingUpdaters(root2, workInProgressRootRenderLanes), memoizedUpdaters.clear()); + movePendingFibersToMemoized(root2, lanes); + } + workInProgressTransitions = null; + workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS; + prepareFreshStack(root2, lanes); + } else + workInProgressRootIsPrerendering = checkIfRootIsPrerendering( + root2, + lanes + ); + markRenderStarted(lanes); + a: do + try { + if (workInProgressSuspendedReason !== NotSuspended && null !== workInProgress) + b: switch (lanes = workInProgress, memoizedUpdaters = workInProgressThrownValue, workInProgressSuspendedReason) { + case SuspendedOnError: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnError + ); + break; + case SuspendedOnData: + case SuspendedOnAction: + if (isThenableResolved(memoizedUpdaters)) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + replaySuspendedUnitOfWork(lanes); + break; + } + lanes = function() { + workInProgressSuspendedReason !== SuspendedOnData && workInProgressSuspendedReason !== SuspendedOnAction || workInProgressRoot !== root2 || (workInProgressSuspendedReason = SuspendedAndReadyToContinue); + ensureRootIsScheduled(root2); + }; + memoizedUpdaters.then(lanes, lanes); + break a; + case SuspendedOnImmediate: + workInProgressSuspendedReason = SuspendedAndReadyToContinue; + break a; + case SuspendedOnInstance: + workInProgressSuspendedReason = SuspendedOnInstanceAndReadyToContinue; + break a; + case SuspendedAndReadyToContinue: + isThenableResolved(memoizedUpdaters) ? (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, replaySuspendedUnitOfWork(lanes)) : (workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedAndReadyToContinue + )); + break; + case SuspendedOnInstanceAndReadyToContinue: + var resource = null; + switch (workInProgress.tag) { + case 26: + resource = workInProgress.memoizedState; + case 5: + case 27: + var hostFiber = workInProgress; + if (resource ? preloadResource(resource) : 1) { + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + var sibling = hostFiber.sibling; + if (null !== sibling) workInProgress = sibling; + else { + var returnFiber = hostFiber.return; + null !== returnFiber ? (workInProgress = returnFiber, completeUnitOfWork(returnFiber)) : workInProgress = null; + } + break b; + } + break; + default: + console.error( + "Unexpected type of fiber triggered a suspensey commit. This is a bug in React." + ); + } + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnInstanceAndReadyToContinue + ); + break; + case SuspendedOnDeprecatedThrowPromise: + workInProgressSuspendedReason = NotSuspended; + workInProgressThrownValue = null; + throwAndUnwindWorkLoop( + root2, + lanes, + memoizedUpdaters, + SuspendedOnDeprecatedThrowPromise + ); + break; + case SuspendedOnHydration: + resetWorkInProgressStack(); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + break a; + default: + throw Error( + "Unexpected SuspendedReason. This is a bug in React." + ); + } + null !== ReactSharedInternals.actQueue ? workLoopSync() : workLoopConcurrentByScheduler(); + break; + } catch (thrownValue$9) { + handleThrow(root2, thrownValue$9); + } + while (1); + resetContextDependencies(); + ReactSharedInternals.H = prevDispatcher; + ReactSharedInternals.A = prevAsyncDispatcher; + executionContext = prevExecutionContext; + if (null !== workInProgress) + return null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderYielded && injectedProfilingHooks.markRenderYielded(), RootInProgress; + markRenderStopped(); + workInProgressRoot = null; + workInProgressRootRenderLanes = 0; + finishQueueingConcurrentUpdates(); + return workInProgressRootExitStatus; + } + function workLoopConcurrentByScheduler() { + for (; null !== workInProgress && !shouldYield(); ) + performUnitOfWork(workInProgress); + } + function performUnitOfWork(unitOfWork) { + var current2 = unitOfWork.alternate; + (unitOfWork.mode & ProfileMode) !== NoMode ? (startProfilerTimer(unitOfWork), current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ), stopProfilerTimerIfRunningAndRecordDuration(unitOfWork)) : current2 = runWithFiberInDEV( + unitOfWork, + beginWork, + current2, + unitOfWork, + entangledRenderLanes + ); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === current2 ? completeUnitOfWork(unitOfWork) : workInProgress = current2; + } + function replaySuspendedUnitOfWork(unitOfWork) { + var next = runWithFiberInDEV(unitOfWork, replayBeginWork, unitOfWork); + unitOfWork.memoizedProps = unitOfWork.pendingProps; + null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next; + } + function replayBeginWork(unitOfWork) { + var current2 = unitOfWork.alternate, isProfilingMode = (unitOfWork.mode & ProfileMode) !== NoMode; + isProfilingMode && startProfilerTimer(unitOfWork); + switch (unitOfWork.tag) { + case 15: + case 0: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type, + void 0, + workInProgressRootRenderLanes + ); + break; + case 11: + current2 = replayFunctionComponent( + current2, + unitOfWork, + unitOfWork.pendingProps, + unitOfWork.type.render, + unitOfWork.ref, + workInProgressRootRenderLanes + ); + break; + case 5: + resetHooksOnUnwind(unitOfWork); + default: + unwindInterruptedWork(current2, unitOfWork), unitOfWork = workInProgress = resetWorkInProgress(unitOfWork, entangledRenderLanes), current2 = beginWork(current2, unitOfWork, entangledRenderLanes); + } + isProfilingMode && stopProfilerTimerIfRunningAndRecordDuration(unitOfWork); + return current2; + } + function throwAndUnwindWorkLoop(root2, unitOfWork, thrownValue, suspendedReason) { + resetContextDependencies(); + resetHooksOnUnwind(unitOfWork); + thenableState = null; + thenableIndexCounter = 0; + var returnFiber = unitOfWork.return; + try { + if (throwException( + root2, + returnFiber, + unitOfWork, + thrownValue, + workInProgressRootRenderLanes + )) { + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + } catch (error) { + if (null !== returnFiber) throw workInProgress = returnFiber, error; + workInProgressRootExitStatus = RootFatalErrored; + logUncaughtError( + root2, + createCapturedValueAtFiber(thrownValue, root2.current) + ); + workInProgress = null; + return; + } + if (unitOfWork.flags & 32768) { + if (isHydrating || suspendedReason === SuspendedOnError) root2 = true; + else if (workInProgressRootIsPrerendering || 0 !== (workInProgressRootRenderLanes & 536870912)) + root2 = false; + else if (workInProgressRootDidSkipSuspendedSiblings = root2 = true, suspendedReason === SuspendedOnData || suspendedReason === SuspendedOnAction || suspendedReason === SuspendedOnImmediate || suspendedReason === SuspendedOnDeprecatedThrowPromise) + suspendedReason = suspenseHandlerStackCursor.current, null !== suspendedReason && 13 === suspendedReason.tag && (suspendedReason.flags |= 16384); + unwindUnitOfWork(unitOfWork, root2); + } else completeUnitOfWork(unitOfWork); + } + function completeUnitOfWork(unitOfWork) { + var completedWork = unitOfWork; + do { + if (0 !== (completedWork.flags & 32768)) { + unwindUnitOfWork( + completedWork, + workInProgressRootDidSkipSuspendedSiblings + ); + return; + } + var current2 = completedWork.alternate; + unitOfWork = completedWork.return; + startProfilerTimer(completedWork); + current2 = runWithFiberInDEV( + completedWork, + completeWork, + current2, + completedWork, + entangledRenderLanes + ); + (completedWork.mode & ProfileMode) !== NoMode && stopProfilerTimerIfRunningAndRecordIncompleteDuration(completedWork); + if (null !== current2) { + workInProgress = current2; + return; + } + completedWork = completedWork.sibling; + if (null !== completedWork) { + workInProgress = completedWork; + return; + } + workInProgress = completedWork = unitOfWork; + } while (null !== completedWork); + workInProgressRootExitStatus === RootInProgress && (workInProgressRootExitStatus = RootCompleted); + } + function unwindUnitOfWork(unitOfWork, skipSiblings) { + do { + var next = unwindWork(unitOfWork.alternate, unitOfWork); + if (null !== next) { + next.flags &= 32767; + workInProgress = next; + return; + } + if ((unitOfWork.mode & ProfileMode) !== NoMode) { + stopProfilerTimerIfRunningAndRecordIncompleteDuration(unitOfWork); + next = unitOfWork.actualDuration; + for (var child = unitOfWork.child; null !== child; ) + next += child.actualDuration, child = child.sibling; + unitOfWork.actualDuration = next; + } + next = unitOfWork.return; + null !== next && (next.flags |= 32768, next.subtreeFlags = 0, next.deletions = null); + if (!skipSiblings && (unitOfWork = unitOfWork.sibling, null !== unitOfWork)) { + workInProgress = unitOfWork; + return; + } + workInProgress = unitOfWork = next; + } while (null !== unitOfWork); + workInProgressRootExitStatus = RootSuspendedAtTheShell; + workInProgress = null; + } + function commitRoot(root2, finishedWork, lanes, recoverableErrors, transitions, didIncludeRenderPhaseUpdate, spawnedLane, updatedLanes, suspendedRetryLanes) { + root2.cancelPendingCommit = null; + do + flushPendingEffects(); + while (pendingEffectsStatus !== NO_PENDING_EFFECTS); + ReactStrictModeWarnings.flushLegacyContextWarning(); + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Should not already be working."); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markCommitStarted && injectedProfilingHooks.markCommitStarted(lanes); + if (null === finishedWork) markCommitStopped(); + else { + 0 === lanes && console.error( + "finishedLanes should not be empty during a commit. This is a bug in React." + ); + if (finishedWork === root2.current) + throw Error( + "Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue." + ); + didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes; + didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes; + markRootFinished( + root2, + lanes, + didIncludeRenderPhaseUpdate, + spawnedLane, + updatedLanes, + suspendedRetryLanes + ); + root2 === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0); + pendingFinishedWork = finishedWork; + pendingEffectsRoot = root2; + pendingEffectsLanes = lanes; + pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate; + pendingPassiveTransitions = transitions; + pendingRecoverableErrors = recoverableErrors; + 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256) ? (root2.callbackNode = null, root2.callbackPriority = 0, scheduleCallback$1(NormalPriority$1, function() { + flushPassiveEffects(true); + return null; + })) : (root2.callbackNode = null, root2.callbackPriority = 0); + commitStartTime = now(); + recoverableErrors = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) { + recoverableErrors = ReactSharedInternals.T; + ReactSharedInternals.T = null; + transitions = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + spawnedLane = executionContext; + executionContext |= CommitContext; + try { + commitBeforeMutationEffects(root2, finishedWork, lanes); + } finally { + executionContext = spawnedLane, ReactDOMSharedInternals.p = transitions, ReactSharedInternals.T = recoverableErrors; + } + } + pendingEffectsStatus = PENDING_MUTATION_PHASE; + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + } + } + function flushMutationEffects() { + if (pendingEffectsStatus === PENDING_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootMutationHasEffect = 0 !== (finishedWork.flags & 13878); + if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) { + rootMutationHasEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + inProgressLanes = lanes; + inProgressRoot = root2; + commitMutationEffectsOnFiber(finishedWork, root2); + inProgressRoot = inProgressLanes = null; + lanes = selectionInformation; + var curFocusedElem = getActiveElementDeep(root2.containerInfo), priorFocusedElem = lanes.focusedElem, priorSelectionRange = lanes.selectionRange; + if (curFocusedElem !== priorFocusedElem && priorFocusedElem && priorFocusedElem.ownerDocument && containsNode( + priorFocusedElem.ownerDocument.documentElement, + priorFocusedElem + )) { + if (null !== priorSelectionRange && hasSelectionCapabilities(priorFocusedElem)) { + var start = priorSelectionRange.start, end = priorSelectionRange.end; + void 0 === end && (end = start); + if ("selectionStart" in priorFocusedElem) + priorFocusedElem.selectionStart = start, priorFocusedElem.selectionEnd = Math.min( + end, + priorFocusedElem.value.length + ); + else { + var doc = priorFocusedElem.ownerDocument || document, win = doc && doc.defaultView || window; + if (win.getSelection) { + var selection = win.getSelection(), length = priorFocusedElem.textContent.length, start$jscomp$0 = Math.min( + priorSelectionRange.start, + length + ), end$jscomp$0 = void 0 === priorSelectionRange.end ? start$jscomp$0 : Math.min(priorSelectionRange.end, length); + !selection.extend && start$jscomp$0 > end$jscomp$0 && (curFocusedElem = end$jscomp$0, end$jscomp$0 = start$jscomp$0, start$jscomp$0 = curFocusedElem); + var startMarker = getNodeForCharacterOffset( + priorFocusedElem, + start$jscomp$0 + ), endMarker = getNodeForCharacterOffset( + priorFocusedElem, + end$jscomp$0 + ); + if (startMarker && endMarker && (1 !== selection.rangeCount || selection.anchorNode !== startMarker.node || selection.anchorOffset !== startMarker.offset || selection.focusNode !== endMarker.node || selection.focusOffset !== endMarker.offset)) { + var range = doc.createRange(); + range.setStart(startMarker.node, startMarker.offset); + selection.removeAllRanges(); + start$jscomp$0 > end$jscomp$0 ? (selection.addRange(range), selection.extend(endMarker.node, endMarker.offset)) : (range.setEnd(endMarker.node, endMarker.offset), selection.addRange(range)); + } + } + } + } + doc = []; + for (selection = priorFocusedElem; selection = selection.parentNode; ) + 1 === selection.nodeType && doc.push({ + element: selection, + left: selection.scrollLeft, + top: selection.scrollTop + }); + "function" === typeof priorFocusedElem.focus && priorFocusedElem.focus(); + for (priorFocusedElem = 0; priorFocusedElem < doc.length; priorFocusedElem++) { + var info = doc[priorFocusedElem]; + info.element.scrollLeft = info.left; + info.element.scrollTop = info.top; + } + } + _enabled = !!eventsEnabled; + selectionInformation = eventsEnabled = null; + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootMutationHasEffect; + } + } + root2.current = finishedWork; + pendingEffectsStatus = PENDING_LAYOUT_PHASE; + } + } + function flushLayoutEffects() { + if (pendingEffectsStatus === PENDING_LAYOUT_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772); + if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) { + rootHasLayoutEffect = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + try { + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStarted && injectedProfilingHooks.markLayoutEffectsStarted(lanes), inProgressLanes = lanes, inProgressRoot = root2, commitLayoutEffectOnFiber( + root2, + finishedWork.alternate, + finishedWork + ), inProgressRoot = inProgressLanes = null, null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markLayoutEffectsStopped && injectedProfilingHooks.markLayoutEffectsStopped(); + } finally { + executionContext = prevExecutionContext, ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = rootHasLayoutEffect; + } + } + pendingEffectsStatus = PENDING_AFTER_MUTATION_PHASE; + } + } + function flushSpawnedWork() { + if (pendingEffectsStatus === PENDING_SPAWNED_WORK || pendingEffectsStatus === PENDING_AFTER_MUTATION_PHASE) { + pendingEffectsStatus = NO_PENDING_EFFECTS; + requestPaint(); + var root2 = pendingEffectsRoot, finishedWork = pendingFinishedWork, lanes = pendingEffectsLanes, recoverableErrors = pendingRecoverableErrors, rootDidHavePassiveEffects = 0 !== (finishedWork.subtreeFlags & 10256) || 0 !== (finishedWork.flags & 10256); + rootDidHavePassiveEffects ? pendingEffectsStatus = PENDING_PASSIVE_PHASE : (pendingEffectsStatus = NO_PENDING_EFFECTS, pendingFinishedWork = pendingEffectsRoot = null, releaseRootPooledCache(root2, root2.pendingLanes), nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null); + var remainingLanes = root2.pendingLanes; + 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null); + rootDidHavePassiveEffects || commitDoubleInvokeEffectsInDEV(root2); + rootDidHavePassiveEffects = lanesToEventPriority(lanes); + finishedWork = finishedWork.stateNode; + if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) + try { + var didError = 128 === (finishedWork.current.flags & 128); + switch (rootDidHavePassiveEffects) { + case DiscreteEventPriority: + var schedulerPriority = ImmediatePriority; + break; + case ContinuousEventPriority: + schedulerPriority = UserBlockingPriority; + break; + case DefaultEventPriority: + schedulerPriority = NormalPriority$1; + break; + case IdleEventPriority: + schedulerPriority = IdlePriority; + break; + default: + schedulerPriority = NormalPriority$1; + } + injectedHook.onCommitFiberRoot( + rendererID, + finishedWork, + schedulerPriority, + didError + ); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + isDevToolsPresent && root2.memoizedUpdaters.clear(); + onCommitRoot(); + if (null !== recoverableErrors) { + didError = ReactSharedInternals.T; + schedulerPriority = ReactDOMSharedInternals.p; + ReactDOMSharedInternals.p = DiscreteEventPriority; + ReactSharedInternals.T = null; + try { + var onRecoverableError = root2.onRecoverableError; + for (finishedWork = 0; finishedWork < recoverableErrors.length; finishedWork++) { + var recoverableError = recoverableErrors[finishedWork], errorInfo = makeErrorInfo(recoverableError.stack); + runWithFiberInDEV( + recoverableError.source, + onRecoverableError, + recoverableError.value, + errorInfo + ); + } + } finally { + ReactSharedInternals.T = didError, ReactDOMSharedInternals.p = schedulerPriority; + } + } + 0 !== (pendingEffectsLanes & 3) && flushPendingEffects(); + ensureRootIsScheduled(root2); + remainingLanes = root2.pendingLanes; + 0 !== (lanes & 4194090) && 0 !== (remainingLanes & 42) ? (nestedUpdateScheduled = true, root2 === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root2)) : nestedUpdateCount = 0; + flushSyncWorkAcrossRoots_impl(0, false); + markCommitStopped(); + } + } + function makeErrorInfo(componentStack) { + componentStack = { componentStack }; + Object.defineProperty(componentStack, "digest", { + get: function() { + console.error( + 'You are accessing "digest" from the errorInfo object passed to onRecoverableError. This property is no longer provided as part of errorInfo but can be accessed as a property of the Error instance itself.' + ); + } + }); + return componentStack; + } + function releaseRootPooledCache(root2, remainingLanes) { + 0 === (root2.pooledCacheLanes &= remainingLanes) && (remainingLanes = root2.pooledCache, null != remainingLanes && (root2.pooledCache = null, releaseCache(remainingLanes))); + } + function flushPendingEffects(wasDelayedCommit) { + flushMutationEffects(); + flushLayoutEffects(); + flushSpawnedWork(); + return flushPassiveEffects(wasDelayedCommit); + } + function flushPassiveEffects() { + if (pendingEffectsStatus !== PENDING_PASSIVE_PHASE) return false; + var root2 = pendingEffectsRoot, remainingLanes = pendingEffectsRemainingLanes; + pendingEffectsRemainingLanes = 0; + var renderPriority = lanesToEventPriority(pendingEffectsLanes), priority = 0 === DefaultEventPriority || DefaultEventPriority > renderPriority ? DefaultEventPriority : renderPriority; + renderPriority = ReactSharedInternals.T; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = priority; + ReactSharedInternals.T = null; + priority = pendingPassiveTransitions; + pendingPassiveTransitions = null; + var root$jscomp$0 = pendingEffectsRoot, lanes = pendingEffectsLanes; + pendingEffectsStatus = NO_PENDING_EFFECTS; + pendingFinishedWork = pendingEffectsRoot = null; + pendingEffectsLanes = 0; + if ((executionContext & (RenderContext | CommitContext)) !== NoContext) + throw Error("Cannot flush passive effects while already rendering."); + isFlushingPassiveEffects = true; + didScheduleUpdateDuringPassiveEffects = false; + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStarted && injectedProfilingHooks.markPassiveEffectsStarted(lanes); + var prevExecutionContext = executionContext; + executionContext |= CommitContext; + commitPassiveUnmountOnFiber(root$jscomp$0.current); + commitPassiveMountOnFiber( + root$jscomp$0, + root$jscomp$0.current, + lanes, + priority + ); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markPassiveEffectsStopped && injectedProfilingHooks.markPassiveEffectsStopped(); + commitDoubleInvokeEffectsInDEV(root$jscomp$0); + executionContext = prevExecutionContext; + flushSyncWorkAcrossRoots_impl(0, false); + didScheduleUpdateDuringPassiveEffects ? root$jscomp$0 === rootWithPassiveNestedUpdates ? nestedPassiveUpdateCount++ : (nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = root$jscomp$0) : nestedPassiveUpdateCount = 0; + didScheduleUpdateDuringPassiveEffects = isFlushingPassiveEffects = false; + if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) + try { + injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + var stateNode = root$jscomp$0.current.stateNode; + stateNode.effectDuration = 0; + stateNode.passiveEffectDuration = 0; + return true; + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = renderPriority, releaseRootPooledCache(root2, remainingLanes); + } + } + function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2); + rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2); + null !== rootFiber && (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber)); + } + function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) { + isRunningInsertionEffect = false; + if (3 === sourceFiber.tag) + captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error); + else { + for (; null !== nearestMountedAncestor; ) { + if (3 === nearestMountedAncestor.tag) { + captureCommitPhaseErrorOnRoot( + nearestMountedAncestor, + sourceFiber, + error + ); + return; + } + if (1 === nearestMountedAncestor.tag) { + var instance = nearestMountedAncestor.stateNode; + if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) { + sourceFiber = createCapturedValueAtFiber(error, sourceFiber); + error = createClassErrorUpdate(2); + instance = enqueueUpdate(nearestMountedAncestor, error, 2); + null !== instance && (initializeClassErrorUpdate( + error, + instance, + nearestMountedAncestor, + sourceFiber + ), markRootUpdated$1(instance, 2), ensureRootIsScheduled(instance)); + return; + } + } + nearestMountedAncestor = nearestMountedAncestor.return; + } + console.error( + "Internal React error: Attempted to capture a commit phase error inside a detached tree. This indicates a bug in React. Potential causes include deleting the same fiber more than once, committing an already-finished tree, or an inconsistent return pointer.\n\nError message:\n\n%s", + error + ); + } + } + function attachPingListener(root2, wakeable, lanes) { + var pingCache = root2.pingCache; + if (null === pingCache) { + pingCache = root2.pingCache = new PossiblyWeakMap(); + var threadIDs = /* @__PURE__ */ new Set(); + pingCache.set(wakeable, threadIDs); + } else + threadIDs = pingCache.get(wakeable), void 0 === threadIDs && (threadIDs = /* @__PURE__ */ new Set(), pingCache.set(wakeable, threadIDs)); + threadIDs.has(lanes) || (workInProgressRootDidAttachPingListener = true, threadIDs.add(lanes), pingCache = pingSuspendedRoot.bind(null, root2, wakeable, lanes), isDevToolsPresent && restorePendingUpdaters(root2, lanes), wakeable.then(pingCache, pingCache)); + } + function pingSuspendedRoot(root2, wakeable, pingedLanes) { + var pingCache = root2.pingCache; + null !== pingCache && pingCache.delete(wakeable); + root2.pingedLanes |= root2.suspendedLanes & pingedLanes; + root2.warmLanes &= ~pingedLanes; + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && console.error( + "A suspended resource finished loading inside a test, but the event was not wrapped in act(...).\n\nWhen testing, code that resolves suspended data should be wrapped into act(...):\n\nact(() => {\n /* finish loading suspended data */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act" + ); + workInProgressRoot === root2 && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && (workInProgressRootRenderLanes & 62914560) === workInProgressRootRenderLanes && now$1() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS ? (executionContext & RenderContext) === NoContext && prepareFreshStack(root2, 0) : workInProgressRootPingedLanes |= pingedLanes, workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes && (workInProgressSuspendedRetryLanes = 0)); + ensureRootIsScheduled(root2); + } + function retryTimedOutBoundary(boundaryFiber, retryLane) { + 0 === retryLane && (retryLane = claimNextRetryLane()); + boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane); + null !== boundaryFiber && (markRootUpdated$1(boundaryFiber, retryLane), ensureRootIsScheduled(boundaryFiber)); + } + function retryDehydratedSuspenseBoundary(boundaryFiber) { + var suspenseState = boundaryFiber.memoizedState, retryLane = 0; + null !== suspenseState && (retryLane = suspenseState.retryLane); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function resolveRetryWakeable(boundaryFiber, wakeable) { + var retryLane = 0; + switch (boundaryFiber.tag) { + case 13: + var retryCache = boundaryFiber.stateNode; + var suspenseState = boundaryFiber.memoizedState; + null !== suspenseState && (retryLane = suspenseState.retryLane); + break; + case 19: + retryCache = boundaryFiber.stateNode; + break; + case 22: + retryCache = boundaryFiber.stateNode._retryCache; + break; + default: + throw Error( + "Pinged unknown suspense boundary type. This is probably a bug in React." + ); + } + null !== retryCache && retryCache.delete(wakeable); + retryTimedOutBoundary(boundaryFiber, retryLane); + } + function recursivelyTraverseAndDoubleInvokeEffectsInDEV(root$jscomp$0, parentFiber, isInStrictMode) { + if (0 !== (parentFiber.subtreeFlags & 67117056)) + for (parentFiber = parentFiber.child; null !== parentFiber; ) { + var root2 = root$jscomp$0, fiber = parentFiber, isStrictModeFiber = fiber.type === REACT_STRICT_MODE_TYPE; + isStrictModeFiber = isInStrictMode || isStrictModeFiber; + 22 !== fiber.tag ? fiber.flags & 67108864 ? isStrictModeFiber && runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber, + (fiber.mode & NoStrictPassiveEffectsMode) === NoMode + ) : recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + fiber, + isStrictModeFiber + ) : null === fiber.memoizedState && (isStrictModeFiber && fiber.flags & 8192 ? runWithFiberInDEV( + fiber, + doubleInvokeEffectsOnFiber, + root2, + fiber + ) : fiber.subtreeFlags & 67108864 && runWithFiberInDEV( + fiber, + recursivelyTraverseAndDoubleInvokeEffectsInDEV, + root2, + fiber, + isStrictModeFiber + )); + parentFiber = parentFiber.sibling; + } + } + function doubleInvokeEffectsOnFiber(root2, fiber) { + var shouldDoubleInvokePassiveEffects = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : true; + setIsStrictModeForDevtools(true); + try { + disappearLayoutEffects(fiber), shouldDoubleInvokePassiveEffects && disconnectPassiveEffect(fiber), reappearLayoutEffects(root2, fiber.alternate, fiber, false), shouldDoubleInvokePassiveEffects && reconnectPassiveEffects(root2, fiber, 0, null, false, 0); + } finally { + setIsStrictModeForDevtools(false); + } + } + function commitDoubleInvokeEffectsInDEV(root2) { + var doubleInvokeEffects = true; + root2.current.mode & (StrictLegacyMode | StrictEffectsMode) || (doubleInvokeEffects = false); + recursivelyTraverseAndDoubleInvokeEffectsInDEV( + root2, + root2.current, + doubleInvokeEffects + ); + } + function warnAboutUpdateOnNotYetMountedFiberInDEV(fiber) { + if ((executionContext & RenderContext) === NoContext) { + var tag = fiber.tag; + if (3 === tag || 1 === tag || 0 === tag || 11 === tag || 14 === tag || 15 === tag) { + tag = getComponentNameFromFiber(fiber) || "ReactComponent"; + if (null !== didWarnStateUpdateForNotYetMountedComponent) { + if (didWarnStateUpdateForNotYetMountedComponent.has(tag)) return; + didWarnStateUpdateForNotYetMountedComponent.add(tag); + } else didWarnStateUpdateForNotYetMountedComponent = /* @__PURE__ */ new Set([tag]); + runWithFiberInDEV(fiber, function() { + console.error( + "Can't perform a React state update on a component that hasn't mounted yet. This indicates that you have a side-effect in your render function that asynchronously later calls tries to update the component. Move this work to useEffect instead." + ); + }); + } + } + } + function restorePendingUpdaters(root2, lanes) { + isDevToolsPresent && root2.memoizedUpdaters.forEach(function(schedulingFiber) { + addFiberToLanesMap(root2, schedulingFiber, lanes); + }); + } + function scheduleCallback$1(priorityLevel, callback) { + var actQueue = ReactSharedInternals.actQueue; + return null !== actQueue ? (actQueue.push(callback), fakeActCallbackNode$1) : scheduleCallback$3(priorityLevel, callback); + } + function warnIfUpdatesNotWrappedWithActDEV(fiber) { + isConcurrentActEnvironment() && null === ReactSharedInternals.actQueue && runWithFiberInDEV(fiber, function() { + console.error( + "An update to %s inside a test was not wrapped in act(...).\n\nWhen testing, code that causes React state updates should be wrapped into act(...):\n\nact(() => {\n /* fire events that update state */\n});\n/* assert on the output */\n\nThis ensures that you're testing the behavior the user would see in the browser. Learn more at https://react.dev/link/wrap-tests-with-act", + getComponentNameFromFiber(fiber) + ); + }); + } + function ensureRootIsScheduled(root2) { + root2 !== lastScheduledRoot && null === root2.next && (null === lastScheduledRoot ? firstScheduledRoot = lastScheduledRoot = root2 : lastScheduledRoot = lastScheduledRoot.next = root2); + mightHavePendingSyncWork = true; + null !== ReactSharedInternals.actQueue ? didScheduleMicrotask_act || (didScheduleMicrotask_act = true, scheduleImmediateRootScheduleTask()) : didScheduleMicrotask || (didScheduleMicrotask = true, scheduleImmediateRootScheduleTask()); + } + function flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) { + if (!isFlushingWork && mightHavePendingSyncWork) { + isFlushingWork = true; + do { + var didPerformSomeWork = false; + for (var root2 = firstScheduledRoot; null !== root2; ) { + if (!onlyLegacy) + if (0 !== syncTransitionLanes) { + var pendingLanes = root2.pendingLanes; + if (0 === pendingLanes) var nextLanes = 0; + else { + var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes; + nextLanes = (1 << 31 - clz32(42 | syncTransitionLanes) + 1) - 1; + nextLanes &= pendingLanes & ~(suspendedLanes & ~pingedLanes); + nextLanes = nextLanes & 201326741 ? nextLanes & 201326741 | 1 : nextLanes ? nextLanes | 2 : 0; + } + 0 !== nextLanes && (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + } else + nextLanes = workInProgressRootRenderLanes, nextLanes = getNextLanes( + root2, + root2 === workInProgressRoot ? nextLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ), 0 === (nextLanes & 3) || checkIfRootIsPrerendering(root2, nextLanes) || (didPerformSomeWork = true, performSyncWorkOnRoot(root2, nextLanes)); + root2 = root2.next; + } + } while (didPerformSomeWork); + isFlushingWork = false; + } + } + function processRootScheduleInImmediateTask() { + processRootScheduleInMicrotask(); + } + function processRootScheduleInMicrotask() { + mightHavePendingSyncWork = didScheduleMicrotask_act = didScheduleMicrotask = false; + var syncTransitionLanes = 0; + 0 !== currentEventTransitionLane && (shouldAttemptEagerTransition() && (syncTransitionLanes = currentEventTransitionLane), currentEventTransitionLane = 0); + for (var currentTime = now$1(), prev = null, root2 = firstScheduledRoot; null !== root2; ) { + var next = root2.next, nextLanes = scheduleTaskForRootDuringMicrotask(root2, currentTime); + if (0 === nextLanes) + root2.next = null, null === prev ? firstScheduledRoot = next : prev.next = next, null === next && (lastScheduledRoot = prev); + else if (prev = root2, 0 !== syncTransitionLanes || 0 !== (nextLanes & 3)) + mightHavePendingSyncWork = true; + root2 = next; + } + flushSyncWorkAcrossRoots_impl(syncTransitionLanes, false); + } + function scheduleTaskForRootDuringMicrotask(root2, currentTime) { + for (var suspendedLanes = root2.suspendedLanes, pingedLanes = root2.pingedLanes, expirationTimes = root2.expirationTimes, lanes = root2.pendingLanes & -62914561; 0 < lanes; ) { + var index = 31 - clz32(lanes), lane = 1 << index, expirationTime = expirationTimes[index]; + if (-1 === expirationTime) { + if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) + expirationTimes[index] = computeExpirationTime(lane, currentTime); + } else expirationTime <= currentTime && (root2.expiredLanes |= lane); + lanes &= ~lane; + } + currentTime = workInProgressRoot; + suspendedLanes = workInProgressRootRenderLanes; + suspendedLanes = getNextLanes( + root2, + root2 === currentTime ? suspendedLanes : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + pingedLanes = root2.callbackNode; + if (0 === suspendedLanes || root2 === currentTime && (workInProgressSuspendedReason === SuspendedOnData || workInProgressSuspendedReason === SuspendedOnAction) || null !== root2.cancelPendingCommit) + return null !== pingedLanes && cancelCallback(pingedLanes), root2.callbackNode = null, root2.callbackPriority = 0; + if (0 === (suspendedLanes & 3) || checkIfRootIsPrerendering(root2, suspendedLanes)) { + currentTime = suspendedLanes & -suspendedLanes; + if (currentTime !== root2.callbackPriority || null !== ReactSharedInternals.actQueue && pingedLanes !== fakeActCallbackNode) + cancelCallback(pingedLanes); + else return currentTime; + switch (lanesToEventPriority(suspendedLanes)) { + case DiscreteEventPriority: + case ContinuousEventPriority: + suspendedLanes = UserBlockingPriority; + break; + case DefaultEventPriority: + suspendedLanes = NormalPriority$1; + break; + case IdleEventPriority: + suspendedLanes = IdlePriority; + break; + default: + suspendedLanes = NormalPriority$1; + } + pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root2); + null !== ReactSharedInternals.actQueue ? (ReactSharedInternals.actQueue.push(pingedLanes), suspendedLanes = fakeActCallbackNode) : suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes); + root2.callbackPriority = currentTime; + root2.callbackNode = suspendedLanes; + return currentTime; + } + null !== pingedLanes && cancelCallback(pingedLanes); + root2.callbackPriority = 2; + root2.callbackNode = null; + return 2; + } + function performWorkOnRootViaSchedulerTask(root2, didTimeout) { + nestedUpdateScheduled = currentUpdateIsNested = false; + if (pendingEffectsStatus !== NO_PENDING_EFFECTS && pendingEffectsStatus !== PENDING_PASSIVE_PHASE) + return root2.callbackNode = null, root2.callbackPriority = 0, null; + var originalCallbackNode = root2.callbackNode; + if (flushPendingEffects(true) && root2.callbackNode !== originalCallbackNode) + return null; + var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes; + workInProgressRootRenderLanes$jscomp$0 = getNextLanes( + root2, + root2 === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0, + null !== root2.cancelPendingCommit || root2.timeoutHandle !== noTimeout + ); + if (0 === workInProgressRootRenderLanes$jscomp$0) return null; + performWorkOnRoot( + root2, + workInProgressRootRenderLanes$jscomp$0, + didTimeout + ); + scheduleTaskForRootDuringMicrotask(root2, now$1()); + return null != root2.callbackNode && root2.callbackNode === originalCallbackNode ? performWorkOnRootViaSchedulerTask.bind(null, root2) : null; + } + function performSyncWorkOnRoot(root2, lanes) { + if (flushPendingEffects()) return null; + currentUpdateIsNested = nestedUpdateScheduled; + nestedUpdateScheduled = false; + performWorkOnRoot(root2, lanes, true); + } + function cancelCallback(callbackNode) { + callbackNode !== fakeActCallbackNode && null !== callbackNode && cancelCallback$1(callbackNode); + } + function scheduleImmediateRootScheduleTask() { + null !== ReactSharedInternals.actQueue && ReactSharedInternals.actQueue.push(function() { + processRootScheduleInMicrotask(); + return null; + }); + scheduleMicrotask(function() { + (executionContext & (RenderContext | CommitContext)) !== NoContext ? scheduleCallback$3( + ImmediatePriority, + processRootScheduleInImmediateTask + ) : processRootScheduleInMicrotask(); + }); + } + function requestTransitionLane() { + 0 === currentEventTransitionLane && (currentEventTransitionLane = claimNextTransitionLane()); + return currentEventTransitionLane; + } + function coerceFormActionProp(actionProp) { + if (null == actionProp || "symbol" === typeof actionProp || "boolean" === typeof actionProp) + return null; + if ("function" === typeof actionProp) return actionProp; + checkAttributeStringCoercion(actionProp, "action"); + return sanitizeURL("" + actionProp); + } + function createFormDataWithSubmitter(form, submitter) { + var temp = submitter.ownerDocument.createElement("input"); + temp.name = submitter.name; + temp.value = submitter.value; + form.id && temp.setAttribute("form", form.id); + submitter.parentNode.insertBefore(temp, submitter); + form = new FormData(form); + temp.parentNode.removeChild(temp); + return form; + } + function extractEvents$1(dispatchQueue, domEventName, maybeTargetInst, nativeEvent, nativeEventTarget) { + if ("submit" === domEventName && maybeTargetInst && maybeTargetInst.stateNode === nativeEventTarget) { + var action = coerceFormActionProp( + (nativeEventTarget[internalPropsKey] || null).action + ), submitter = nativeEvent.submitter; + submitter && (domEventName = (domEventName = submitter[internalPropsKey] || null) ? coerceFormActionProp(domEventName.formAction) : submitter.getAttribute("formAction"), null !== domEventName && (action = domEventName, submitter = null)); + var event = new SyntheticEvent( + "action", + "action", + null, + nativeEvent, + nativeEventTarget + ); + dispatchQueue.push({ + event, + listeners: [ + { + instance: null, + listener: function() { + if (nativeEvent.defaultPrevented) { + if (0 !== currentEventTransitionLane) { + var formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }; + Object.freeze(pendingState); + startHostTransition( + maybeTargetInst, + pendingState, + null, + formData + ); + } + } else + "function" === typeof action && (event.preventDefault(), formData = submitter ? createFormDataWithSubmitter( + nativeEventTarget, + submitter + ) : new FormData(nativeEventTarget), pendingState = { + pending: true, + data: formData, + method: nativeEventTarget.method, + action + }, Object.freeze(pendingState), startHostTransition( + maybeTargetInst, + pendingState, + action, + formData + )); + }, + currentTarget: nativeEventTarget + } + ] + }); + } + } + function executeDispatch(event, listener, currentTarget) { + event.currentTarget = currentTarget; + try { + listener(event); + } catch (error) { + reportGlobalError(error); + } + event.currentTarget = null; + } + function processDispatchQueue(dispatchQueue, eventSystemFlags) { + eventSystemFlags = 0 !== (eventSystemFlags & 4); + for (var i = 0; i < dispatchQueue.length; i++) { + var _dispatchQueue$i = dispatchQueue[i]; + a: { + var previousInstance = void 0, event = _dispatchQueue$i.event; + _dispatchQueue$i = _dispatchQueue$i.listeners; + if (eventSystemFlags) + for (var i$jscomp$0 = _dispatchQueue$i.length - 1; 0 <= i$jscomp$0; i$jscomp$0--) { + var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0], instance = _dispatchListeners$i.instance, currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + else + for (i$jscomp$0 = 0; i$jscomp$0 < _dispatchQueue$i.length; i$jscomp$0++) { + _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0]; + instance = _dispatchListeners$i.instance; + currentTarget = _dispatchListeners$i.currentTarget; + _dispatchListeners$i = _dispatchListeners$i.listener; + if (instance !== previousInstance && event.isPropagationStopped()) + break a; + null !== instance ? runWithFiberInDEV( + instance, + executeDispatch, + event, + _dispatchListeners$i, + currentTarget + ) : executeDispatch(event, _dispatchListeners$i, currentTarget); + previousInstance = instance; + } + } + } + } + function listenToNonDelegatedEvent(domEventName, targetElement) { + nonDelegatedEvents.has(domEventName) || console.error( + 'Did not expect a listenToNonDelegatedEvent() call for "%s". This is a bug in React. Please file an issue.', + domEventName + ); + var listenerSet = targetElement[internalEventHandlersKey]; + void 0 === listenerSet && (listenerSet = targetElement[internalEventHandlersKey] = /* @__PURE__ */ new Set()); + var listenerSetKey = domEventName + "__bubble"; + listenerSet.has(listenerSetKey) || (addTrappedEventListener(targetElement, domEventName, 2, false), listenerSet.add(listenerSetKey)); + } + function listenToNativeEvent(domEventName, isCapturePhaseListener, target) { + nonDelegatedEvents.has(domEventName) && !isCapturePhaseListener && console.error( + 'Did not expect a listenToNativeEvent() call for "%s" in the bubble phase. This is a bug in React. Please file an issue.', + domEventName + ); + var eventSystemFlags = 0; + isCapturePhaseListener && (eventSystemFlags |= 4); + addTrappedEventListener( + target, + domEventName, + eventSystemFlags, + isCapturePhaseListener + ); + } + function listenToAllSupportedEvents(rootContainerElement) { + if (!rootContainerElement[listeningMarker]) { + rootContainerElement[listeningMarker] = true; + allNativeEvents.forEach(function(domEventName) { + "selectionchange" !== domEventName && (nonDelegatedEvents.has(domEventName) || listenToNativeEvent(domEventName, false, rootContainerElement), listenToNativeEvent(domEventName, true, rootContainerElement)); + }); + var ownerDocument = 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + null === ownerDocument || ownerDocument[listeningMarker] || (ownerDocument[listeningMarker] = true, listenToNativeEvent("selectionchange", false, ownerDocument)); + } + } + function addTrappedEventListener(targetContainer, domEventName, eventSystemFlags, isCapturePhaseListener) { + switch (getEventPriority(domEventName)) { + case DiscreteEventPriority: + var listenerWrapper = dispatchDiscreteEvent; + break; + case ContinuousEventPriority: + listenerWrapper = dispatchContinuousEvent; + break; + default: + listenerWrapper = dispatchEvent; + } + eventSystemFlags = listenerWrapper.bind( + null, + domEventName, + eventSystemFlags, + targetContainer + ); + listenerWrapper = void 0; + !passiveBrowserEventsSupported || "touchstart" !== domEventName && "touchmove" !== domEventName && "wheel" !== domEventName || (listenerWrapper = true); + isCapturePhaseListener ? void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + capture: true, + passive: listenerWrapper + }) : targetContainer.addEventListener(domEventName, eventSystemFlags, true) : void 0 !== listenerWrapper ? targetContainer.addEventListener(domEventName, eventSystemFlags, { + passive: listenerWrapper + }) : targetContainer.addEventListener( + domEventName, + eventSystemFlags, + false + ); + } + function dispatchEventForPluginEventSystem(domEventName, eventSystemFlags, nativeEvent, targetInst$jscomp$0, targetContainer) { + var ancestorInst = targetInst$jscomp$0; + if (0 === (eventSystemFlags & 1) && 0 === (eventSystemFlags & 2) && null !== targetInst$jscomp$0) + a: for (; ; ) { + if (null === targetInst$jscomp$0) return; + var nodeTag = targetInst$jscomp$0.tag; + if (3 === nodeTag || 4 === nodeTag) { + var container = targetInst$jscomp$0.stateNode.containerInfo; + if (container === targetContainer) break; + if (4 === nodeTag) + for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) { + var grandTag = nodeTag.tag; + if ((3 === grandTag || 4 === grandTag) && nodeTag.stateNode.containerInfo === targetContainer) + return; + nodeTag = nodeTag.return; + } + for (; null !== container; ) { + nodeTag = getClosestInstanceFromNode(container); + if (null === nodeTag) return; + grandTag = nodeTag.tag; + if (5 === grandTag || 6 === grandTag || 26 === grandTag || 27 === grandTag) { + targetInst$jscomp$0 = ancestorInst = nodeTag; + continue a; + } + container = container.parentNode; + } + } + targetInst$jscomp$0 = targetInst$jscomp$0.return; + } + batchedUpdates$1(function() { + var targetInst = ancestorInst, nativeEventTarget = getEventTarget(nativeEvent), dispatchQueue = []; + a: { + var reactName = topLevelEventsToReactNames.get(domEventName); + if (void 0 !== reactName) { + var SyntheticEventCtor = SyntheticEvent, reactEventType = domEventName; + switch (domEventName) { + case "keypress": + if (0 === getEventCharCode(nativeEvent)) break a; + case "keydown": + case "keyup": + SyntheticEventCtor = SyntheticKeyboardEvent; + break; + case "focusin": + reactEventType = "focus"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "focusout": + reactEventType = "blur"; + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "beforeblur": + case "afterblur": + SyntheticEventCtor = SyntheticFocusEvent; + break; + case "click": + if (2 === nativeEvent.button) break a; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + SyntheticEventCtor = SyntheticMouseEvent; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + SyntheticEventCtor = SyntheticDragEvent; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + SyntheticEventCtor = SyntheticTouchEvent; + break; + case ANIMATION_END: + case ANIMATION_ITERATION: + case ANIMATION_START: + SyntheticEventCtor = SyntheticAnimationEvent; + break; + case TRANSITION_END: + SyntheticEventCtor = SyntheticTransitionEvent; + break; + case "scroll": + case "scrollend": + SyntheticEventCtor = SyntheticUIEvent; + break; + case "wheel": + SyntheticEventCtor = SyntheticWheelEvent; + break; + case "copy": + case "cut": + case "paste": + SyntheticEventCtor = SyntheticClipboardEvent; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + SyntheticEventCtor = SyntheticPointerEvent; + break; + case "toggle": + case "beforetoggle": + SyntheticEventCtor = SyntheticToggleEvent; + } + var inCapturePhase = 0 !== (eventSystemFlags & 4), accumulateTargetOnly = !inCapturePhase && ("scroll" === domEventName || "scrollend" === domEventName), reactEventName = inCapturePhase ? null !== reactName ? reactName + "Capture" : null : reactName; + inCapturePhase = []; + for (var instance = targetInst, lastHostComponent; null !== instance; ) { + var _instance2 = instance; + lastHostComponent = _instance2.stateNode; + _instance2 = _instance2.tag; + 5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2 || null === lastHostComponent || null === reactEventName || (_instance2 = getListener(instance, reactEventName), null != _instance2 && inCapturePhase.push( + createDispatchListener( + instance, + _instance2, + lastHostComponent + ) + )); + if (accumulateTargetOnly) break; + instance = instance.return; + } + 0 < inCapturePhase.length && (reactName = new SyntheticEventCtor( + reactName, + reactEventType, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: reactName, + listeners: inCapturePhase + })); + } + } + if (0 === (eventSystemFlags & 7)) { + a: { + reactName = "mouseover" === domEventName || "pointerover" === domEventName; + SyntheticEventCtor = "mouseout" === domEventName || "pointerout" === domEventName; + if (reactName && nativeEvent !== currentReplayingEvent && (reactEventType = nativeEvent.relatedTarget || nativeEvent.fromElement) && (getClosestInstanceFromNode(reactEventType) || reactEventType[internalContainerInstanceKey])) + break a; + if (SyntheticEventCtor || reactName) { + reactName = nativeEventTarget.window === nativeEventTarget ? nativeEventTarget : (reactName = nativeEventTarget.ownerDocument) ? reactName.defaultView || reactName.parentWindow : window; + if (SyntheticEventCtor) { + if (reactEventType = nativeEvent.relatedTarget || nativeEvent.toElement, SyntheticEventCtor = targetInst, reactEventType = reactEventType ? getClosestInstanceFromNode(reactEventType) : null, null !== reactEventType && (accumulateTargetOnly = getNearestMountedFiber(reactEventType), inCapturePhase = reactEventType.tag, reactEventType !== accumulateTargetOnly || 5 !== inCapturePhase && 27 !== inCapturePhase && 6 !== inCapturePhase)) + reactEventType = null; + } else SyntheticEventCtor = null, reactEventType = targetInst; + if (SyntheticEventCtor !== reactEventType) { + inCapturePhase = SyntheticMouseEvent; + _instance2 = "onMouseLeave"; + reactEventName = "onMouseEnter"; + instance = "mouse"; + if ("pointerout" === domEventName || "pointerover" === domEventName) + inCapturePhase = SyntheticPointerEvent, _instance2 = "onPointerLeave", reactEventName = "onPointerEnter", instance = "pointer"; + accumulateTargetOnly = null == SyntheticEventCtor ? reactName : getNodeFromInstance(SyntheticEventCtor); + lastHostComponent = null == reactEventType ? reactName : getNodeFromInstance(reactEventType); + reactName = new inCapturePhase( + _instance2, + instance + "leave", + SyntheticEventCtor, + nativeEvent, + nativeEventTarget + ); + reactName.target = accumulateTargetOnly; + reactName.relatedTarget = lastHostComponent; + _instance2 = null; + getClosestInstanceFromNode(nativeEventTarget) === targetInst && (inCapturePhase = new inCapturePhase( + reactEventName, + instance + "enter", + reactEventType, + nativeEvent, + nativeEventTarget + ), inCapturePhase.target = lastHostComponent, inCapturePhase.relatedTarget = accumulateTargetOnly, _instance2 = inCapturePhase); + accumulateTargetOnly = _instance2; + if (SyntheticEventCtor && reactEventType) + b: { + inCapturePhase = SyntheticEventCtor; + reactEventName = reactEventType; + instance = 0; + for (lastHostComponent = inCapturePhase; lastHostComponent; lastHostComponent = getParent(lastHostComponent)) + instance++; + lastHostComponent = 0; + for (_instance2 = reactEventName; _instance2; _instance2 = getParent(_instance2)) + lastHostComponent++; + for (; 0 < instance - lastHostComponent; ) + inCapturePhase = getParent(inCapturePhase), instance--; + for (; 0 < lastHostComponent - instance; ) + reactEventName = getParent(reactEventName), lastHostComponent--; + for (; instance--; ) { + if (inCapturePhase === reactEventName || null !== reactEventName && inCapturePhase === reactEventName.alternate) + break b; + inCapturePhase = getParent(inCapturePhase); + reactEventName = getParent(reactEventName); + } + inCapturePhase = null; + } + else inCapturePhase = null; + null !== SyntheticEventCtor && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + reactName, + SyntheticEventCtor, + inCapturePhase, + false + ); + null !== reactEventType && null !== accumulateTargetOnly && accumulateEnterLeaveListenersForEvent( + dispatchQueue, + accumulateTargetOnly, + reactEventType, + inCapturePhase, + true + ); + } + } + } + a: { + reactName = targetInst ? getNodeFromInstance(targetInst) : window; + SyntheticEventCtor = reactName.nodeName && reactName.nodeName.toLowerCase(); + if ("select" === SyntheticEventCtor || "input" === SyntheticEventCtor && "file" === reactName.type) + var getTargetInstFunc = getTargetInstForChangeEvent; + else if (isTextInputElement(reactName)) + if (isInputEventSupported) + getTargetInstFunc = getTargetInstForInputOrChangeEvent; + else { + getTargetInstFunc = getTargetInstForInputEventPolyfill; + var handleEventFunc = handleEventsForInputEventPolyfill; + } + else + SyntheticEventCtor = reactName.nodeName, !SyntheticEventCtor || "input" !== SyntheticEventCtor.toLowerCase() || "checkbox" !== reactName.type && "radio" !== reactName.type ? targetInst && isCustomElement(targetInst.elementType) && (getTargetInstFunc = getTargetInstForChangeEvent) : getTargetInstFunc = getTargetInstForClickEvent; + if (getTargetInstFunc && (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))) { + createAndAccumulateChangeEvent( + dispatchQueue, + getTargetInstFunc, + nativeEvent, + nativeEventTarget + ); + break a; + } + handleEventFunc && handleEventFunc(domEventName, reactName, targetInst); + "focusout" === domEventName && targetInst && "number" === reactName.type && null != targetInst.memoizedProps.value && setDefaultValue(reactName, "number", reactName.value); + } + handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window; + switch (domEventName) { + case "focusin": + if (isTextInputElement(handleEventFunc) || "true" === handleEventFunc.contentEditable) + activeElement = handleEventFunc, activeElementInst = targetInst, lastSelection = null; + break; + case "focusout": + lastSelection = activeElementInst = activeElement = null; + break; + case "mousedown": + mouseDown = true; + break; + case "contextmenu": + case "mouseup": + case "dragend": + mouseDown = false; + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + break; + case "selectionchange": + if (skipSelectionChangeEvent) break; + case "keydown": + case "keyup": + constructSelectEvent( + dispatchQueue, + nativeEvent, + nativeEventTarget + ); + } + var fallbackData; + if (canUseCompositionEvent) + b: { + switch (domEventName) { + case "compositionstart": + var eventType = "onCompositionStart"; + break b; + case "compositionend": + eventType = "onCompositionEnd"; + break b; + case "compositionupdate": + eventType = "onCompositionUpdate"; + break b; + } + eventType = void 0; + } + else + isComposing ? isFallbackCompositionEnd(domEventName, nativeEvent) && (eventType = "onCompositionEnd") : "keydown" === domEventName && nativeEvent.keyCode === START_KEYCODE && (eventType = "onCompositionStart"); + eventType && (useFallbackCompositionData && "ko" !== nativeEvent.locale && (isComposing || "onCompositionStart" !== eventType ? "onCompositionEnd" === eventType && isComposing && (fallbackData = getData()) : (root = nativeEventTarget, startText = "value" in root ? root.value : root.textContent, isComposing = true)), handleEventFunc = accumulateTwoPhaseListeners( + targetInst, + eventType + ), 0 < handleEventFunc.length && (eventType = new SyntheticCompositionEvent( + eventType, + domEventName, + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: eventType, + listeners: handleEventFunc + }), fallbackData ? eventType.data = fallbackData : (fallbackData = getDataFromCustomEvent(nativeEvent), null !== fallbackData && (eventType.data = fallbackData)))); + if (fallbackData = canUseTextInputEvent ? getNativeBeforeInputChars(domEventName, nativeEvent) : getFallbackBeforeInputChars(domEventName, nativeEvent)) + eventType = accumulateTwoPhaseListeners( + targetInst, + "onBeforeInput" + ), 0 < eventType.length && (handleEventFunc = new SyntheticInputEvent( + "onBeforeInput", + "beforeinput", + null, + nativeEvent, + nativeEventTarget + ), dispatchQueue.push({ + event: handleEventFunc, + listeners: eventType + }), handleEventFunc.data = fallbackData); + extractEvents$1( + dispatchQueue, + domEventName, + targetInst, + nativeEvent, + nativeEventTarget + ); + } + processDispatchQueue(dispatchQueue, eventSystemFlags); + }); + } + function createDispatchListener(instance, listener, currentTarget) { + return { + instance, + listener, + currentTarget + }; + } + function accumulateTwoPhaseListeners(targetFiber, reactName) { + for (var captureName = reactName + "Capture", listeners = []; null !== targetFiber; ) { + var _instance3 = targetFiber, stateNode = _instance3.stateNode; + _instance3 = _instance3.tag; + 5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3 || null === stateNode || (_instance3 = getListener(targetFiber, captureName), null != _instance3 && listeners.unshift( + createDispatchListener(targetFiber, _instance3, stateNode) + ), _instance3 = getListener(targetFiber, reactName), null != _instance3 && listeners.push( + createDispatchListener(targetFiber, _instance3, stateNode) + )); + if (3 === targetFiber.tag) return listeners; + targetFiber = targetFiber.return; + } + return []; + } + function getParent(inst) { + if (null === inst) return null; + do + inst = inst.return; + while (inst && 5 !== inst.tag && 27 !== inst.tag); + return inst ? inst : null; + } + function accumulateEnterLeaveListenersForEvent(dispatchQueue, event, target, common, inCapturePhase) { + for (var registrationName = event._reactName, listeners = []; null !== target && target !== common; ) { + var _instance4 = target, alternate = _instance4.alternate, stateNode = _instance4.stateNode; + _instance4 = _instance4.tag; + if (null !== alternate && alternate === common) break; + 5 !== _instance4 && 26 !== _instance4 && 27 !== _instance4 || null === stateNode || (alternate = stateNode, inCapturePhase ? (stateNode = getListener(target, registrationName), null != stateNode && listeners.unshift( + createDispatchListener(target, stateNode, alternate) + )) : inCapturePhase || (stateNode = getListener(target, registrationName), null != stateNode && listeners.push( + createDispatchListener(target, stateNode, alternate) + ))); + target = target.return; + } + 0 !== listeners.length && dispatchQueue.push({ event, listeners }); + } + function validatePropertiesInDevelopment(type, props) { + validateProperties$2(type, props); + "input" !== type && "textarea" !== type && "select" !== type || null == props || null !== props.value || didWarnValueNull || (didWarnValueNull = true, "select" === type && props.multiple ? console.error( + "`value` prop on `%s` should not be null. Consider using an empty array when `multiple` is set to `true` to clear the component or `undefined` for uncontrolled components.", + type + ) : console.error( + "`value` prop on `%s` should not be null. Consider using an empty string to clear the component or `undefined` for uncontrolled components.", + type + )); + var eventRegistry = { + registrationNameDependencies, + possibleRegistrationNames + }; + isCustomElement(type) || "string" === typeof props.is || warnUnknownProperties(type, props, eventRegistry); + props.contentEditable && !props.suppressContentEditableWarning && null != props.children && console.error( + "A component is `contentEditable` and contains `children` managed by React. It is now your responsibility to guarantee that none of those nodes are unexpectedly modified or duplicated. This is probably not intentional." + ); + } + function warnForPropDifference(propName, serverValue, clientValue, serverDifferences) { + serverValue !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(serverValue) !== clientValue && (serverDifferences[propName] = serverValue)); + } + function warnForExtraAttributes(domElement, attributeNames, serverDifferences) { + attributeNames.forEach(function(attributeName) { + serverDifferences[getPropNameFromAttributeName(attributeName)] = "style" === attributeName ? getStylesObjectFromElement(domElement) : domElement.getAttribute(attributeName); + }); + } + function warnForInvalidEventListener(registrationName, listener) { + false === listener ? console.error( + "Expected `%s` listener to be a function, instead got `false`.\n\nIf you used to conditionally omit it with %s={condition && value}, pass %s={condition ? value : undefined} instead.", + registrationName, + registrationName, + registrationName + ) : console.error( + "Expected `%s` listener to be a function, instead got a value of `%s` type.", + registrationName, + typeof listener + ); + } + function normalizeHTML(parent, html) { + parent = parent.namespaceURI === MATH_NAMESPACE || parent.namespaceURI === SVG_NAMESPACE ? parent.ownerDocument.createElementNS( + parent.namespaceURI, + parent.tagName + ) : parent.ownerDocument.createElement(parent.tagName); + parent.innerHTML = html; + return parent.innerHTML; + } + function normalizeMarkupForTextOrAttribute(markup) { + willCoercionThrow(markup) && (console.error( + "The provided HTML markup uses a value of unsupported type %s. This value must be coerced to a string before using it here.", + typeName(markup) + ), testStringCoercion(markup)); + return ("string" === typeof markup ? markup : "" + markup).replace(NORMALIZE_NEWLINES_REGEX, "\n").replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, ""); + } + function checkForUnmatchedText(serverText, clientText) { + clientText = normalizeMarkupForTextOrAttribute(clientText); + return normalizeMarkupForTextOrAttribute(serverText) === clientText ? true : false; + } + function noop$1() { + } + function setProp(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "children": + if ("string" === typeof value) + validateTextNesting(value, tag, false), "body" === tag || "textarea" === tag && "" === value || setTextContent(domElement, value); + else if ("number" === typeof value || "bigint" === typeof value) + validateTextNesting("" + value, tag, false), "body" !== tag && setTextContent(domElement, "" + value); + break; + case "className": + setValueForKnownAttribute(domElement, "class", value); + break; + case "tabIndex": + setValueForKnownAttribute(domElement, "tabindex", value); + break; + case "dir": + case "role": + case "viewBox": + case "width": + case "height": + setValueForKnownAttribute(domElement, key, value); + break; + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "data": + if ("object" !== tag) { + setValueForKnownAttribute(domElement, "data", value); + break; + } + case "src": + case "href": + if ("" === value && ("a" !== tag || "href" !== key)) { + "src" === key ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + key, + key + ); + domElement.removeAttribute(key); + break; + } + if (null == value || "function" === typeof value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "action": + case "formAction": + null != value && ("form" === tag ? "formAction" === key ? console.error( + "You can only pass the formAction prop to <input> or <button>. Use the action prop on <form>." + ) : "function" === typeof value && (null == props.encType && null == props.method || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a encType or method for a form that specifies a function as the action. React provides those automatically. They will get overridden." + )), null == props.target || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a target for a form that specifies a function as the action. The function will always be executed in the same window." + ))) : "input" === tag || "button" === tag ? "action" === key ? console.error( + "You can only pass the action prop to <form>. Use the formAction prop on <input> or <button>." + ) : "input" !== tag || "submit" === props.type || "image" === props.type || didWarnFormActionType ? "button" !== tag || null == props.type || "submit" === props.type || didWarnFormActionType ? "function" === typeof value && (null == props.name || didWarnFormActionName || (didWarnFormActionName = true, console.error( + 'Cannot specify a "name" prop for a button that specifies a function as a formAction. React needs it to encode which action should be invoked. It will get overridden.' + )), null == props.formEncType && null == props.formMethod || didWarnFormActionMethod || (didWarnFormActionMethod = true, console.error( + "Cannot specify a formEncType or formMethod for a button that specifies a function as a formAction. React provides those automatically. They will get overridden." + )), null == props.formTarget || didWarnFormActionTarget || (didWarnFormActionTarget = true, console.error( + "Cannot specify a formTarget for a button that specifies a function as a formAction. The function will always be executed in the same window." + ))) : (didWarnFormActionType = true, console.error( + 'A button can only specify a formAction along with type="submit" or no type.' + )) : (didWarnFormActionType = true, console.error( + 'An input can only specify a formAction along with type="submit" or type="image".' + )) : "action" === key ? console.error( + "You can only pass the action prop to <form>." + ) : console.error( + "You can only pass the formAction prop to <input> or <button>." + )); + if ("function" === typeof value) { + domElement.setAttribute( + key, + "javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')" + ); + break; + } else + "function" === typeof prevValue && ("formAction" === key ? ("input" !== tag && setProp(domElement, tag, "name", props.name, props, null), setProp( + domElement, + tag, + "formEncType", + props.formEncType, + props, + null + ), setProp( + domElement, + tag, + "formMethod", + props.formMethod, + props, + null + ), setProp( + domElement, + tag, + "formTarget", + props.formTarget, + props, + null + )) : (setProp( + domElement, + tag, + "encType", + props.encType, + props, + null + ), setProp(domElement, tag, "method", props.method, props, null), setProp( + domElement, + tag, + "target", + props.target, + props, + null + ))); + if (null == value || "symbol" === typeof value || "boolean" === typeof value) { + domElement.removeAttribute(key); + break; + } + checkAttributeStringCoercion(value, key); + value = sanitizeURL("" + value); + domElement.setAttribute(key, value); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "multiple": + domElement.multiple = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "muted": + domElement.muted = value && "function" !== typeof value && "symbol" !== typeof value; + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + break; + case "autoFocus": + break; + case "xlinkHref": + if (null == value || "function" === typeof value || "boolean" === typeof value || "symbol" === typeof value) { + domElement.removeAttribute("xlink:href"); + break; + } + checkAttributeStringCoercion(value, key); + key = sanitizeURL("" + value); + domElement.setAttributeNS(xlinkNamespace, "xlink:href", key); + break; + case "contentEditable": + case "spellCheck": + case "draggable": + case "value": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, "" + value)) : domElement.removeAttribute(key); + break; + case "inert": + "" !== value || didWarnForNewBooleanPropsWithEmptyValue[key] || (didWarnForNewBooleanPropsWithEmptyValue[key] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + key + )); + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + value && "function" !== typeof value && "symbol" !== typeof value ? domElement.setAttribute(key, "") : domElement.removeAttribute(key); + break; + case "capture": + case "download": + true === value ? domElement.setAttribute(key, "") : false !== value && null != value && "function" !== typeof value && "symbol" !== typeof value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "cols": + case "rows": + case "size": + case "span": + null != value && "function" !== typeof value && "symbol" !== typeof value && !isNaN(value) && 1 <= value ? (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)) : domElement.removeAttribute(key); + break; + case "rowSpan": + case "start": + null == value || "function" === typeof value || "symbol" === typeof value || isNaN(value) ? domElement.removeAttribute(key) : (checkAttributeStringCoercion(value, key), domElement.setAttribute(key, value)); + break; + case "popover": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + setValueForAttribute(domElement, "popover", value); + break; + case "xlinkActuate": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:actuate", + value + ); + break; + case "xlinkArcrole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:arcrole", + value + ); + break; + case "xlinkRole": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:role", + value + ); + break; + case "xlinkShow": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:show", + value + ); + break; + case "xlinkTitle": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:title", + value + ); + break; + case "xlinkType": + setValueForNamespacedAttribute( + domElement, + xlinkNamespace, + "xlink:type", + value + ); + break; + case "xmlBase": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:base", + value + ); + break; + case "xmlLang": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:lang", + value + ); + break; + case "xmlSpace": + setValueForNamespacedAttribute( + domElement, + xmlNamespace, + "xml:space", + value + ); + break; + case "is": + null != prevValue && console.error( + 'Cannot update the "is" prop after it has been initialized.' + ); + setValueForAttribute(domElement, "is", value); + break; + case "innerText": + case "textContent": + break; + case "popoverTarget": + didWarnPopoverTargetObject || null == value || "object" !== typeof value || (didWarnPopoverTargetObject = true, console.error( + "The `popoverTarget` prop expects the ID of an Element as a string. Received %s instead.", + value + )); + default: + !(2 < key.length) || "o" !== key[0] && "O" !== key[0] || "n" !== key[1] && "N" !== key[1] ? (key = getAttributeAlias(key), setValueForAttribute(domElement, key, value)) : registrationNameDependencies.hasOwnProperty(key) && null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + } + } + function setPropOnCustomElement(domElement, tag, key, value, props, prevValue) { + switch (key) { + case "style": + setValueForStyles(domElement, value, prevValue); + break; + case "dangerouslySetInnerHTML": + if (null != value) { + if ("object" !== typeof value || !("__html" in value)) + throw Error( + "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://react.dev/link/dangerously-set-inner-html for more information." + ); + key = value.__html; + if (null != key) { + if (null != props.children) + throw Error( + "Can only set one of `children` or `props.dangerouslySetInnerHTML`." + ); + domElement.innerHTML = key; + } + } + break; + case "children": + "string" === typeof value ? setTextContent(domElement, value) : ("number" === typeof value || "bigint" === typeof value) && setTextContent(domElement, "" + value); + break; + case "onScroll": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scroll", domElement)); + break; + case "onScrollEnd": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), listenToNonDelegatedEvent("scrollend", domElement)); + break; + case "onClick": + null != value && ("function" !== typeof value && warnForInvalidEventListener(key, value), domElement.onclick = noop$1); + break; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "innerHTML": + case "ref": + break; + case "innerText": + case "textContent": + break; + default: + if (registrationNameDependencies.hasOwnProperty(key)) + null != value && "function" !== typeof value && warnForInvalidEventListener(key, value); + else + a: { + if ("o" === key[0] && "n" === key[1] && (props = key.endsWith("Capture"), tag = key.slice(2, props ? key.length - 7 : void 0), prevValue = domElement[internalPropsKey] || null, prevValue = null != prevValue ? prevValue[key] : null, "function" === typeof prevValue && domElement.removeEventListener(tag, prevValue, props), "function" === typeof value)) { + "function" !== typeof prevValue && null !== prevValue && (key in domElement ? domElement[key] = null : domElement.hasAttribute(key) && domElement.removeAttribute(key)); + domElement.addEventListener(tag, value, props); + break a; + } + key in domElement ? domElement[key] = value : true === value ? domElement.setAttribute(key, "") : setValueForAttribute(domElement, key, value); + } + } + } + function setInitialProperties(domElement, tag, props) { + validatePropertiesInDevelopment(tag, props); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "img": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + var hasSrc = false, hasSrcSet = false, propKey; + for (propKey in props) + if (props.hasOwnProperty(propKey)) { + var propValue = props[propKey]; + if (null != propValue) + switch (propKey) { + case "src": + hasSrc = true; + break; + case "srcSet": + hasSrcSet = true; + break; + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, propKey, propValue, props, null); + } + } + hasSrcSet && setProp(domElement, tag, "srcSet", props.srcSet, props, null); + hasSrc && setProp(domElement, tag, "src", props.src, props, null); + return; + case "input": + checkControlledValueProps("input", props); + listenToNonDelegatedEvent("invalid", domElement); + var defaultValue = propKey = propValue = hasSrcSet = null, checked = null, defaultChecked = null; + for (hasSrc in props) + if (props.hasOwnProperty(hasSrc)) { + var _propValue = props[hasSrc]; + if (null != _propValue) + switch (hasSrc) { + case "name": + hasSrcSet = _propValue; + break; + case "type": + propValue = _propValue; + break; + case "checked": + checked = _propValue; + break; + case "defaultChecked": + defaultChecked = _propValue; + break; + case "value": + propKey = _propValue; + break; + case "defaultValue": + defaultValue = _propValue; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != _propValue) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp(domElement, tag, hasSrc, _propValue, props, null); + } + } + validateInputProps(domElement, props); + initInput( + domElement, + propKey, + defaultValue, + checked, + defaultChecked, + propValue, + hasSrcSet, + false + ); + track(domElement); + return; + case "select": + checkControlledValueProps("select", props); + listenToNonDelegatedEvent("invalid", domElement); + hasSrc = propValue = propKey = null; + for (hasSrcSet in props) + if (props.hasOwnProperty(hasSrcSet) && (defaultValue = props[hasSrcSet], null != defaultValue)) + switch (hasSrcSet) { + case "value": + propKey = defaultValue; + break; + case "defaultValue": + propValue = defaultValue; + break; + case "multiple": + hasSrc = defaultValue; + default: + setProp( + domElement, + tag, + hasSrcSet, + defaultValue, + props, + null + ); + } + validateSelectProps(domElement, props); + tag = propKey; + props = propValue; + domElement.multiple = !!hasSrc; + null != tag ? updateOptions(domElement, !!hasSrc, tag, false) : null != props && updateOptions(domElement, !!hasSrc, props, true); + return; + case "textarea": + checkControlledValueProps("textarea", props); + listenToNonDelegatedEvent("invalid", domElement); + propKey = hasSrcSet = hasSrc = null; + for (propValue in props) + if (props.hasOwnProperty(propValue) && (defaultValue = props[propValue], null != defaultValue)) + switch (propValue) { + case "value": + hasSrc = defaultValue; + break; + case "defaultValue": + hasSrcSet = defaultValue; + break; + case "children": + propKey = defaultValue; + break; + case "dangerouslySetInnerHTML": + if (null != defaultValue) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + setProp( + domElement, + tag, + propValue, + defaultValue, + props, + null + ); + } + validateTextareaProps(domElement, props); + initTextarea(domElement, hasSrc, hasSrcSet, propKey); + track(domElement); + return; + case "option": + validateOptionProps(domElement, props); + for (checked in props) + if (props.hasOwnProperty(checked) && (hasSrc = props[checked], null != hasSrc)) + switch (checked) { + case "selected": + domElement.selected = hasSrc && "function" !== typeof hasSrc && "symbol" !== typeof hasSrc; + break; + default: + setProp(domElement, tag, checked, hasSrc, props, null); + } + return; + case "dialog": + listenToNonDelegatedEvent("beforetoggle", domElement); + listenToNonDelegatedEvent("toggle", domElement); + listenToNonDelegatedEvent("cancel", domElement); + listenToNonDelegatedEvent("close", domElement); + break; + case "iframe": + case "object": + listenToNonDelegatedEvent("load", domElement); + break; + case "video": + case "audio": + for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++) + listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement); + break; + case "image": + listenToNonDelegatedEvent("error", domElement); + listenToNonDelegatedEvent("load", domElement); + break; + case "details": + listenToNonDelegatedEvent("toggle", domElement); + break; + case "embed": + case "source": + case "link": + listenToNonDelegatedEvent("error", domElement), listenToNonDelegatedEvent("load", domElement); + case "area": + case "base": + case "br": + case "col": + case "hr": + case "keygen": + case "meta": + case "param": + case "track": + case "wbr": + case "menuitem": + for (defaultChecked in props) + if (props.hasOwnProperty(defaultChecked) && (hasSrc = props[defaultChecked], null != hasSrc)) + switch (defaultChecked) { + case "children": + case "dangerouslySetInnerHTML": + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + default: + setProp(domElement, tag, defaultChecked, hasSrc, props, null); + } + return; + default: + if (isCustomElement(tag)) { + for (_propValue in props) + props.hasOwnProperty(_propValue) && (hasSrc = props[_propValue], void 0 !== hasSrc && setPropOnCustomElement( + domElement, + tag, + _propValue, + hasSrc, + props, + void 0 + )); + return; + } + } + for (defaultValue in props) + props.hasOwnProperty(defaultValue) && (hasSrc = props[defaultValue], null != hasSrc && setProp(domElement, tag, defaultValue, hasSrc, props, null)); + } + function updateProperties(domElement, tag, lastProps, nextProps) { + validatePropertiesInDevelopment(tag, nextProps); + switch (tag) { + case "div": + case "span": + case "svg": + case "path": + case "a": + case "g": + case "p": + case "li": + break; + case "input": + var name = null, type = null, value = null, defaultValue = null, lastDefaultValue = null, checked = null, defaultChecked = null; + for (propKey in lastProps) { + var lastProp = lastProps[propKey]; + if (lastProps.hasOwnProperty(propKey) && null != lastProp) + switch (propKey) { + case "checked": + break; + case "value": + break; + case "defaultValue": + lastDefaultValue = lastProp; + default: + nextProps.hasOwnProperty(propKey) || setProp( + domElement, + tag, + propKey, + null, + nextProps, + lastProp + ); + } + } + for (var _propKey8 in nextProps) { + var propKey = nextProps[_propKey8]; + lastProp = lastProps[_propKey8]; + if (nextProps.hasOwnProperty(_propKey8) && (null != propKey || null != lastProp)) + switch (_propKey8) { + case "type": + type = propKey; + break; + case "name": + name = propKey; + break; + case "checked": + checked = propKey; + break; + case "defaultChecked": + defaultChecked = propKey; + break; + case "value": + value = propKey; + break; + case "defaultValue": + defaultValue = propKey; + break; + case "children": + case "dangerouslySetInnerHTML": + if (null != propKey) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + propKey !== lastProp && setProp( + domElement, + tag, + _propKey8, + propKey, + nextProps, + lastProp + ); + } + } + tag = "checkbox" === lastProps.type || "radio" === lastProps.type ? null != lastProps.checked : null != lastProps.value; + nextProps = "checkbox" === nextProps.type || "radio" === nextProps.type ? null != nextProps.checked : null != nextProps.value; + tag || !nextProps || didWarnUncontrolledToControlled || (console.error( + "A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnUncontrolledToControlled = true); + !tag || nextProps || didWarnControlledToUncontrolled || (console.error( + "A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://react.dev/link/controlled-components" + ), didWarnControlledToUncontrolled = true); + updateInput( + domElement, + value, + defaultValue, + lastDefaultValue, + checked, + defaultChecked, + type, + name + ); + return; + case "select": + propKey = value = defaultValue = _propKey8 = null; + for (type in lastProps) + if (lastDefaultValue = lastProps[type], lastProps.hasOwnProperty(type) && null != lastDefaultValue) + switch (type) { + case "value": + break; + case "multiple": + propKey = lastDefaultValue; + default: + nextProps.hasOwnProperty(type) || setProp( + domElement, + tag, + type, + null, + nextProps, + lastDefaultValue + ); + } + for (name in nextProps) + if (type = nextProps[name], lastDefaultValue = lastProps[name], nextProps.hasOwnProperty(name) && (null != type || null != lastDefaultValue)) + switch (name) { + case "value": + _propKey8 = type; + break; + case "defaultValue": + defaultValue = type; + break; + case "multiple": + value = type; + default: + type !== lastDefaultValue && setProp( + domElement, + tag, + name, + type, + nextProps, + lastDefaultValue + ); + } + nextProps = defaultValue; + tag = value; + lastProps = propKey; + null != _propKey8 ? updateOptions(domElement, !!tag, _propKey8, false) : !!lastProps !== !!tag && (null != nextProps ? updateOptions(domElement, !!tag, nextProps, true) : updateOptions(domElement, !!tag, tag ? [] : "", false)); + return; + case "textarea": + propKey = _propKey8 = null; + for (defaultValue in lastProps) + if (name = lastProps[defaultValue], lastProps.hasOwnProperty(defaultValue) && null != name && !nextProps.hasOwnProperty(defaultValue)) + switch (defaultValue) { + case "value": + break; + case "children": + break; + default: + setProp(domElement, tag, defaultValue, null, nextProps, name); + } + for (value in nextProps) + if (name = nextProps[value], type = lastProps[value], nextProps.hasOwnProperty(value) && (null != name || null != type)) + switch (value) { + case "value": + _propKey8 = name; + break; + case "defaultValue": + propKey = name; + break; + case "children": + break; + case "dangerouslySetInnerHTML": + if (null != name) + throw Error( + "`dangerouslySetInnerHTML` does not make sense on <textarea>." + ); + break; + default: + name !== type && setProp(domElement, tag, value, name, nextProps, type); + } + updateTextarea(domElement, _propKey8, propKey); + return; + case "option": + for (var _propKey13 in lastProps) + if (_propKey8 = lastProps[_propKey13], lastProps.hasOwnProperty(_propKey13) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey13)) + switch (_propKey13) { + case "selected": + domElement.selected = false; + break; + default: + setProp( + domElement, + tag, + _propKey13, + null, + nextProps, + _propKey8 + ); + } + for (lastDefaultValue in nextProps) + if (_propKey8 = nextProps[lastDefaultValue], propKey = lastProps[lastDefaultValue], nextProps.hasOwnProperty(lastDefaultValue) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (lastDefaultValue) { + case "selected": + domElement.selected = _propKey8 && "function" !== typeof _propKey8 && "symbol" !== typeof _propKey8; + break; + default: + setProp( + domElement, + tag, + lastDefaultValue, + _propKey8, + nextProps, + propKey + ); + } + return; + case "img": + case "link": + case "area": + case "base": + case "br": + case "col": + case "embed": + case "hr": + case "keygen": + case "meta": + case "param": + case "source": + case "track": + case "wbr": + case "menuitem": + for (var _propKey15 in lastProps) + _propKey8 = lastProps[_propKey15], lastProps.hasOwnProperty(_propKey15) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey15) && setProp( + domElement, + tag, + _propKey15, + null, + nextProps, + _propKey8 + ); + for (checked in nextProps) + if (_propKey8 = nextProps[checked], propKey = lastProps[checked], nextProps.hasOwnProperty(checked) && _propKey8 !== propKey && (null != _propKey8 || null != propKey)) + switch (checked) { + case "children": + case "dangerouslySetInnerHTML": + if (null != _propKey8) + throw Error( + tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ); + break; + default: + setProp( + domElement, + tag, + checked, + _propKey8, + nextProps, + propKey + ); + } + return; + default: + if (isCustomElement(tag)) { + for (var _propKey17 in lastProps) + _propKey8 = lastProps[_propKey17], lastProps.hasOwnProperty(_propKey17) && void 0 !== _propKey8 && !nextProps.hasOwnProperty(_propKey17) && setPropOnCustomElement( + domElement, + tag, + _propKey17, + void 0, + nextProps, + _propKey8 + ); + for (defaultChecked in nextProps) + _propKey8 = nextProps[defaultChecked], propKey = lastProps[defaultChecked], !nextProps.hasOwnProperty(defaultChecked) || _propKey8 === propKey || void 0 === _propKey8 && void 0 === propKey || setPropOnCustomElement( + domElement, + tag, + defaultChecked, + _propKey8, + nextProps, + propKey + ); + return; + } + } + for (var _propKey19 in lastProps) + _propKey8 = lastProps[_propKey19], lastProps.hasOwnProperty(_propKey19) && null != _propKey8 && !nextProps.hasOwnProperty(_propKey19) && setProp(domElement, tag, _propKey19, null, nextProps, _propKey8); + for (lastProp in nextProps) + _propKey8 = nextProps[lastProp], propKey = lastProps[lastProp], !nextProps.hasOwnProperty(lastProp) || _propKey8 === propKey || null == _propKey8 && null == propKey || setProp(domElement, tag, lastProp, _propKey8, nextProps, propKey); + } + function getPropNameFromAttributeName(attrName) { + switch (attrName) { + case "class": + return "className"; + case "for": + return "htmlFor"; + default: + return attrName; + } + } + function getStylesObjectFromElement(domElement) { + var serverValueInObjectForm = {}; + domElement = domElement.style; + for (var i = 0; i < domElement.length; i++) { + var styleName = domElement[i]; + serverValueInObjectForm[styleName] = domElement.getPropertyValue(styleName); + } + return serverValueInObjectForm; + } + function diffHydratedStyles(domElement, value$jscomp$0, serverDifferences) { + if (null != value$jscomp$0 && "object" !== typeof value$jscomp$0) + console.error( + "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ); + else { + var clientValue; + var delimiter = clientValue = "", styleName; + for (styleName in value$jscomp$0) + if (value$jscomp$0.hasOwnProperty(styleName)) { + var value = value$jscomp$0[styleName]; + null != value && "boolean" !== typeof value && "" !== value && (0 === styleName.indexOf("--") ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName + ":" + ("" + value).trim()) : "number" !== typeof value || 0 === value || unitlessNumbers.has(styleName) ? (checkCSSPropertyStringCoercion(value, styleName), clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + ("" + value).trim()) : clientValue += delimiter + styleName.replace(uppercasePattern, "-$1").toLowerCase().replace(msPattern$1, "-ms-") + ":" + value + "px", delimiter = ";"); + } + clientValue = clientValue || null; + value$jscomp$0 = domElement.getAttribute("style"); + value$jscomp$0 !== clientValue && (clientValue = normalizeMarkupForTextOrAttribute(clientValue), normalizeMarkupForTextOrAttribute(value$jscomp$0) !== clientValue && (serverDifferences.style = getStylesObjectFromElement(domElement))); + } + } + function hydrateAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) { + switch (typeof value) { + case "function": + case "symbol": + return; + } + if (!value) return; + } else + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (value) return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateBooleanishAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + break; + default: + if (checkAttributeStringCoercion(value, attributeName), domElement === "" + value) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateNumericAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + default: + if (isNaN(value)) return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!isNaN(value) && (checkAttributeStringCoercion(value, propKey), domElement === "" + value)) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function hydrateSanitizedAttribute(domElement, propKey, attributeName, value, extraAttributes, serverDifferences) { + extraAttributes.delete(attributeName); + domElement = domElement.getAttribute(attributeName); + if (null === domElement) + switch (typeof value) { + case "undefined": + case "function": + case "symbol": + case "boolean": + return; + } + else if (null != value) + switch (typeof value) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (checkAttributeStringCoercion(value, propKey), attributeName = sanitizeURL("" + value), domElement === attributeName) + return; + } + warnForPropDifference(propKey, domElement, value, serverDifferences); + } + function diffHydratedProperties(domElement, tag, props, hostContext) { + for (var serverDifferences = {}, extraAttributes = /* @__PURE__ */ new Set(), attributes = domElement.attributes, i = 0; i < attributes.length; i++) + switch (attributes[i].name.toLowerCase()) { + case "value": + break; + case "checked": + break; + case "selected": + break; + default: + extraAttributes.add(attributes[i].name); + } + if (isCustomElement(tag)) + for (var propKey in props) { + if (props.hasOwnProperty(propKey)) { + var value = props[propKey]; + if (null != value) { + if (registrationNameDependencies.hasOwnProperty(propKey)) + "function" !== typeof value && warnForInvalidEventListener(propKey, value); + else if (true !== props.suppressHydrationWarning) + switch (propKey) { + case "children": + "string" !== typeof value && "number" !== typeof value || warnForPropDifference( + "children", + domElement.textContent, + value, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + value = value ? value.__html : void 0; + null != value && (value = normalizeHTML(domElement, value), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + )); + continue; + case "style": + extraAttributes.delete(propKey); + diffHydratedStyles(domElement, value, serverDifferences); + continue; + case "offsetParent": + case "offsetTop": + case "offsetLeft": + case "offsetWidth": + case "offsetHeight": + case "isContentEditable": + case "outerText": + case "outerHTML": + extraAttributes.delete(propKey.toLowerCase()); + console.error( + "Assignment to read-only property will result in a no-op: `%s`", + propKey + ); + continue; + case "className": + extraAttributes.delete("class"); + attributes = getValueForAttributeOnCustomComponent( + domElement, + "class", + value + ); + warnForPropDifference( + "className", + attributes, + value, + serverDifferences + ); + continue; + default: + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(propKey.toLowerCase()) : extraAttributes.delete(propKey), attributes = getValueForAttributeOnCustomComponent( + domElement, + propKey, + value + ), warnForPropDifference( + propKey, + attributes, + value, + serverDifferences + ); + } + } + } + } + else + for (value in props) + if (props.hasOwnProperty(value) && (propKey = props[value], null != propKey)) { + if (registrationNameDependencies.hasOwnProperty(value)) + "function" !== typeof propKey && warnForInvalidEventListener(value, propKey); + else if (true !== props.suppressHydrationWarning) + switch (value) { + case "children": + "string" !== typeof propKey && "number" !== typeof propKey || warnForPropDifference( + "children", + domElement.textContent, + propKey, + serverDifferences + ); + continue; + case "suppressContentEditableWarning": + case "suppressHydrationWarning": + case "value": + case "checked": + case "selected": + case "defaultValue": + case "defaultChecked": + case "innerHTML": + case "ref": + continue; + case "dangerouslySetInnerHTML": + attributes = domElement.innerHTML; + propKey = propKey ? propKey.__html : void 0; + null != propKey && (propKey = normalizeHTML(domElement, propKey), attributes !== propKey && (serverDifferences[value] = { __html: attributes })); + continue; + case "className": + hydrateAttribute( + domElement, + value, + "class", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "tabIndex": + hydrateAttribute( + domElement, + value, + "tabindex", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "style": + extraAttributes.delete(value); + diffHydratedStyles(domElement, propKey, serverDifferences); + continue; + case "multiple": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.multiple, + propKey, + serverDifferences + ); + continue; + case "muted": + extraAttributes.delete(value); + warnForPropDifference( + value, + domElement.muted, + propKey, + serverDifferences + ); + continue; + case "autoFocus": + extraAttributes.delete("autofocus"); + warnForPropDifference( + value, + domElement.autofocus, + propKey, + serverDifferences + ); + continue; + case "data": + if ("object" !== tag) { + extraAttributes.delete(value); + attributes = domElement.getAttribute("data"); + warnForPropDifference( + value, + attributes, + propKey, + serverDifferences + ); + continue; + } + case "src": + case "href": + if (!("" !== propKey || "a" === tag && "href" === value || "object" === tag && "data" === value)) { + "src" === value ? console.error( + 'An empty string ("") was passed to the %s attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ) : console.error( + 'An empty string ("") was passed to the %s attribute. To fix this, either do not render the element at all or pass null to %s instead of an empty string.', + value, + value + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "action": + case "formAction": + attributes = domElement.getAttribute(value); + if ("function" === typeof propKey) { + extraAttributes.delete(value.toLowerCase()); + "formAction" === value ? (extraAttributes.delete("name"), extraAttributes.delete("formenctype"), extraAttributes.delete("formmethod"), extraAttributes.delete("formtarget")) : (extraAttributes.delete("enctype"), extraAttributes.delete("method"), extraAttributes.delete("target")); + continue; + } else if (attributes === EXPECTED_FORM_ACTION_URL) { + extraAttributes.delete(value.toLowerCase()); + warnForPropDifference( + value, + "function", + propKey, + serverDifferences + ); + continue; + } + hydrateSanitizedAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkHref": + hydrateSanitizedAttribute( + domElement, + value, + "xlink:href", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "contentEditable": + hydrateBooleanishAttribute( + domElement, + value, + "contenteditable", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "spellCheck": + hydrateBooleanishAttribute( + domElement, + value, + "spellcheck", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "draggable": + case "autoReverse": + case "externalResourcesRequired": + case "focusable": + case "preserveAlpha": + hydrateBooleanishAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "allowFullScreen": + case "async": + case "autoPlay": + case "controls": + case "default": + case "defer": + case "disabled": + case "disablePictureInPicture": + case "disableRemotePlayback": + case "formNoValidate": + case "hidden": + case "loop": + case "noModule": + case "noValidate": + case "open": + case "playsInline": + case "readOnly": + case "required": + case "reversed": + case "scoped": + case "seamless": + case "itemScope": + hydrateBooleanAttribute( + domElement, + value, + value.toLowerCase(), + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "capture": + case "download": + a: { + i = domElement; + var attributeName = attributes = value, serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + break a; + default: + if (false === propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + break; + case "boolean": + if (true === propKey && "" === i) break a; + break; + default: + if (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "cols": + case "rows": + case "size": + case "span": + a: { + i = domElement; + attributeName = attributes = value; + serverDifferences$jscomp$0 = serverDifferences; + extraAttributes.delete(attributeName); + i = i.getAttribute(attributeName); + if (null === i) + switch (typeof propKey) { + case "undefined": + case "function": + case "symbol": + case "boolean": + break a; + default: + if (isNaN(propKey) || 1 > propKey) break a; + } + else if (null != propKey) + switch (typeof propKey) { + case "function": + case "symbol": + case "boolean": + break; + default: + if (!(isNaN(propKey) || 1 > propKey) && (checkAttributeStringCoercion(propKey, attributes), i === "" + propKey)) + break a; + } + warnForPropDifference( + attributes, + i, + propKey, + serverDifferences$jscomp$0 + ); + } + continue; + case "rowSpan": + hydrateNumericAttribute( + domElement, + value, + "rowspan", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "start": + hydrateNumericAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xHeight": + hydrateAttribute( + domElement, + value, + "x-height", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkActuate": + hydrateAttribute( + domElement, + value, + "xlink:actuate", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkArcrole": + hydrateAttribute( + domElement, + value, + "xlink:arcrole", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkRole": + hydrateAttribute( + domElement, + value, + "xlink:role", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkShow": + hydrateAttribute( + domElement, + value, + "xlink:show", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkTitle": + hydrateAttribute( + domElement, + value, + "xlink:title", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xlinkType": + hydrateAttribute( + domElement, + value, + "xlink:type", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlBase": + hydrateAttribute( + domElement, + value, + "xml:base", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlLang": + hydrateAttribute( + domElement, + value, + "xml:lang", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "xmlSpace": + hydrateAttribute( + domElement, + value, + "xml:space", + propKey, + extraAttributes, + serverDifferences + ); + continue; + case "inert": + "" !== propKey || didWarnForNewBooleanPropsWithEmptyValue[value] || (didWarnForNewBooleanPropsWithEmptyValue[value] = true, console.error( + "Received an empty string for a boolean attribute `%s`. This will treat the attribute as if it were false. Either pass `false` to silence this warning, or pass `true` if you used an empty string in earlier versions of React to indicate this attribute is true.", + value + )); + hydrateBooleanAttribute( + domElement, + value, + value, + propKey, + extraAttributes, + serverDifferences + ); + continue; + default: + if (!(2 < value.length) || "o" !== value[0] && "O" !== value[0] || "n" !== value[1] && "N" !== value[1]) { + i = getAttributeAlias(value); + attributes = false; + hostContext.context === HostContextNamespaceNone && "svg" !== tag && "math" !== tag ? extraAttributes.delete(i.toLowerCase()) : (attributeName = value.toLowerCase(), attributeName = possibleStandardNames.hasOwnProperty( + attributeName + ) ? possibleStandardNames[attributeName] || null : null, null !== attributeName && attributeName !== value && (attributes = true, extraAttributes.delete(attributeName)), extraAttributes.delete(i)); + a: if (attributeName = domElement, serverDifferences$jscomp$0 = i, i = propKey, isAttributeNameSafe(serverDifferences$jscomp$0)) + if (attributeName.hasAttribute(serverDifferences$jscomp$0)) + attributeName = attributeName.getAttribute( + serverDifferences$jscomp$0 + ), checkAttributeStringCoercion( + i, + serverDifferences$jscomp$0 + ), i = attributeName === "" + i ? i : attributeName; + else { + switch (typeof i) { + case "function": + case "symbol": + break a; + case "boolean": + if (attributeName = serverDifferences$jscomp$0.toLowerCase().slice(0, 5), "data-" !== attributeName && "aria-" !== attributeName) + break a; + } + i = void 0 === i ? void 0 : null; + } + else i = void 0; + attributes || warnForPropDifference( + value, + i, + propKey, + serverDifferences + ); + } + } + } + 0 < extraAttributes.size && true !== props.suppressHydrationWarning && warnForExtraAttributes(domElement, extraAttributes, serverDifferences); + return 0 === Object.keys(serverDifferences).length ? null : serverDifferences; + } + function propNamesListJoin(list, combinator) { + switch (list.length) { + case 0: + return ""; + case 1: + return list[0]; + case 2: + return list[0] + " " + combinator + " " + list[1]; + default: + return list.slice(0, -1).join(", ") + ", " + combinator + " " + list[list.length - 1]; + } + } + function getOwnerDocumentFromRootContainer(rootContainerElement) { + return 9 === rootContainerElement.nodeType ? rootContainerElement : rootContainerElement.ownerDocument; + } + function getOwnHostContext(namespaceURI) { + switch (namespaceURI) { + case SVG_NAMESPACE: + return HostContextNamespaceSvg; + case MATH_NAMESPACE: + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + } + function getChildHostContextProd(parentNamespace, type) { + if (parentNamespace === HostContextNamespaceNone) + switch (type) { + case "svg": + return HostContextNamespaceSvg; + case "math": + return HostContextNamespaceMath; + default: + return HostContextNamespaceNone; + } + return parentNamespace === HostContextNamespaceSvg && "foreignObject" === type ? HostContextNamespaceNone : parentNamespace; + } + function shouldSetTextContent(type, props) { + return "textarea" === type || "noscript" === type || "string" === typeof props.children || "number" === typeof props.children || "bigint" === typeof props.children || "object" === typeof props.dangerouslySetInnerHTML && null !== props.dangerouslySetInnerHTML && null != props.dangerouslySetInnerHTML.__html; + } + function shouldAttemptEagerTransition() { + var event = window.event; + if (event && "popstate" === event.type) { + if (event === currentPopstateTransitionEvent) return false; + currentPopstateTransitionEvent = event; + return true; + } + currentPopstateTransitionEvent = null; + return false; + } + function handleErrorInNextTick(error) { + setTimeout(function() { + throw error; + }); + } + function commitMount(domElement, type, newProps) { + switch (type) { + case "button": + case "input": + case "select": + case "textarea": + newProps.autoFocus && domElement.focus(); + break; + case "img": + newProps.src ? domElement.src = newProps.src : newProps.srcSet && (domElement.srcset = newProps.srcSet); + } + } + function commitUpdate(domElement, type, oldProps, newProps) { + updateProperties(domElement, type, oldProps, newProps); + domElement[internalPropsKey] = newProps; + } + function resetTextContent(domElement) { + setTextContent(domElement, ""); + } + function commitTextUpdate(textInstance, oldText, newText) { + textInstance.nodeValue = newText; + } + function isSingletonScope(type) { + return "head" === type; + } + function removeChild(parentInstance, child) { + parentInstance.removeChild(child); + } + function removeChildFromContainer(container, child) { + (9 === container.nodeType ? container.body : "HTML" === container.nodeName ? container.ownerDocument.body : container).removeChild(child); + } + function clearSuspenseBoundary(parentInstance, suspenseInstance) { + var node = suspenseInstance, possiblePreambleContribution = 0, depth = 0; + do { + var nextNode = node.nextSibling; + parentInstance.removeChild(node); + if (nextNode && 8 === nextNode.nodeType) + if (node = nextNode.data, node === SUSPENSE_END_DATA) { + if (0 < possiblePreambleContribution && 8 > possiblePreambleContribution) { + node = possiblePreambleContribution; + var ownerDocument = parentInstance.ownerDocument; + node & PREAMBLE_CONTRIBUTION_HTML && releaseSingletonInstance(ownerDocument.documentElement); + node & PREAMBLE_CONTRIBUTION_BODY && releaseSingletonInstance(ownerDocument.body); + if (node & PREAMBLE_CONTRIBUTION_HEAD) + for (node = ownerDocument.head, releaseSingletonInstance(node), ownerDocument = node.firstChild; ownerDocument; ) { + var nextNode$jscomp$0 = ownerDocument.nextSibling, nodeName = ownerDocument.nodeName; + ownerDocument[internalHoistableMarker] || "SCRIPT" === nodeName || "STYLE" === nodeName || "LINK" === nodeName && "stylesheet" === ownerDocument.rel.toLowerCase() || node.removeChild(ownerDocument); + ownerDocument = nextNode$jscomp$0; + } + } + if (0 === depth) { + parentInstance.removeChild(nextNode); + retryIfBlockedOn(suspenseInstance); + return; + } + depth--; + } else + node === SUSPENSE_START_DATA || node === SUSPENSE_PENDING_START_DATA || node === SUSPENSE_FALLBACK_START_DATA ? depth++ : possiblePreambleContribution = node.charCodeAt(0) - 48; + else possiblePreambleContribution = 0; + node = nextNode; + } while (node); + retryIfBlockedOn(suspenseInstance); + } + function hideInstance(instance) { + instance = instance.style; + "function" === typeof instance.setProperty ? instance.setProperty("display", "none", "important") : instance.display = "none"; + } + function hideTextInstance(textInstance) { + textInstance.nodeValue = ""; + } + function unhideInstance(instance, props) { + props = props[STYLE]; + props = void 0 !== props && null !== props && props.hasOwnProperty("display") ? props.display : null; + instance.style.display = null == props || "boolean" === typeof props ? "" : ("" + props).trim(); + } + function unhideTextInstance(textInstance, text) { + textInstance.nodeValue = text; + } + function clearContainerSparingly(container) { + var nextNode = container.firstChild; + nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling); + for (; nextNode; ) { + var node = nextNode; + nextNode = nextNode.nextSibling; + switch (node.nodeName) { + case "HTML": + case "HEAD": + case "BODY": + clearContainerSparingly(node); + detachDeletedInstance(node); + continue; + case "SCRIPT": + case "STYLE": + continue; + case "LINK": + if ("stylesheet" === node.rel.toLowerCase()) continue; + } + container.removeChild(node); + } + } + function canHydrateInstance(instance, type, props, inRootOrSingleton) { + for (; 1 === instance.nodeType; ) { + var anyProps = props; + if (instance.nodeName.toLowerCase() !== type.toLowerCase()) { + if (!inRootOrSingleton && ("INPUT" !== instance.nodeName || "hidden" !== instance.type)) + break; + } else if (!inRootOrSingleton) + if ("input" === type && "hidden" === instance.type) { + checkAttributeStringCoercion(anyProps.name, "name"); + var name = null == anyProps.name ? null : "" + anyProps.name; + if ("hidden" === anyProps.type && instance.getAttribute("name") === name) + return instance; + } else return instance; + else if (!instance[internalHoistableMarker]) + switch (type) { + case "meta": + if (!instance.hasAttribute("itemprop")) break; + return instance; + case "link": + name = instance.getAttribute("rel"); + if ("stylesheet" === name && instance.hasAttribute("data-precedence")) + break; + else if (name !== anyProps.rel || instance.getAttribute("href") !== (null == anyProps.href || "" === anyProps.href ? null : anyProps.href) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) || instance.getAttribute("title") !== (null == anyProps.title ? null : anyProps.title)) + break; + return instance; + case "style": + if (instance.hasAttribute("data-precedence")) break; + return instance; + case "script": + name = instance.getAttribute("src"); + if ((name !== (null == anyProps.src ? null : anyProps.src) || instance.getAttribute("type") !== (null == anyProps.type ? null : anyProps.type) || instance.getAttribute("crossorigin") !== (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) && name && instance.hasAttribute("async") && !instance.hasAttribute("itemprop")) + break; + return instance; + default: + return instance; + } + instance = getNextHydratable(instance.nextSibling); + if (null === instance) break; + } + return null; + } + function canHydrateTextInstance(instance, text, inRootOrSingleton) { + if ("" === text) return null; + for (; 3 !== instance.nodeType; ) { + if ((1 !== instance.nodeType || "INPUT" !== instance.nodeName || "hidden" !== instance.type) && !inRootOrSingleton) + return null; + instance = getNextHydratable(instance.nextSibling); + if (null === instance) return null; + } + return instance; + } + function isSuspenseInstanceFallback(instance) { + return instance.data === SUSPENSE_FALLBACK_START_DATA || instance.data === SUSPENSE_PENDING_START_DATA && instance.ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE; + } + function registerSuspenseInstanceRetry(instance, callback) { + var ownerDocument = instance.ownerDocument; + if (instance.data !== SUSPENSE_PENDING_START_DATA || ownerDocument.readyState === DOCUMENT_READY_STATE_COMPLETE) + callback(); + else { + var listener = function() { + callback(); + ownerDocument.removeEventListener("DOMContentLoaded", listener); + }; + ownerDocument.addEventListener("DOMContentLoaded", listener); + instance._reactRetry = listener; + } + } + function getNextHydratable(node) { + for (; null != node; node = node.nextSibling) { + var nodeType = node.nodeType; + if (1 === nodeType || 3 === nodeType) break; + if (8 === nodeType) { + nodeType = node.data; + if (nodeType === SUSPENSE_START_DATA || nodeType === SUSPENSE_FALLBACK_START_DATA || nodeType === SUSPENSE_PENDING_START_DATA || nodeType === FORM_STATE_IS_MATCHING || nodeType === FORM_STATE_IS_NOT_MATCHING) + break; + if (nodeType === SUSPENSE_END_DATA) return null; + } + } + return node; + } + function describeHydratableInstanceForDevWarnings(instance) { + if (1 === instance.nodeType) { + for (var JSCompiler_temp_const = instance.nodeName.toLowerCase(), serverDifferences = {}, attributes = instance.attributes, i = 0; i < attributes.length; i++) { + var attr = attributes[i]; + serverDifferences[getPropNameFromAttributeName(attr.name)] = "style" === attr.name.toLowerCase() ? getStylesObjectFromElement(instance) : attr.value; + } + return { type: JSCompiler_temp_const, props: serverDifferences }; + } + return 8 === instance.nodeType ? { type: "Suspense", props: {} } : instance.nodeValue; + } + function diffHydratedTextForDevWarnings(textInstance, text, parentProps) { + return null === parentProps || true !== parentProps[SUPPRESS_HYDRATION_WARNING] ? (textInstance.nodeValue === text ? textInstance = null : (text = normalizeMarkupForTextOrAttribute(text), textInstance = normalizeMarkupForTextOrAttribute(textInstance.nodeValue) === text ? null : textInstance.nodeValue), textInstance) : null; + } + function getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) { + suspenseInstance = suspenseInstance.nextSibling; + for (var depth = 0; suspenseInstance; ) { + if (8 === suspenseInstance.nodeType) { + var data = suspenseInstance.data; + if (data === SUSPENSE_END_DATA) { + if (0 === depth) + return getNextHydratable(suspenseInstance.nextSibling); + depth--; + } else + data !== SUSPENSE_START_DATA && data !== SUSPENSE_FALLBACK_START_DATA && data !== SUSPENSE_PENDING_START_DATA || depth++; + } + suspenseInstance = suspenseInstance.nextSibling; + } + return null; + } + function getParentSuspenseInstance(targetInstance) { + targetInstance = targetInstance.previousSibling; + for (var depth = 0; targetInstance; ) { + if (8 === targetInstance.nodeType) { + var data = targetInstance.data; + if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) { + if (0 === depth) return targetInstance; + depth--; + } else data === SUSPENSE_END_DATA && depth++; + } + targetInstance = targetInstance.previousSibling; + } + return null; + } + function commitHydratedContainer(container) { + retryIfBlockedOn(container); + } + function commitHydratedSuspenseInstance(suspenseInstance) { + retryIfBlockedOn(suspenseInstance); + } + function resolveSingletonInstance(type, props, rootContainerInstance, hostContext, validateDOMNestingDev) { + validateDOMNestingDev && validateDOMNesting(type, hostContext.ancestorInfo); + props = getOwnerDocumentFromRootContainer(rootContainerInstance); + switch (type) { + case "html": + type = props.documentElement; + if (!type) + throw Error( + "React expected an <html> element (document.documentElement) to exist in the Document but one was not found. React never removes the documentElement for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "head": + type = props.head; + if (!type) + throw Error( + "React expected a <head> element (document.head) to exist in the Document but one was not found. React never removes the head for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + case "body": + type = props.body; + if (!type) + throw Error( + "React expected a <body> element (document.body) to exist in the Document but one was not found. React never removes the body for any Document it renders into so the cause is likely in some other script running on this page." + ); + return type; + default: + throw Error( + "resolveSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + } + function acquireSingletonInstance(type, props, instance, internalInstanceHandle) { + if (!instance[internalContainerInstanceKey] && getInstanceFromNode(instance)) { + var tagName = instance.tagName.toLowerCase(); + console.error( + "You are mounting a new %s component when a previous one has not first unmounted. It is an error to render more than one %s component at a time and attributes and children of these components will likely fail in unpredictable ways. Please only render a single instance of <%s> and if you need to mount a new one, ensure any previous ones have unmounted first.", + tagName, + tagName, + tagName + ); + } + switch (type) { + case "html": + case "head": + case "body": + break; + default: + console.error( + "acquireSingletonInstance was called with an element type that is not supported. This is a bug in React." + ); + } + for (tagName = instance.attributes; tagName.length; ) + instance.removeAttributeNode(tagName[0]); + setInitialProperties(instance, type, props); + instance[internalInstanceKey] = internalInstanceHandle; + instance[internalPropsKey] = props; + } + function releaseSingletonInstance(instance) { + for (var attributes = instance.attributes; attributes.length; ) + instance.removeAttributeNode(attributes[0]); + detachDeletedInstance(instance); + } + function getHoistableRoot(container) { + return "function" === typeof container.getRootNode ? container.getRootNode() : 9 === container.nodeType ? container : container.ownerDocument; + } + function preconnectAs(rel, href, crossOrigin) { + var ownerDocument = globalDocument; + if (ownerDocument && "string" === typeof href && href) { + var limitedEscapedHref = escapeSelectorAttributeValueInsideDoubleQuotes(href); + limitedEscapedHref = 'link[rel="' + rel + '"][href="' + limitedEscapedHref + '"]'; + "string" === typeof crossOrigin && (limitedEscapedHref += '[crossorigin="' + crossOrigin + '"]'); + preconnectsSet.has(limitedEscapedHref) || (preconnectsSet.add(limitedEscapedHref), rel = { rel, crossOrigin, href }, null === ownerDocument.querySelector(limitedEscapedHref) && (href = ownerDocument.createElement("link"), setInitialProperties(href, "link", rel), markNodeAsHoistable(href), ownerDocument.head.appendChild(href))); + } + } + function getResource(type, currentProps, pendingProps, currentResource) { + var resourceRoot = (resourceRoot = rootInstanceStackCursor.current) ? getHoistableRoot(resourceRoot) : null; + if (!resourceRoot) + throw Error( + '"resourceRoot" was expected to exist. This is a bug in React.' + ); + switch (type) { + case "meta": + case "title": + return null; + case "style": + return "string" === typeof pendingProps.precedence && "string" === typeof pendingProps.href ? (pendingProps = getStyleKey(pendingProps.href), currentProps = getResourcesFromRoot(resourceRoot).hoistableStyles, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "style", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + case "link": + if ("stylesheet" === pendingProps.rel && "string" === typeof pendingProps.href && "string" === typeof pendingProps.precedence) { + type = getStyleKey(pendingProps.href); + var _styles = getResourcesFromRoot(resourceRoot).hoistableStyles, _resource = _styles.get(type); + if (!_resource && (resourceRoot = resourceRoot.ownerDocument || resourceRoot, _resource = { + type: "stylesheet", + instance: null, + count: 0, + state: { loading: NotLoaded, preload: null } + }, _styles.set(type, _resource), (_styles = resourceRoot.querySelector( + getStylesheetSelectorFromKey(type) + )) && !_styles._p && (_resource.instance = _styles, _resource.state.loading = Loaded | Inserted), !preloadPropsMap.has(type))) { + var preloadProps = { + rel: "preload", + as: "style", + href: pendingProps.href, + crossOrigin: pendingProps.crossOrigin, + integrity: pendingProps.integrity, + media: pendingProps.media, + hrefLang: pendingProps.hrefLang, + referrerPolicy: pendingProps.referrerPolicy + }; + preloadPropsMap.set(type, preloadProps); + _styles || preloadStylesheet( + resourceRoot, + type, + preloadProps, + _resource.state + ); + } + if (currentProps && null === currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected <link> not to update to be updated to a stylesheet with precedence. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return _resource; + } + if (currentProps && null !== currentResource) + throw pendingProps = "\n\n - " + describeLinkForResourceErrorDEV(currentProps) + "\n + " + describeLinkForResourceErrorDEV(pendingProps), Error( + "Expected stylesheet with precedence to not be updated to a different kind of <link>. Check the `rel`, `href`, and `precedence` props of this component. Alternatively, check whether two different <link> components render in the same slot or share the same key." + pendingProps + ); + return null; + case "script": + return currentProps = pendingProps.async, pendingProps = pendingProps.src, "string" === typeof pendingProps && currentProps && "function" !== typeof currentProps && "symbol" !== typeof currentProps ? (pendingProps = getScriptKey(pendingProps), currentProps = getResourcesFromRoot(resourceRoot).hoistableScripts, currentResource = currentProps.get(pendingProps), currentResource || (currentResource = { + type: "script", + instance: null, + count: 0, + state: null + }, currentProps.set(pendingProps, currentResource)), currentResource) : { type: "void", instance: null, count: 0, state: null }; + default: + throw Error( + 'getResource encountered a type it did not expect: "' + type + '". this is a bug in React.' + ); + } + } + function describeLinkForResourceErrorDEV(props) { + var describedProps = 0, description = "<link"; + "string" === typeof props.rel ? (describedProps++, description += ' rel="' + props.rel + '"') : hasOwnProperty.call(props, "rel") && (describedProps++, description += ' rel="' + (null === props.rel ? "null" : "invalid type " + typeof props.rel) + '"'); + "string" === typeof props.href ? (describedProps++, description += ' href="' + props.href + '"') : hasOwnProperty.call(props, "href") && (describedProps++, description += ' href="' + (null === props.href ? "null" : "invalid type " + typeof props.href) + '"'); + "string" === typeof props.precedence ? (describedProps++, description += ' precedence="' + props.precedence + '"') : hasOwnProperty.call(props, "precedence") && (describedProps++, description += " precedence={" + (null === props.precedence ? "null" : "invalid type " + typeof props.precedence) + "}"); + Object.getOwnPropertyNames(props).length > describedProps && (description += " ..."); + return description + " />"; + } + function getStyleKey(href) { + return 'href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"'; + } + function getStylesheetSelectorFromKey(key) { + return 'link[rel="stylesheet"][' + key + "]"; + } + function stylesheetPropsFromRawProps(rawProps) { + return assign({}, rawProps, { + "data-precedence": rawProps.precedence, + precedence: null + }); + } + function preloadStylesheet(ownerDocument, key, preloadProps, state) { + ownerDocument.querySelector( + 'link[rel="preload"][as="style"][' + key + "]" + ) ? state.loading = Loaded : (key = ownerDocument.createElement("link"), state.preload = key, key.addEventListener("load", function() { + return state.loading |= Loaded; + }), key.addEventListener("error", function() { + return state.loading |= Errored; + }), setInitialProperties(key, "link", preloadProps), markNodeAsHoistable(key), ownerDocument.head.appendChild(key)); + } + function getScriptKey(src) { + return '[src="' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '"]'; + } + function getScriptSelectorFromKey(key) { + return "script[async]" + key; + } + function acquireResource(hoistableRoot, resource, props) { + resource.count++; + if (null === resource.instance) + switch (resource.type) { + case "style": + var instance = hoistableRoot.querySelector( + 'style[data-href~="' + escapeSelectorAttributeValueInsideDoubleQuotes(props.href) + '"]' + ); + if (instance) + return resource.instance = instance, markNodeAsHoistable(instance), instance; + var styleProps = assign({}, props, { + "data-href": props.href, + "data-precedence": props.precedence, + href: null, + precedence: null + }); + instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("style"); + markNodeAsHoistable(instance); + setInitialProperties(instance, "style", styleProps); + insertStylesheet(instance, props.precedence, hoistableRoot); + return resource.instance = instance; + case "stylesheet": + styleProps = getStyleKey(props.href); + var _instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(styleProps) + ); + if (_instance) + return resource.state.loading |= Inserted, resource.instance = _instance, markNodeAsHoistable(_instance), _instance; + instance = stylesheetPropsFromRawProps(props); + (styleProps = preloadPropsMap.get(styleProps)) && adoptPreloadPropsForStylesheet(instance, styleProps); + _instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement("link"); + markNodeAsHoistable(_instance); + var linkInstance = _instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(_instance, "link", instance); + resource.state.loading |= Inserted; + insertStylesheet(_instance, props.precedence, hoistableRoot); + return resource.instance = _instance; + case "script": + _instance = getScriptKey(props.src); + if (styleProps = hoistableRoot.querySelector( + getScriptSelectorFromKey(_instance) + )) + return resource.instance = styleProps, markNodeAsHoistable(styleProps), styleProps; + instance = props; + if (styleProps = preloadPropsMap.get(_instance)) + instance = assign({}, props), adoptPreloadPropsForScript(instance, styleProps); + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + styleProps = hoistableRoot.createElement("script"); + markNodeAsHoistable(styleProps); + setInitialProperties(styleProps, "link", instance); + hoistableRoot.head.appendChild(styleProps); + return resource.instance = styleProps; + case "void": + return null; + default: + throw Error( + 'acquireResource encountered a resource type it did not expect: "' + resource.type + '". this is a bug in React.' + ); + } + else + "stylesheet" === resource.type && (resource.state.loading & Inserted) === NotLoaded && (instance = resource.instance, resource.state.loading |= Inserted, insertStylesheet(instance, props.precedence, hoistableRoot)); + return resource.instance; + } + function insertStylesheet(instance, precedence, root2) { + for (var nodes = root2.querySelectorAll( + 'link[rel="stylesheet"][data-precedence],style[data-precedence]' + ), last = nodes.length ? nodes[nodes.length - 1] : null, prior = last, i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (node.dataset.precedence === precedence) prior = node; + else if (prior !== last) break; + } + prior ? prior.parentNode.insertBefore(instance, prior.nextSibling) : (precedence = 9 === root2.nodeType ? root2.head : root2, precedence.insertBefore(instance, precedence.firstChild)); + } + function adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) { + null == stylesheetProps.crossOrigin && (stylesheetProps.crossOrigin = preloadProps.crossOrigin); + null == stylesheetProps.referrerPolicy && (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy); + null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title); + } + function adoptPreloadPropsForScript(scriptProps, preloadProps) { + null == scriptProps.crossOrigin && (scriptProps.crossOrigin = preloadProps.crossOrigin); + null == scriptProps.referrerPolicy && (scriptProps.referrerPolicy = preloadProps.referrerPolicy); + null == scriptProps.integrity && (scriptProps.integrity = preloadProps.integrity); + } + function getHydratableHoistableCache(type, keyAttribute, ownerDocument) { + if (null === tagCaches) { + var cache = /* @__PURE__ */ new Map(); + var caches = tagCaches = /* @__PURE__ */ new Map(); + caches.set(ownerDocument, cache); + } else + caches = tagCaches, cache = caches.get(ownerDocument), cache || (cache = /* @__PURE__ */ new Map(), caches.set(ownerDocument, cache)); + if (cache.has(type)) return cache; + cache.set(type, null); + ownerDocument = ownerDocument.getElementsByTagName(type); + for (caches = 0; caches < ownerDocument.length; caches++) { + var node = ownerDocument[caches]; + if (!(node[internalHoistableMarker] || node[internalInstanceKey] || "link" === type && "stylesheet" === node.getAttribute("rel")) && node.namespaceURI !== SVG_NAMESPACE) { + var nodeKey = node.getAttribute(keyAttribute) || ""; + nodeKey = type + nodeKey; + var existing = cache.get(nodeKey); + existing ? existing.push(node) : cache.set(nodeKey, [node]); + } + } + return cache; + } + function mountHoistable(hoistableRoot, type, instance) { + hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot; + hoistableRoot.head.insertBefore( + instance, + "title" === type ? hoistableRoot.querySelector("head > title") : null + ); + } + function isHostHoistableType(type, props, hostContext) { + var outsideHostContainerContext = !hostContext.ancestorInfo.containerTagInScope; + if (hostContext.context === HostContextNamespaceSvg || null != props.itemProp) + return !outsideHostContainerContext || null == props.itemProp || "meta" !== type && "title" !== type && "style" !== type && "link" !== type && "script" !== type || console.error( + "Cannot render a <%s> outside the main document if it has an `itemProp` prop. `itemProp` suggests the tag belongs to an `itemScope` which can appear anywhere in the DOM. If you were intending for React to hoist this <%s> remove the `itemProp` prop. Otherwise, try moving this tag into the <head> or <body> of the Document.", + type, + type + ), false; + switch (type) { + case "meta": + case "title": + return true; + case "style": + if ("string" !== typeof props.precedence || "string" !== typeof props.href || "" === props.href) { + outsideHostContainerContext && console.error( + 'Cannot render a <style> outside the main document without knowing its precedence and a unique href key. React can hoist and deduplicate <style> tags if you provide a `precedence` prop along with an `href` prop that does not conflict with the `href` values used in any other hoisted <style> or <link rel="stylesheet" ...> tags. Note that hoisting <style> tags is considered an advanced feature that most will not use directly. Consider moving the <style> tag to the <head> or consider adding a `precedence="default"` and `href="some unique resource identifier"`.' + ); + break; + } + return true; + case "link": + if ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href || props.onLoad || props.onError) { + if ("stylesheet" === props.rel && "string" === typeof props.precedence) { + type = props.href; + var onError = props.onError, disabled = props.disabled; + hostContext = []; + props.onLoad && hostContext.push("`onLoad`"); + onError && hostContext.push("`onError`"); + null != disabled && hostContext.push("`disabled`"); + onError = propNamesListJoin(hostContext, "and"); + onError += 1 === hostContext.length ? " prop" : " props"; + disabled = 1 === hostContext.length ? "an " + onError : "the " + onError; + hostContext.length && console.error( + 'React encountered a <link rel="stylesheet" href="%s" ... /> with a `precedence` prop that also included %s. The presence of loading and error handlers indicates an intent to manage the stylesheet loading state from your from your Component code and React will not hoist or deduplicate this stylesheet. If your intent was to have React hoist and deduplciate this stylesheet using the `precedence` prop remove the %s, otherwise remove the `precedence` prop.', + type, + disabled, + onError + ); + } + outsideHostContainerContext && ("string" !== typeof props.rel || "string" !== typeof props.href || "" === props.href ? console.error( + "Cannot render a <link> outside the main document without a `rel` and `href` prop. Try adding a `rel` and/or `href` prop to this <link> or moving the link into the <head> tag" + ) : (props.onError || props.onLoad) && console.error( + "Cannot render a <link> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + )); + break; + } + switch (props.rel) { + case "stylesheet": + return type = props.precedence, props = props.disabled, "string" !== typeof type && outsideHostContainerContext && console.error( + 'Cannot render a <link rel="stylesheet" /> outside the main document without knowing its precedence. Consider adding precedence="default" or moving it into the root <head> tag.' + ), "string" === typeof type && null == props; + default: + return true; + } + case "script": + type = props.async && "function" !== typeof props.async && "symbol" !== typeof props.async; + if (!type || props.onLoad || props.onError || !props.src || "string" !== typeof props.src) { + outsideHostContainerContext && (type ? props.onLoad || props.onError ? console.error( + "Cannot render a <script> with onLoad or onError listeners outside the main document. Try removing onLoad={...} and onError={...} or moving it into the root <head> tag or somewhere in the <body>." + ) : console.error( + "Cannot render a <script> outside the main document without `async={true}` and a non-empty `src` prop. Ensure there is a valid `src` and either make the script async or move it into the root <head> tag or somewhere in the <body>." + ) : console.error( + 'Cannot render a sync or defer <script> outside the main document without knowing its order. Try adding async="" or moving it into the root <head> tag.' + )); + break; + } + return true; + case "noscript": + case "template": + outsideHostContainerContext && console.error( + "Cannot render <%s> outside the main document. Try moving it into the root <head> tag.", + type + ); + } + return false; + } + function preloadResource(resource) { + return "stylesheet" === resource.type && (resource.state.loading & Settled) === NotLoaded ? false : true; + } + function noop() { + } + function suspendResource(hoistableRoot, resource, props) { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + if ("stylesheet" === resource.type && ("string" !== typeof props.media || false !== matchMedia(props.media).matches) && (resource.state.loading & Inserted) === NotLoaded) { + if (null === resource.instance) { + var key = getStyleKey(props.href), instance = hoistableRoot.querySelector( + getStylesheetSelectorFromKey(key) + ); + if (instance) { + hoistableRoot = instance._p; + null !== hoistableRoot && "object" === typeof hoistableRoot && "function" === typeof hoistableRoot.then && (state.count++, state = onUnsuspend.bind(state), hoistableRoot.then(state, state)); + resource.state.loading |= Inserted; + resource.instance = instance; + markNodeAsHoistable(instance); + return; + } + instance = hoistableRoot.ownerDocument || hoistableRoot; + props = stylesheetPropsFromRawProps(props); + (key = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(props, key); + instance = instance.createElement("link"); + markNodeAsHoistable(instance); + var linkInstance = instance; + linkInstance._p = new Promise(function(resolve, reject) { + linkInstance.onload = resolve; + linkInstance.onerror = reject; + }); + setInitialProperties(instance, "link", props); + resource.instance = instance; + } + null === state.stylesheets && (state.stylesheets = /* @__PURE__ */ new Map()); + state.stylesheets.set(resource, hoistableRoot); + (hoistableRoot = resource.state.preload) && (resource.state.loading & Settled) === NotLoaded && (state.count++, resource = onUnsuspend.bind(state), hoistableRoot.addEventListener("load", resource), hoistableRoot.addEventListener("error", resource)); + } + } + function waitForCommitToBeReady() { + if (null === suspendedState) + throw Error( + "Internal React Error: suspendedState null when it was expected to exists. Please report this as a React bug." + ); + var state = suspendedState; + state.stylesheets && 0 === state.count && insertSuspendedStylesheets(state, state.stylesheets); + return 0 < state.count ? function(commit) { + var stylesheetTimer = setTimeout(function() { + state.stylesheets && insertSuspendedStylesheets(state, state.stylesheets); + if (state.unsuspend) { + var unsuspend = state.unsuspend; + state.unsuspend = null; + unsuspend(); + } + }, 6e4); + state.unsuspend = commit; + return function() { + state.unsuspend = null; + clearTimeout(stylesheetTimer); + }; + } : null; + } + function onUnsuspend() { + this.count--; + if (0 === this.count) { + if (this.stylesheets) + insertSuspendedStylesheets(this, this.stylesheets); + else if (this.unsuspend) { + var unsuspend = this.unsuspend; + this.unsuspend = null; + unsuspend(); + } + } + } + function insertSuspendedStylesheets(state, resources) { + state.stylesheets = null; + null !== state.unsuspend && (state.count++, precedencesByRoot = /* @__PURE__ */ new Map(), resources.forEach(insertStylesheetIntoRoot, state), precedencesByRoot = null, onUnsuspend.call(state)); + } + function insertStylesheetIntoRoot(root2, resource) { + if (!(resource.state.loading & Inserted)) { + var precedences = precedencesByRoot.get(root2); + if (precedences) var last = precedences.get(LAST_PRECEDENCE); + else { + precedences = /* @__PURE__ */ new Map(); + precedencesByRoot.set(root2, precedences); + for (var nodes = root2.querySelectorAll( + "link[data-precedence],style[data-precedence]" + ), i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if ("LINK" === node.nodeName || "not all" !== node.getAttribute("media")) + precedences.set(node.dataset.precedence, node), last = node; + } + last && precedences.set(LAST_PRECEDENCE, last); + } + nodes = resource.instance; + node = nodes.getAttribute("data-precedence"); + i = precedences.get(node) || last; + i === last && precedences.set(LAST_PRECEDENCE, nodes); + precedences.set(node, nodes); + this.count++; + last = onUnsuspend.bind(this); + nodes.addEventListener("load", last); + nodes.addEventListener("error", last); + i ? i.parentNode.insertBefore(nodes, i.nextSibling) : (root2 = 9 === root2.nodeType ? root2.head : root2, root2.insertBefore(nodes, root2.firstChild)); + resource.state.loading |= Inserted; + } + } + function FiberRootNode(containerInfo, tag, hydrate, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, formState) { + this.tag = 1; + this.containerInfo = containerInfo; + this.pingCache = this.current = this.pendingChildren = null; + this.timeoutHandle = noTimeout; + this.callbackNode = this.next = this.pendingContext = this.context = this.cancelPendingCommit = null; + this.callbackPriority = 0; + this.expirationTimes = createLaneMap(-1); + this.entangledLanes = this.shellSuspendCounter = this.errorRecoveryDisabledLanes = this.expiredLanes = this.warmLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0; + this.entanglements = createLaneMap(0); + this.hiddenUpdates = createLaneMap(null); + this.identifierPrefix = identifierPrefix; + this.onUncaughtError = onUncaughtError; + this.onCaughtError = onCaughtError; + this.onRecoverableError = onRecoverableError; + this.pooledCache = null; + this.pooledCacheLanes = 0; + this.formState = formState; + this.incompleteTransitions = /* @__PURE__ */ new Map(); + this.passiveEffectDuration = this.effectDuration = -0; + this.memoizedUpdaters = /* @__PURE__ */ new Set(); + containerInfo = this.pendingUpdatersLaneMap = []; + for (tag = 0; 31 > tag; tag++) containerInfo.push(/* @__PURE__ */ new Set()); + this._debugRootType = hydrate ? "hydrateRoot()" : "createRoot()"; + } + function createFiberRoot(containerInfo, tag, hydrate, initialChildren, hydrationCallbacks, isStrictMode, identifierPrefix, onUncaughtError, onCaughtError, onRecoverableError, transitionCallbacks, formState) { + containerInfo = new FiberRootNode( + containerInfo, + tag, + hydrate, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + formState + ); + tag = ConcurrentMode; + true === isStrictMode && (tag |= StrictLegacyMode | StrictEffectsMode); + isDevToolsPresent && (tag |= ProfileMode); + isStrictMode = createFiber(3, null, null, tag); + containerInfo.current = isStrictMode; + isStrictMode.stateNode = containerInfo; + tag = createCache(); + retainCache(tag); + containerInfo.pooledCache = tag; + retainCache(tag); + isStrictMode.memoizedState = { + element: initialChildren, + isDehydrated: hydrate, + cache: tag + }; + initializeUpdateQueue(isStrictMode); + return containerInfo; + } + function getContextForSubtree(parentComponent) { + if (!parentComponent) return emptyContextObject; + parentComponent = emptyContextObject; + return parentComponent; + } + function updateContainerImpl(rootFiber, lane, element, container, parentComponent, callback) { + if (injectedHook && "function" === typeof injectedHook.onScheduleFiberRoot) + try { + injectedHook.onScheduleFiberRoot(rendererID, container, element); + } catch (err) { + hasLoggedError || (hasLoggedError = true, console.error( + "React instrumentation encountered an error: %s", + err + )); + } + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markRenderScheduled && injectedProfilingHooks.markRenderScheduled(lane); + parentComponent = getContextForSubtree(parentComponent); + null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent; + isRendering && null !== current && !didWarnAboutNestedUpdates && (didWarnAboutNestedUpdates = true, console.error( + "Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.\n\nCheck the render method of %s.", + getComponentNameFromFiber(current) || "Unknown" + )); + container = createUpdate(lane); + container.payload = { element }; + callback = void 0 === callback ? null : callback; + null !== callback && ("function" !== typeof callback && console.error( + "Expected the last optional `callback` argument to be a function. Instead received: %s.", + callback + ), container.callback = callback); + element = enqueueUpdate(rootFiber, container, lane); + null !== element && (scheduleUpdateOnFiber(element, rootFiber, lane), entangleTransitions(element, rootFiber, lane)); + } + function markRetryLaneImpl(fiber, retryLane) { + fiber = fiber.memoizedState; + if (null !== fiber && null !== fiber.dehydrated) { + var a = fiber.retryLane; + fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane; + } + } + function markRetryLaneIfNotHydrated(fiber, retryLane) { + markRetryLaneImpl(fiber, retryLane); + (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane); + } + function attemptContinuousHydration(fiber) { + if (13 === fiber.tag) { + var root2 = enqueueConcurrentRenderForLane(fiber, 67108864); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 67108864); + markRetryLaneIfNotHydrated(fiber, 67108864); + } + } + function getCurrentFiberForDevTools() { + return current; + } + function getLaneLabelMap() { + for (var map = /* @__PURE__ */ new Map(), lane = 1, index = 0; 31 > index; index++) { + var label = getLabelForLane(lane); + map.set(lane, label); + lane *= 2; + } + return map; + } + function dispatchDiscreteEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = DiscreteEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchContinuousEvent(domEventName, eventSystemFlags, container, nativeEvent) { + var prevTransition = ReactSharedInternals.T; + ReactSharedInternals.T = null; + var previousPriority = ReactDOMSharedInternals.p; + try { + ReactDOMSharedInternals.p = ContinuousEventPriority, dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent); + } finally { + ReactDOMSharedInternals.p = previousPriority, ReactSharedInternals.T = prevTransition; + } + } + function dispatchEvent(domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (_enabled) { + var blockedOn = findInstanceBlockingEvent(nativeEvent); + if (null === blockedOn) + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ), clearIfContinuousEvent(domEventName, nativeEvent); + else if (queueIfContinuousEvent( + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + )) + nativeEvent.stopPropagation(); + else if (clearIfContinuousEvent(domEventName, nativeEvent), eventSystemFlags & 4 && -1 < discreteReplayableEvents.indexOf(domEventName)) { + for (; null !== blockedOn; ) { + var fiber = getInstanceFromNode(blockedOn); + if (null !== fiber) + switch (fiber.tag) { + case 3: + fiber = fiber.stateNode; + if (fiber.current.memoizedState.isDehydrated) { + var lanes = getHighestPriorityLanes(fiber.pendingLanes); + if (0 !== lanes) { + var root2 = fiber; + root2.pendingLanes |= 2; + for (root2.entangledLanes |= 2; lanes; ) { + var lane = 1 << 31 - clz32(lanes); + root2.entanglements[1] |= lane; + lanes &= ~lane; + } + ensureRootIsScheduled(fiber); + (executionContext & (RenderContext | CommitContext)) === NoContext && (workInProgressRootRenderTargetTime = now$1() + RENDER_TIMEOUT_MS, flushSyncWorkAcrossRoots_impl(0, false)); + } + } + break; + case 13: + root2 = enqueueConcurrentRenderForLane(fiber, 2), null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2), flushSyncWork$1(), markRetryLaneIfNotHydrated(fiber, 2); + } + fiber = findInstanceBlockingEvent(nativeEvent); + null === fiber && dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + return_targetInst, + targetContainer + ); + if (fiber === blockedOn) break; + blockedOn = fiber; + } + null !== blockedOn && nativeEvent.stopPropagation(); + } else + dispatchEventForPluginEventSystem( + domEventName, + eventSystemFlags, + nativeEvent, + null, + targetContainer + ); + } + } + function findInstanceBlockingEvent(nativeEvent) { + nativeEvent = getEventTarget(nativeEvent); + return findInstanceBlockingTarget(nativeEvent); + } + function findInstanceBlockingTarget(targetNode) { + return_targetInst = null; + targetNode = getClosestInstanceFromNode(targetNode); + if (null !== targetNode) { + var nearestMounted = getNearestMountedFiber(targetNode); + if (null === nearestMounted) targetNode = null; + else { + var tag = nearestMounted.tag; + if (13 === tag) { + targetNode = getSuspenseInstanceFromFiber(nearestMounted); + if (null !== targetNode) return targetNode; + targetNode = null; + } else if (3 === tag) { + if (nearestMounted.stateNode.current.memoizedState.isDehydrated) + return 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + targetNode = null; + } else nearestMounted !== targetNode && (targetNode = null); + } + } + return_targetInst = targetNode; + return null; + } + function getEventPriority(domEventName) { + switch (domEventName) { + case "beforetoggle": + case "cancel": + case "click": + case "close": + case "contextmenu": + case "copy": + case "cut": + case "auxclick": + case "dblclick": + case "dragend": + case "dragstart": + case "drop": + case "focusin": + case "focusout": + case "input": + case "invalid": + case "keydown": + case "keypress": + case "keyup": + case "mousedown": + case "mouseup": + case "paste": + case "pause": + case "play": + case "pointercancel": + case "pointerdown": + case "pointerup": + case "ratechange": + case "reset": + case "resize": + case "seeked": + case "submit": + case "toggle": + case "touchcancel": + case "touchend": + case "touchstart": + case "volumechange": + case "change": + case "selectionchange": + case "textInput": + case "compositionstart": + case "compositionend": + case "compositionupdate": + case "beforeblur": + case "afterblur": + case "beforeinput": + case "blur": + case "fullscreenchange": + case "focus": + case "hashchange": + case "popstate": + case "select": + case "selectstart": + return DiscreteEventPriority; + case "drag": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "mousemove": + case "mouseout": + case "mouseover": + case "pointermove": + case "pointerout": + case "pointerover": + case "scroll": + case "touchmove": + case "wheel": + case "mouseenter": + case "mouseleave": + case "pointerenter": + case "pointerleave": + return ContinuousEventPriority; + case "message": + switch (getCurrentPriorityLevel()) { + case ImmediatePriority: + return DiscreteEventPriority; + case UserBlockingPriority: + return ContinuousEventPriority; + case NormalPriority$1: + case LowPriority: + return DefaultEventPriority; + case IdlePriority: + return IdleEventPriority; + default: + return DefaultEventPriority; + } + default: + return DefaultEventPriority; + } + } + function clearIfContinuousEvent(domEventName, nativeEvent) { + switch (domEventName) { + case "focusin": + case "focusout": + queuedFocus = null; + break; + case "dragenter": + case "dragleave": + queuedDrag = null; + break; + case "mouseover": + case "mouseout": + queuedMouse = null; + break; + case "pointerover": + case "pointerout": + queuedPointers.delete(nativeEvent.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + queuedPointerCaptures.delete(nativeEvent.pointerId); + } + } + function accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + if (null === existingQueuedEvent || existingQueuedEvent.nativeEvent !== nativeEvent) + return existingQueuedEvent = { + blockedOn, + domEventName, + eventSystemFlags, + nativeEvent, + targetContainers: [targetContainer] + }, null !== blockedOn && (blockedOn = getInstanceFromNode(blockedOn), null !== blockedOn && attemptContinuousHydration(blockedOn)), existingQueuedEvent; + existingQueuedEvent.eventSystemFlags |= eventSystemFlags; + blockedOn = existingQueuedEvent.targetContainers; + null !== targetContainer && -1 === blockedOn.indexOf(targetContainer) && blockedOn.push(targetContainer); + return existingQueuedEvent; + } + function queueIfContinuousEvent(blockedOn, domEventName, eventSystemFlags, targetContainer, nativeEvent) { + switch (domEventName) { + case "focusin": + return queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedFocus, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "dragenter": + return queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedDrag, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "mouseover": + return queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent( + queuedMouse, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ), true; + case "pointerover": + var pointerId = nativeEvent.pointerId; + queuedPointers.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointers.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ); + return true; + case "gotpointercapture": + return pointerId = nativeEvent.pointerId, queuedPointerCaptures.set( + pointerId, + accumulateOrCreateContinuousQueuedReplayableEvent( + queuedPointerCaptures.get(pointerId) || null, + blockedOn, + domEventName, + eventSystemFlags, + targetContainer, + nativeEvent + ) + ), true; + } + return false; + } + function attemptExplicitHydrationTarget(queuedTarget) { + var targetInst = getClosestInstanceFromNode(queuedTarget.target); + if (null !== targetInst) { + var nearestMounted = getNearestMountedFiber(targetInst); + if (null !== nearestMounted) { + if (targetInst = nearestMounted.tag, 13 === targetInst) { + if (targetInst = getSuspenseInstanceFromFiber(nearestMounted), null !== targetInst) { + queuedTarget.blockedOn = targetInst; + runWithPriority(queuedTarget.priority, function() { + if (13 === nearestMounted.tag) { + var lane = requestUpdateLane(nearestMounted); + lane = getBumpedLaneForHydrationByLane(lane); + var root2 = enqueueConcurrentRenderForLane( + nearestMounted, + lane + ); + null !== root2 && scheduleUpdateOnFiber(root2, nearestMounted, lane); + markRetryLaneIfNotHydrated(nearestMounted, lane); + } + }); + return; + } + } else if (3 === targetInst && nearestMounted.stateNode.current.memoizedState.isDehydrated) { + queuedTarget.blockedOn = 3 === nearestMounted.tag ? nearestMounted.stateNode.containerInfo : null; + return; + } + } + } + queuedTarget.blockedOn = null; + } + function attemptReplayContinuousQueuedEvent(queuedEvent) { + if (null !== queuedEvent.blockedOn) return false; + for (var targetContainers = queuedEvent.targetContainers; 0 < targetContainers.length; ) { + var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent); + if (null === nextBlockedOn) { + nextBlockedOn = queuedEvent.nativeEvent; + var nativeEventClone = new nextBlockedOn.constructor( + nextBlockedOn.type, + nextBlockedOn + ), event = nativeEventClone; + null !== currentReplayingEvent && console.error( + "Expected currently replaying event to be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = event; + nextBlockedOn.target.dispatchEvent(nativeEventClone); + null === currentReplayingEvent && console.error( + "Expected currently replaying event to not be null. This error is likely caused by a bug in React. Please file an issue." + ); + currentReplayingEvent = null; + } else + return targetContainers = getInstanceFromNode(nextBlockedOn), null !== targetContainers && attemptContinuousHydration(targetContainers), queuedEvent.blockedOn = nextBlockedOn, false; + targetContainers.shift(); + } + return true; + } + function attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) { + attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key); + } + function replayUnblockedEvents() { + hasScheduledReplayAttempt = false; + null !== queuedFocus && attemptReplayContinuousQueuedEvent(queuedFocus) && (queuedFocus = null); + null !== queuedDrag && attemptReplayContinuousQueuedEvent(queuedDrag) && (queuedDrag = null); + null !== queuedMouse && attemptReplayContinuousQueuedEvent(queuedMouse) && (queuedMouse = null); + queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap); + queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap); + } + function scheduleCallbackIfUnblocked(queuedEvent, unblocked) { + queuedEvent.blockedOn === unblocked && (queuedEvent.blockedOn = null, hasScheduledReplayAttempt || (hasScheduledReplayAttempt = true, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + replayUnblockedEvents + ))); + } + function scheduleReplayQueueIfNeeded(formReplayingQueue) { + lastScheduledReplayQueue !== formReplayingQueue && (lastScheduledReplayQueue = formReplayingQueue, Scheduler.unstable_scheduleCallback( + Scheduler.unstable_NormalPriority, + function() { + lastScheduledReplayQueue === formReplayingQueue && (lastScheduledReplayQueue = null); + for (var i = 0; i < formReplayingQueue.length; i += 3) { + var form = formReplayingQueue[i], submitterOrAction = formReplayingQueue[i + 1], formData = formReplayingQueue[i + 2]; + if ("function" !== typeof submitterOrAction) + if (null === findInstanceBlockingTarget(submitterOrAction || form)) + continue; + else break; + var formInst = getInstanceFromNode(form); + null !== formInst && (formReplayingQueue.splice(i, 3), i -= 3, form = { + pending: true, + data: formData, + method: form.method, + action: submitterOrAction + }, Object.freeze(form), startHostTransition( + formInst, + form, + submitterOrAction, + formData + )); + } + } + )); + } + function retryIfBlockedOn(unblocked) { + function unblock(queuedEvent) { + return scheduleCallbackIfUnblocked(queuedEvent, unblocked); + } + null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked); + null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked); + null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked); + queuedPointers.forEach(unblock); + queuedPointerCaptures.forEach(unblock); + for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) { + var queuedTarget = queuedExplicitHydrationTargets[i]; + queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null); + } + for (; 0 < queuedExplicitHydrationTargets.length && (i = queuedExplicitHydrationTargets[0], null === i.blockedOn); ) + attemptExplicitHydrationTarget(i), null === i.blockedOn && queuedExplicitHydrationTargets.shift(); + i = (unblocked.ownerDocument || unblocked).$$reactFormReplay; + if (null != i) + for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) { + var form = i[queuedTarget], submitterOrAction = i[queuedTarget + 1], formProps = form[internalPropsKey] || null; + if ("function" === typeof submitterOrAction) + formProps || scheduleReplayQueueIfNeeded(i); + else if (formProps) { + var action = null; + if (submitterOrAction && submitterOrAction.hasAttribute("formAction")) + if (form = submitterOrAction, formProps = submitterOrAction[internalPropsKey] || null) + action = formProps.formAction; + else { + if (null !== findInstanceBlockingTarget(form)) continue; + } + else action = formProps.action; + "function" === typeof action ? i[queuedTarget + 1] = action : (i.splice(queuedTarget, 3), queuedTarget -= 3); + scheduleReplayQueueIfNeeded(i); + } + } + } + function ReactDOMRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function ReactDOMHydrationRoot(internalRoot) { + this._internalRoot = internalRoot; + } + function warnIfReactDOMContainerInDEV(container) { + container[internalContainerInstanceKey] && (container._reactRootContainer ? console.error( + "You are calling ReactDOMClient.createRoot() on a container that was previously passed to ReactDOM.render(). This is not supported." + ) : console.error( + "You are calling ReactDOMClient.createRoot() on a container that has already been passed to createRoot() before. Instead, call root.render() on the existing root instead if you want to update it." + )); + } + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); + var Scheduler = require_scheduler(), React = require_react(), ReactDOM = require_react_dom(), assign = Object.assign, REACT_LEGACY_ELEMENT_TYPE = Symbol.for("react.element"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_PROVIDER_TYPE = Symbol.for("react.provider"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"); + Symbol.for("react.scope"); + var REACT_ACTIVITY_TYPE = Symbol.for("react.activity"); + Symbol.for("react.legacy_hidden"); + Symbol.for("react.tracing_marker"); + var REACT_MEMO_CACHE_SENTINEL = Symbol.for("react.memo_cache_sentinel"); + Symbol.for("react.view_transition"); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator, REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), isArrayImpl = Array.isArray, ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, ReactDOMSharedInternals = ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, NotPending = Object.freeze({ + pending: false, + data: null, + method: null, + action: null + }), valueStack = []; + var fiberStack = []; + var index$jscomp$0 = -1, contextStackCursor = createCursor(null), contextFiberStackCursor = createCursor(null), rootInstanceStackCursor = createCursor(null), hostTransitionProviderCursor = createCursor(null), hasOwnProperty = Object.prototype.hasOwnProperty, scheduleCallback$3 = Scheduler.unstable_scheduleCallback, cancelCallback$1 = Scheduler.unstable_cancelCallback, shouldYield = Scheduler.unstable_shouldYield, requestPaint = Scheduler.unstable_requestPaint, now$1 = Scheduler.unstable_now, getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel, ImmediatePriority = Scheduler.unstable_ImmediatePriority, UserBlockingPriority = Scheduler.unstable_UserBlockingPriority, NormalPriority$1 = Scheduler.unstable_NormalPriority, LowPriority = Scheduler.unstable_LowPriority, IdlePriority = Scheduler.unstable_IdlePriority, log$1 = Scheduler.log, unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue, rendererID = null, injectedHook = null, injectedProfilingHooks = null, hasLoggedError = false, isDevToolsPresent = "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__, clz32 = Math.clz32 ? Math.clz32 : clz32Fallback, log = Math.log, LN2 = Math.LN2, nextTransitionLane = 256, nextRetryLane = 4194304, DiscreteEventPriority = 2, ContinuousEventPriority = 8, DefaultEventPriority = 32, IdleEventPriority = 268435456, randomKey = Math.random().toString(36).slice(2), internalInstanceKey = "__reactFiber$" + randomKey, internalPropsKey = "__reactProps$" + randomKey, internalContainerInstanceKey = "__reactContainer$" + randomKey, internalEventHandlersKey = "__reactEvents$" + randomKey, internalEventHandlerListenersKey = "__reactListeners$" + randomKey, internalEventHandlesSetKey = "__reactHandles$" + randomKey, internalRootNodeResourcesKey = "__reactResources$" + randomKey, internalHoistableMarker = "__reactMarker$" + randomKey, allNativeEvents = /* @__PURE__ */ new Set(), registrationNameDependencies = {}, possibleRegistrationNames = {}, hasReadOnlyValue = { + button: true, + checkbox: true, + image: true, + hidden: true, + radio: true, + reset: true, + submit: true + }, VALID_ATTRIBUTE_NAME_REGEX = RegExp( + "^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), illegalAttributeNameCache = {}, validatedAttributeNameCache = {}, disabledDepth = 0, prevLog, prevInfo, prevWarn, prevError, prevGroup, prevGroupCollapsed, prevGroupEnd; + disabledLog.__reactDisabledLog = true; + var prefix, suffix, reentry = false; + var componentFrameCache = new ("function" === typeof WeakMap ? WeakMap : Map)(); + var current = null, isRendering = false, escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\n"\\]/g, didWarnValueDefaultValue$1 = false, didWarnCheckedDefaultChecked = false, didWarnSelectedSetOnOption = false, didWarnInvalidChild = false, didWarnInvalidInnerHTML = false; + var didWarnValueDefaultValue = false; + var valuePropNames = ["value", "defaultValue"], didWarnValDefaultVal = false, needsEscaping = /["'&<>\n\t]|^\s|\s$/, specialTags = "address applet area article aside base basefont bgsound blockquote body br button caption center col colgroup dd details dir div dl dt embed fieldset figcaption figure footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html iframe img input isindex li link listing main marquee menu menuitem meta nav noembed noframes noscript object ol p param plaintext pre script section select source style summary table tbody td template textarea tfoot th thead title tr track ul wbr xmp".split( + " " + ), inScopeTags = "applet caption html table td th marquee object template foreignObject desc title".split( + " " + ), buttonScopeTags = inScopeTags.concat(["button"]), impliedEndTags = "dd dt li option optgroup p rp rt".split(" "), emptyAncestorInfoDev = { + current: null, + formTag: null, + aTagInScope: null, + buttonTagInScope: null, + nobrTagInScope: null, + pTagInButtonScope: null, + listItemTagAutoclosing: null, + dlItemTagAutoclosing: null, + containerTagInScope: null, + implicitRootScope: false + }, didWarn = {}, shorthandToLonghand = { + animation: "animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationPlayState animationTimingFunction".split( + " " + ), + background: "backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPositionX backgroundPositionY backgroundRepeat backgroundSize".split( + " " + ), + backgroundPosition: ["backgroundPositionX", "backgroundPositionY"], + border: "borderBottomColor borderBottomStyle borderBottomWidth borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeftColor borderLeftStyle borderLeftWidth borderRightColor borderRightStyle borderRightWidth borderTopColor borderTopStyle borderTopWidth".split( + " " + ), + borderBlockEnd: [ + "borderBlockEndColor", + "borderBlockEndStyle", + "borderBlockEndWidth" + ], + borderBlockStart: [ + "borderBlockStartColor", + "borderBlockStartStyle", + "borderBlockStartWidth" + ], + borderBottom: [ + "borderBottomColor", + "borderBottomStyle", + "borderBottomWidth" + ], + borderColor: [ + "borderBottomColor", + "borderLeftColor", + "borderRightColor", + "borderTopColor" + ], + borderImage: [ + "borderImageOutset", + "borderImageRepeat", + "borderImageSlice", + "borderImageSource", + "borderImageWidth" + ], + borderInlineEnd: [ + "borderInlineEndColor", + "borderInlineEndStyle", + "borderInlineEndWidth" + ], + borderInlineStart: [ + "borderInlineStartColor", + "borderInlineStartStyle", + "borderInlineStartWidth" + ], + borderLeft: ["borderLeftColor", "borderLeftStyle", "borderLeftWidth"], + borderRadius: [ + "borderBottomLeftRadius", + "borderBottomRightRadius", + "borderTopLeftRadius", + "borderTopRightRadius" + ], + borderRight: [ + "borderRightColor", + "borderRightStyle", + "borderRightWidth" + ], + borderStyle: [ + "borderBottomStyle", + "borderLeftStyle", + "borderRightStyle", + "borderTopStyle" + ], + borderTop: ["borderTopColor", "borderTopStyle", "borderTopWidth"], + borderWidth: [ + "borderBottomWidth", + "borderLeftWidth", + "borderRightWidth", + "borderTopWidth" + ], + columnRule: ["columnRuleColor", "columnRuleStyle", "columnRuleWidth"], + columns: ["columnCount", "columnWidth"], + flex: ["flexBasis", "flexGrow", "flexShrink"], + flexFlow: ["flexDirection", "flexWrap"], + font: "fontFamily fontFeatureSettings fontKerning fontLanguageOverride fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition fontWeight lineHeight".split( + " " + ), + fontVariant: "fontVariantAlternates fontVariantCaps fontVariantEastAsian fontVariantLigatures fontVariantNumeric fontVariantPosition".split( + " " + ), + gap: ["columnGap", "rowGap"], + grid: "gridAutoColumns gridAutoFlow gridAutoRows gridTemplateAreas gridTemplateColumns gridTemplateRows".split( + " " + ), + gridArea: [ + "gridColumnEnd", + "gridColumnStart", + "gridRowEnd", + "gridRowStart" + ], + gridColumn: ["gridColumnEnd", "gridColumnStart"], + gridColumnGap: ["columnGap"], + gridGap: ["columnGap", "rowGap"], + gridRow: ["gridRowEnd", "gridRowStart"], + gridRowGap: ["rowGap"], + gridTemplate: [ + "gridTemplateAreas", + "gridTemplateColumns", + "gridTemplateRows" + ], + listStyle: ["listStyleImage", "listStylePosition", "listStyleType"], + margin: ["marginBottom", "marginLeft", "marginRight", "marginTop"], + marker: ["markerEnd", "markerMid", "markerStart"], + mask: "maskClip maskComposite maskImage maskMode maskOrigin maskPositionX maskPositionY maskRepeat maskSize".split( + " " + ), + maskPosition: ["maskPositionX", "maskPositionY"], + outline: ["outlineColor", "outlineStyle", "outlineWidth"], + overflow: ["overflowX", "overflowY"], + padding: ["paddingBottom", "paddingLeft", "paddingRight", "paddingTop"], + placeContent: ["alignContent", "justifyContent"], + placeItems: ["alignItems", "justifyItems"], + placeSelf: ["alignSelf", "justifySelf"], + textDecoration: [ + "textDecorationColor", + "textDecorationLine", + "textDecorationStyle" + ], + textEmphasis: ["textEmphasisColor", "textEmphasisStyle"], + transition: [ + "transitionDelay", + "transitionDuration", + "transitionProperty", + "transitionTimingFunction" + ], + wordWrap: ["overflowWrap"] + }, uppercasePattern = /([A-Z])/g, msPattern$1 = /^ms-/, badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/, msPattern = /^-ms-/, hyphenPattern = /-(.)/g, badStyleValueWithSemicolonPattern = /;\s*$/, warnedStyleNames = {}, warnedStyleValues = {}, warnedForNaNValue = false, warnedForInfinityValue = false, unitlessNumbers = new Set( + "animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split( + " " + ) + ), MATH_NAMESPACE = "http://www.w3.org/1998/Math/MathML", SVG_NAMESPACE = "http://www.w3.org/2000/svg", aliases = /* @__PURE__ */ new Map([ + ["acceptCharset", "accept-charset"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"], + ["crossOrigin", "crossorigin"], + ["accentHeight", "accent-height"], + ["alignmentBaseline", "alignment-baseline"], + ["arabicForm", "arabic-form"], + ["baselineShift", "baseline-shift"], + ["capHeight", "cap-height"], + ["clipPath", "clip-path"], + ["clipRule", "clip-rule"], + ["colorInterpolation", "color-interpolation"], + ["colorInterpolationFilters", "color-interpolation-filters"], + ["colorProfile", "color-profile"], + ["colorRendering", "color-rendering"], + ["dominantBaseline", "dominant-baseline"], + ["enableBackground", "enable-background"], + ["fillOpacity", "fill-opacity"], + ["fillRule", "fill-rule"], + ["floodColor", "flood-color"], + ["floodOpacity", "flood-opacity"], + ["fontFamily", "font-family"], + ["fontSize", "font-size"], + ["fontSizeAdjust", "font-size-adjust"], + ["fontStretch", "font-stretch"], + ["fontStyle", "font-style"], + ["fontVariant", "font-variant"], + ["fontWeight", "font-weight"], + ["glyphName", "glyph-name"], + ["glyphOrientationHorizontal", "glyph-orientation-horizontal"], + ["glyphOrientationVertical", "glyph-orientation-vertical"], + ["horizAdvX", "horiz-adv-x"], + ["horizOriginX", "horiz-origin-x"], + ["imageRendering", "image-rendering"], + ["letterSpacing", "letter-spacing"], + ["lightingColor", "lighting-color"], + ["markerEnd", "marker-end"], + ["markerMid", "marker-mid"], + ["markerStart", "marker-start"], + ["overlinePosition", "overline-position"], + ["overlineThickness", "overline-thickness"], + ["paintOrder", "paint-order"], + ["panose-1", "panose-1"], + ["pointerEvents", "pointer-events"], + ["renderingIntent", "rendering-intent"], + ["shapeRendering", "shape-rendering"], + ["stopColor", "stop-color"], + ["stopOpacity", "stop-opacity"], + ["strikethroughPosition", "strikethrough-position"], + ["strikethroughThickness", "strikethrough-thickness"], + ["strokeDasharray", "stroke-dasharray"], + ["strokeDashoffset", "stroke-dashoffset"], + ["strokeLinecap", "stroke-linecap"], + ["strokeLinejoin", "stroke-linejoin"], + ["strokeMiterlimit", "stroke-miterlimit"], + ["strokeOpacity", "stroke-opacity"], + ["strokeWidth", "stroke-width"], + ["textAnchor", "text-anchor"], + ["textDecoration", "text-decoration"], + ["textRendering", "text-rendering"], + ["transformOrigin", "transform-origin"], + ["underlinePosition", "underline-position"], + ["underlineThickness", "underline-thickness"], + ["unicodeBidi", "unicode-bidi"], + ["unicodeRange", "unicode-range"], + ["unitsPerEm", "units-per-em"], + ["vAlphabetic", "v-alphabetic"], + ["vHanging", "v-hanging"], + ["vIdeographic", "v-ideographic"], + ["vMathematical", "v-mathematical"], + ["vectorEffect", "vector-effect"], + ["vertAdvY", "vert-adv-y"], + ["vertOriginX", "vert-origin-x"], + ["vertOriginY", "vert-origin-y"], + ["wordSpacing", "word-spacing"], + ["writingMode", "writing-mode"], + ["xmlnsXlink", "xmlns:xlink"], + ["xHeight", "x-height"] + ]), possibleStandardNames = { + accept: "accept", + acceptcharset: "acceptCharset", + "accept-charset": "acceptCharset", + accesskey: "accessKey", + action: "action", + allowfullscreen: "allowFullScreen", + alt: "alt", + as: "as", + async: "async", + autocapitalize: "autoCapitalize", + autocomplete: "autoComplete", + autocorrect: "autoCorrect", + autofocus: "autoFocus", + autoplay: "autoPlay", + autosave: "autoSave", + capture: "capture", + cellpadding: "cellPadding", + cellspacing: "cellSpacing", + challenge: "challenge", + charset: "charSet", + checked: "checked", + children: "children", + cite: "cite", + class: "className", + classid: "classID", + classname: "className", + cols: "cols", + colspan: "colSpan", + content: "content", + contenteditable: "contentEditable", + contextmenu: "contextMenu", + controls: "controls", + controlslist: "controlsList", + coords: "coords", + crossorigin: "crossOrigin", + dangerouslysetinnerhtml: "dangerouslySetInnerHTML", + data: "data", + datetime: "dateTime", + default: "default", + defaultchecked: "defaultChecked", + defaultvalue: "defaultValue", + defer: "defer", + dir: "dir", + disabled: "disabled", + disablepictureinpicture: "disablePictureInPicture", + disableremoteplayback: "disableRemotePlayback", + download: "download", + draggable: "draggable", + enctype: "encType", + enterkeyhint: "enterKeyHint", + fetchpriority: "fetchPriority", + for: "htmlFor", + form: "form", + formmethod: "formMethod", + formaction: "formAction", + formenctype: "formEncType", + formnovalidate: "formNoValidate", + formtarget: "formTarget", + frameborder: "frameBorder", + headers: "headers", + height: "height", + hidden: "hidden", + high: "high", + href: "href", + hreflang: "hrefLang", + htmlfor: "htmlFor", + httpequiv: "httpEquiv", + "http-equiv": "httpEquiv", + icon: "icon", + id: "id", + imagesizes: "imageSizes", + imagesrcset: "imageSrcSet", + inert: "inert", + innerhtml: "innerHTML", + inputmode: "inputMode", + integrity: "integrity", + is: "is", + itemid: "itemID", + itemprop: "itemProp", + itemref: "itemRef", + itemscope: "itemScope", + itemtype: "itemType", + keyparams: "keyParams", + keytype: "keyType", + kind: "kind", + label: "label", + lang: "lang", + list: "list", + loop: "loop", + low: "low", + manifest: "manifest", + marginwidth: "marginWidth", + marginheight: "marginHeight", + max: "max", + maxlength: "maxLength", + media: "media", + mediagroup: "mediaGroup", + method: "method", + min: "min", + minlength: "minLength", + multiple: "multiple", + muted: "muted", + name: "name", + nomodule: "noModule", + nonce: "nonce", + novalidate: "noValidate", + open: "open", + optimum: "optimum", + pattern: "pattern", + placeholder: "placeholder", + playsinline: "playsInline", + poster: "poster", + preload: "preload", + profile: "profile", + radiogroup: "radioGroup", + readonly: "readOnly", + referrerpolicy: "referrerPolicy", + rel: "rel", + required: "required", + reversed: "reversed", + role: "role", + rows: "rows", + rowspan: "rowSpan", + sandbox: "sandbox", + scope: "scope", + scoped: "scoped", + scrolling: "scrolling", + seamless: "seamless", + selected: "selected", + shape: "shape", + size: "size", + sizes: "sizes", + span: "span", + spellcheck: "spellCheck", + src: "src", + srcdoc: "srcDoc", + srclang: "srcLang", + srcset: "srcSet", + start: "start", + step: "step", + style: "style", + summary: "summary", + tabindex: "tabIndex", + target: "target", + title: "title", + type: "type", + usemap: "useMap", + value: "value", + width: "width", + wmode: "wmode", + wrap: "wrap", + about: "about", + accentheight: "accentHeight", + "accent-height": "accentHeight", + accumulate: "accumulate", + additive: "additive", + alignmentbaseline: "alignmentBaseline", + "alignment-baseline": "alignmentBaseline", + allowreorder: "allowReorder", + alphabetic: "alphabetic", + amplitude: "amplitude", + arabicform: "arabicForm", + "arabic-form": "arabicForm", + ascent: "ascent", + attributename: "attributeName", + attributetype: "attributeType", + autoreverse: "autoReverse", + azimuth: "azimuth", + basefrequency: "baseFrequency", + baselineshift: "baselineShift", + "baseline-shift": "baselineShift", + baseprofile: "baseProfile", + bbox: "bbox", + begin: "begin", + bias: "bias", + by: "by", + calcmode: "calcMode", + capheight: "capHeight", + "cap-height": "capHeight", + clip: "clip", + clippath: "clipPath", + "clip-path": "clipPath", + clippathunits: "clipPathUnits", + cliprule: "clipRule", + "clip-rule": "clipRule", + color: "color", + colorinterpolation: "colorInterpolation", + "color-interpolation": "colorInterpolation", + colorinterpolationfilters: "colorInterpolationFilters", + "color-interpolation-filters": "colorInterpolationFilters", + colorprofile: "colorProfile", + "color-profile": "colorProfile", + colorrendering: "colorRendering", + "color-rendering": "colorRendering", + contentscripttype: "contentScriptType", + contentstyletype: "contentStyleType", + cursor: "cursor", + cx: "cx", + cy: "cy", + d: "d", + datatype: "datatype", + decelerate: "decelerate", + descent: "descent", + diffuseconstant: "diffuseConstant", + direction: "direction", + display: "display", + divisor: "divisor", + dominantbaseline: "dominantBaseline", + "dominant-baseline": "dominantBaseline", + dur: "dur", + dx: "dx", + dy: "dy", + edgemode: "edgeMode", + elevation: "elevation", + enablebackground: "enableBackground", + "enable-background": "enableBackground", + end: "end", + exponent: "exponent", + externalresourcesrequired: "externalResourcesRequired", + fill: "fill", + fillopacity: "fillOpacity", + "fill-opacity": "fillOpacity", + fillrule: "fillRule", + "fill-rule": "fillRule", + filter: "filter", + filterres: "filterRes", + filterunits: "filterUnits", + floodopacity: "floodOpacity", + "flood-opacity": "floodOpacity", + floodcolor: "floodColor", + "flood-color": "floodColor", + focusable: "focusable", + fontfamily: "fontFamily", + "font-family": "fontFamily", + fontsize: "fontSize", + "font-size": "fontSize", + fontsizeadjust: "fontSizeAdjust", + "font-size-adjust": "fontSizeAdjust", + fontstretch: "fontStretch", + "font-stretch": "fontStretch", + fontstyle: "fontStyle", + "font-style": "fontStyle", + fontvariant: "fontVariant", + "font-variant": "fontVariant", + fontweight: "fontWeight", + "font-weight": "fontWeight", + format: "format", + from: "from", + fx: "fx", + fy: "fy", + g1: "g1", + g2: "g2", + glyphname: "glyphName", + "glyph-name": "glyphName", + glyphorientationhorizontal: "glyphOrientationHorizontal", + "glyph-orientation-horizontal": "glyphOrientationHorizontal", + glyphorientationvertical: "glyphOrientationVertical", + "glyph-orientation-vertical": "glyphOrientationVertical", + glyphref: "glyphRef", + gradienttransform: "gradientTransform", + gradientunits: "gradientUnits", + hanging: "hanging", + horizadvx: "horizAdvX", + "horiz-adv-x": "horizAdvX", + horizoriginx: "horizOriginX", + "horiz-origin-x": "horizOriginX", + ideographic: "ideographic", + imagerendering: "imageRendering", + "image-rendering": "imageRendering", + in2: "in2", + in: "in", + inlist: "inlist", + intercept: "intercept", + k1: "k1", + k2: "k2", + k3: "k3", + k4: "k4", + k: "k", + kernelmatrix: "kernelMatrix", + kernelunitlength: "kernelUnitLength", + kerning: "kerning", + keypoints: "keyPoints", + keysplines: "keySplines", + keytimes: "keyTimes", + lengthadjust: "lengthAdjust", + letterspacing: "letterSpacing", + "letter-spacing": "letterSpacing", + lightingcolor: "lightingColor", + "lighting-color": "lightingColor", + limitingconeangle: "limitingConeAngle", + local: "local", + markerend: "markerEnd", + "marker-end": "markerEnd", + markerheight: "markerHeight", + markermid: "markerMid", + "marker-mid": "markerMid", + markerstart: "markerStart", + "marker-start": "markerStart", + markerunits: "markerUnits", + markerwidth: "markerWidth", + mask: "mask", + maskcontentunits: "maskContentUnits", + maskunits: "maskUnits", + mathematical: "mathematical", + mode: "mode", + numoctaves: "numOctaves", + offset: "offset", + opacity: "opacity", + operator: "operator", + order: "order", + orient: "orient", + orientation: "orientation", + origin: "origin", + overflow: "overflow", + overlineposition: "overlinePosition", + "overline-position": "overlinePosition", + overlinethickness: "overlineThickness", + "overline-thickness": "overlineThickness", + paintorder: "paintOrder", + "paint-order": "paintOrder", + panose1: "panose1", + "panose-1": "panose1", + pathlength: "pathLength", + patterncontentunits: "patternContentUnits", + patterntransform: "patternTransform", + patternunits: "patternUnits", + pointerevents: "pointerEvents", + "pointer-events": "pointerEvents", + points: "points", + pointsatx: "pointsAtX", + pointsaty: "pointsAtY", + pointsatz: "pointsAtZ", + popover: "popover", + popovertarget: "popoverTarget", + popovertargetaction: "popoverTargetAction", + prefix: "prefix", + preservealpha: "preserveAlpha", + preserveaspectratio: "preserveAspectRatio", + primitiveunits: "primitiveUnits", + property: "property", + r: "r", + radius: "radius", + refx: "refX", + refy: "refY", + renderingintent: "renderingIntent", + "rendering-intent": "renderingIntent", + repeatcount: "repeatCount", + repeatdur: "repeatDur", + requiredextensions: "requiredExtensions", + requiredfeatures: "requiredFeatures", + resource: "resource", + restart: "restart", + result: "result", + results: "results", + rotate: "rotate", + rx: "rx", + ry: "ry", + scale: "scale", + security: "security", + seed: "seed", + shaperendering: "shapeRendering", + "shape-rendering": "shapeRendering", + slope: "slope", + spacing: "spacing", + specularconstant: "specularConstant", + specularexponent: "specularExponent", + speed: "speed", + spreadmethod: "spreadMethod", + startoffset: "startOffset", + stddeviation: "stdDeviation", + stemh: "stemh", + stemv: "stemv", + stitchtiles: "stitchTiles", + stopcolor: "stopColor", + "stop-color": "stopColor", + stopopacity: "stopOpacity", + "stop-opacity": "stopOpacity", + strikethroughposition: "strikethroughPosition", + "strikethrough-position": "strikethroughPosition", + strikethroughthickness: "strikethroughThickness", + "strikethrough-thickness": "strikethroughThickness", + string: "string", + stroke: "stroke", + strokedasharray: "strokeDasharray", + "stroke-dasharray": "strokeDasharray", + strokedashoffset: "strokeDashoffset", + "stroke-dashoffset": "strokeDashoffset", + strokelinecap: "strokeLinecap", + "stroke-linecap": "strokeLinecap", + strokelinejoin: "strokeLinejoin", + "stroke-linejoin": "strokeLinejoin", + strokemiterlimit: "strokeMiterlimit", + "stroke-miterlimit": "strokeMiterlimit", + strokewidth: "strokeWidth", + "stroke-width": "strokeWidth", + strokeopacity: "strokeOpacity", + "stroke-opacity": "strokeOpacity", + suppresscontenteditablewarning: "suppressContentEditableWarning", + suppresshydrationwarning: "suppressHydrationWarning", + surfacescale: "surfaceScale", + systemlanguage: "systemLanguage", + tablevalues: "tableValues", + targetx: "targetX", + targety: "targetY", + textanchor: "textAnchor", + "text-anchor": "textAnchor", + textdecoration: "textDecoration", + "text-decoration": "textDecoration", + textlength: "textLength", + textrendering: "textRendering", + "text-rendering": "textRendering", + to: "to", + transform: "transform", + transformorigin: "transformOrigin", + "transform-origin": "transformOrigin", + typeof: "typeof", + u1: "u1", + u2: "u2", + underlineposition: "underlinePosition", + "underline-position": "underlinePosition", + underlinethickness: "underlineThickness", + "underline-thickness": "underlineThickness", + unicode: "unicode", + unicodebidi: "unicodeBidi", + "unicode-bidi": "unicodeBidi", + unicoderange: "unicodeRange", + "unicode-range": "unicodeRange", + unitsperem: "unitsPerEm", + "units-per-em": "unitsPerEm", + unselectable: "unselectable", + valphabetic: "vAlphabetic", + "v-alphabetic": "vAlphabetic", + values: "values", + vectoreffect: "vectorEffect", + "vector-effect": "vectorEffect", + version: "version", + vertadvy: "vertAdvY", + "vert-adv-y": "vertAdvY", + vertoriginx: "vertOriginX", + "vert-origin-x": "vertOriginX", + vertoriginy: "vertOriginY", + "vert-origin-y": "vertOriginY", + vhanging: "vHanging", + "v-hanging": "vHanging", + videographic: "vIdeographic", + "v-ideographic": "vIdeographic", + viewbox: "viewBox", + viewtarget: "viewTarget", + visibility: "visibility", + vmathematical: "vMathematical", + "v-mathematical": "vMathematical", + vocab: "vocab", + widths: "widths", + wordspacing: "wordSpacing", + "word-spacing": "wordSpacing", + writingmode: "writingMode", + "writing-mode": "writingMode", + x1: "x1", + x2: "x2", + x: "x", + xchannelselector: "xChannelSelector", + xheight: "xHeight", + "x-height": "xHeight", + xlinkactuate: "xlinkActuate", + "xlink:actuate": "xlinkActuate", + xlinkarcrole: "xlinkArcrole", + "xlink:arcrole": "xlinkArcrole", + xlinkhref: "xlinkHref", + "xlink:href": "xlinkHref", + xlinkrole: "xlinkRole", + "xlink:role": "xlinkRole", + xlinkshow: "xlinkShow", + "xlink:show": "xlinkShow", + xlinktitle: "xlinkTitle", + "xlink:title": "xlinkTitle", + xlinktype: "xlinkType", + "xlink:type": "xlinkType", + xmlbase: "xmlBase", + "xml:base": "xmlBase", + xmllang: "xmlLang", + "xml:lang": "xmlLang", + xmlns: "xmlns", + "xml:space": "xmlSpace", + xmlnsxlink: "xmlnsXlink", + "xmlns:xlink": "xmlnsXlink", + xmlspace: "xmlSpace", + y1: "y1", + y2: "y2", + y: "y", + ychannelselector: "yChannelSelector", + z: "z", + zoomandpan: "zoomAndPan" + }, ariaProperties = { + "aria-current": 0, + "aria-description": 0, + "aria-details": 0, + "aria-disabled": 0, + "aria-hidden": 0, + "aria-invalid": 0, + "aria-keyshortcuts": 0, + "aria-label": 0, + "aria-roledescription": 0, + "aria-autocomplete": 0, + "aria-checked": 0, + "aria-expanded": 0, + "aria-haspopup": 0, + "aria-level": 0, + "aria-modal": 0, + "aria-multiline": 0, + "aria-multiselectable": 0, + "aria-orientation": 0, + "aria-placeholder": 0, + "aria-pressed": 0, + "aria-readonly": 0, + "aria-required": 0, + "aria-selected": 0, + "aria-sort": 0, + "aria-valuemax": 0, + "aria-valuemin": 0, + "aria-valuenow": 0, + "aria-valuetext": 0, + "aria-atomic": 0, + "aria-busy": 0, + "aria-live": 0, + "aria-relevant": 0, + "aria-dropeffect": 0, + "aria-grabbed": 0, + "aria-activedescendant": 0, + "aria-colcount": 0, + "aria-colindex": 0, + "aria-colspan": 0, + "aria-controls": 0, + "aria-describedby": 0, + "aria-errormessage": 0, + "aria-flowto": 0, + "aria-labelledby": 0, + "aria-owns": 0, + "aria-posinset": 0, + "aria-rowcount": 0, + "aria-rowindex": 0, + "aria-rowspan": 0, + "aria-setsize": 0 + }, warnedProperties$1 = {}, rARIA$1 = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel$1 = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), didWarnValueNull = false, warnedProperties = {}, EVENT_NAME_REGEX = /^on./, INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/, rARIA = RegExp( + "^(aria)-[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), rARIACamel = RegExp( + "^(aria)[A-Z][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$" + ), isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i, currentReplayingEvent = null, restoreTarget = null, restoreQueue = null, isInsideEventHandler = false, canUseDOM = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), passiveBrowserEventsSupported = false; + if (canUseDOM) + try { + var options$jscomp$0 = {}; + Object.defineProperty(options$jscomp$0, "passive", { + get: function() { + passiveBrowserEventsSupported = true; + } + }); + window.addEventListener("test", options$jscomp$0, options$jscomp$0); + window.removeEventListener("test", options$jscomp$0, options$jscomp$0); + } catch (e) { + passiveBrowserEventsSupported = false; + } + var root = null, startText = null, fallbackText = null, EventInterface = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function(event) { + return event.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, SyntheticEvent = createSyntheticEvent(EventInterface), UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }), SyntheticUIEvent = createSyntheticEvent(UIEventInterface), lastMovementX, lastMovementY, lastMouseEvent, MouseEventInterface = assign({}, UIEventInterface, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: getEventModifierState, + button: 0, + buttons: 0, + relatedTarget: function(event) { + return void 0 === event.relatedTarget ? event.fromElement === event.srcElement ? event.toElement : event.fromElement : event.relatedTarget; + }, + movementX: function(event) { + if ("movementX" in event) return event.movementX; + event !== lastMouseEvent && (lastMouseEvent && "mousemove" === event.type ? (lastMovementX = event.screenX - lastMouseEvent.screenX, lastMovementY = event.screenY - lastMouseEvent.screenY) : lastMovementY = lastMovementX = 0, lastMouseEvent = event); + return lastMovementX; + }, + movementY: function(event) { + return "movementY" in event ? event.movementY : lastMovementY; + } + }), SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface), DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }), SyntheticDragEvent = createSyntheticEvent(DragEventInterface), FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }), SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface), AnimationEventInterface = assign({}, EventInterface, { + animationName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface), ClipboardEventInterface = assign({}, EventInterface, { + clipboardData: function(event) { + return "clipboardData" in event ? event.clipboardData : window.clipboardData; + } + }), SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface), CompositionEventInterface = assign({}, EventInterface, { data: 0 }), SyntheticCompositionEvent = createSyntheticEvent( + CompositionEventInterface + ), SyntheticInputEvent = SyntheticCompositionEvent, normalizeKey = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, translateToKey = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, modifierKeyToProp = { + Alt: "altKey", + Control: "ctrlKey", + Meta: "metaKey", + Shift: "shiftKey" + }, KeyboardEventInterface = assign({}, UIEventInterface, { + key: function(nativeEvent) { + if (nativeEvent.key) { + var key = normalizeKey[nativeEvent.key] || nativeEvent.key; + if ("Unidentified" !== key) return key; + } + return "keypress" === nativeEvent.type ? (nativeEvent = getEventCharCode(nativeEvent), 13 === nativeEvent ? "Enter" : String.fromCharCode(nativeEvent)) : "keydown" === nativeEvent.type || "keyup" === nativeEvent.type ? translateToKey[nativeEvent.keyCode] || "Unidentified" : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: getEventModifierState, + charCode: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : 0; + }, + keyCode: function(event) { + return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + }, + which: function(event) { + return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; + } + }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: getEventModifierState + }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, { + propertyName: 0, + elapsedTime: 0, + pseudoElement: 0 + }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, { + deltaX: function(event) { + return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; + }, + deltaY: function(event) { + return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, { + newState: 0, + oldState: 0 + }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null; + canUseDOM && "documentMode" in document && (documentMode = document.documentMode); + var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = { + color: true, + date: true, + datetime: true, + "datetime-local": true, + email: true, + month: true, + number: true, + password: true, + range: true, + search: true, + tel: true, + text: true, + time: true, + url: true, + week: true + }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false; + canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode)); + var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = { + animationend: makePrefixMap("Animation", "AnimationEnd"), + animationiteration: makePrefixMap("Animation", "AnimationIteration"), + animationstart: makePrefixMap("Animation", "AnimationStart"), + transitionrun: makePrefixMap("Transition", "TransitionRun"), + transitionstart: makePrefixMap("Transition", "TransitionStart"), + transitioncancel: makePrefixMap("Transition", "TransitionCancel"), + transitionend: makePrefixMap("Transition", "TransitionEnd") + }, prefixedEventNames = {}, style = {}; + canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition); + var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split( + " " + ); + simpleEventPluginEvents.push("scrollEnd"); + var CapturedStacks = /* @__PURE__ */ new WeakMap(), OffscreenVisible = 1, OffscreenPassiveEffectsConnected = 2, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {}; + Object.freeze(emptyContextObject); + var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, NoStrictPassiveEffectsMode = 64; + var hasBadMapPolyfill = false; + try { + var nonExtensibleObject = Object.preventExtensions({}); + /* @__PURE__ */ new Map([[nonExtensibleObject, null]]); + /* @__PURE__ */ new Set([nonExtensibleObject]); + } catch (e$3) { + hasBadMapPolyfill = true; + } + var forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error( + "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), lastResetTime = 0; + if ("object" === typeof performance && "function" === typeof performance.now) { + var localPerformance = performance; + var getCurrentTime = function() { + return localPerformance.now(); + }; + } else { + var localDate = Date; + getCurrentTime = function() { + return localDate.now(); + }; + } + var valueCursor = createCursor(null); + var rendererCursorDEV = createCursor(null); + var rendererSigil = {}; + var currentlyRenderingFiber$1 = null, lastContextDependency = null, isDisallowedContextReadInDEV = false, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() { + var listeners = [], signal = this.signal = { + aborted: false, + addEventListener: function(type, listener) { + listeners.push(listener); + } + }; + this.abort = function() { + signal.aborted = true; + listeners.forEach(function(listener) { + return listener(); + }); + }; + }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { + $$typeof: REACT_CONTEXT_TYPE, + Consumer: null, + Provider: null, + _currentValue: null, + _currentValue2: null, + _threadCount: 0, + _currentRenderer: null, + _currentRenderer2: null + }, now = Scheduler.unstable_now, renderStartTime = -0, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S; + ReactSharedInternals.S = function(transition, returnValue) { + "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); + null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); + }; + var resumedCache = createCursor(null), ReactStrictModeWarnings = { + recordUnsafeLifecycleWarnings: function() { + }, + flushPendingUnsafeLifecycleWarnings: function() { + }, + recordLegacyContextWarning: function() { + }, + flushLegacyContextWarning: function() { + }, + discardPendingWarnings: function() { + } + }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { + didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber)); + }; + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { + var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) { + componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillMountWarnings = []); + var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { + UNSAFE_componentWillMountUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillMountWarnings = []); + var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { + componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillReceivePropsWarnings = []); + var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach( + function(fiber) { + UNSAFE_componentWillReceivePropsUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + } + ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []); + var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) { + componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingComponentWillUpdateWarnings = []); + var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); + 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { + UNSAFE_componentWillUpdateUniqueNames.add( + getComponentNameFromFiber(fiber) || "Component" + ); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }), pendingUNSAFE_ComponentWillUpdateWarnings = []); + if (0 < UNSAFE_componentWillMountUniqueNames.size) { + var sortedNames = setToSortedString( + UNSAFE_componentWillMountUniqueNames + ); + console.error( + "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", + sortedNames + ); + } + 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillReceivePropsUniqueNames + ), console.error( + "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s", + sortedNames + )); + 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString( + UNSAFE_componentWillUpdateUniqueNames + ), console.error( + "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn( + "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( + componentWillReceivePropsUniqueNames + ), console.warn( + "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn( + "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", + sortedNames + )); + }; + var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); + ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { + var strictRoot = null; + for (var node = fiber; null !== node; ) + node.mode & StrictLegacyMode && (strictRoot = node), node = node.return; + null === strictRoot ? console.error( + "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue." + ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber)); + }; + ReactStrictModeWarnings.flushLegacyContextWarning = function() { + pendingLegacyContextWarning.forEach(function(fiberArray) { + if (0 !== fiberArray.length) { + var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set(); + fiberArray.forEach(function(fiber) { + uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); + didWarnAboutLegacyContext.add(fiber.type); + }); + var sortedNames = setToSortedString(uniqueNames); + runWithFiberInDEV(firstFiber, function() { + console.error( + "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context", + sortedNames + ); + }); + } + }); + }; + ReactStrictModeWarnings.discardPendingWarnings = function() { + pendingComponentWillMountWarnings = []; + pendingUNSAFE_ComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingUNSAFE_ComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUNSAFE_ComponentWillUpdateWarnings = []; + pendingLegacyContextWarning = /* @__PURE__ */ new Map(); + }; + var SuspenseException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`." + ), SuspenseyCommitException = Error( + "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." + ), SuspenseActionException = Error( + "Suspense Exception: This is not a real error! It's an implementation detail of `useActionState` to interrupt the current render. You must either rethrow it immediately, or move the `useActionState` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary." + ), noopSuspenseyCommitThenable = { + then: function() { + console.error( + 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.' + ); + } + }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, UpdateState = 0, ReplaceState = 1, ForceUpdate = 2, CaptureUpdate = 3, hasForceUpdate = false; + var didWarnUpdateInsideUpdate = false; + var currentlyProcessingQueue = null; + var didReadFromEntangledAsyncAction = false, currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), didWarnUncachedGetSnapshot; + var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set(); + var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUseFormState = /* @__PURE__ */ new Set(); + var renderLanes = 0, currentlyRenderingFiber = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter$1 = 0, thenableState$1 = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false, ContextOnlyDispatcher = { + readContext, + use, + useCallback: throwInvalidHookError, + useContext: throwInvalidHookError, + useEffect: throwInvalidHookError, + useImperativeHandle: throwInvalidHookError, + useLayoutEffect: throwInvalidHookError, + useInsertionEffect: throwInvalidHookError, + useMemo: throwInvalidHookError, + useReducer: throwInvalidHookError, + useRef: throwInvalidHookError, + useState: throwInvalidHookError, + useDebugValue: throwInvalidHookError, + useDeferredValue: throwInvalidHookError, + useTransition: throwInvalidHookError, + useSyncExternalStore: throwInvalidHookError, + useId: throwInvalidHookError, + useHostTransitionStatus: throwInvalidHookError, + useFormState: throwInvalidHookError, + useActionState: throwInvalidHookError, + useOptimistic: throwInvalidHookError, + useMemoCache: throwInvalidHookError, + useCacheRefresh: throwInvalidHookError + }, HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null; + HooksDispatcherOnMountInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(createDeps); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + mountHookTypesDev(); + checkDepsAreArrayDev(deps); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + mountHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnMountWithHookTypesInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return mountId(); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return mountActionState(action, initialState); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return mountOptimistic(passthrough); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return mountRefresh(); + } + }; + HooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + HooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + return readContext(context); + }, + use, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + updateHookTypesDev(); + warnOnUseFormStateInDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useHostTransitionStatus, + useMemoCache, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnMountInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountEffect(create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + mountEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function(initialValue) { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function(initialState) { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountId(); + }, + useFormState: function(action, initialState) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useActionState: function(action, initialState) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountActionState(action, initialState); + }, + useOptimistic: function(passthrough) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountOptimistic(passthrough); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + mountHookTypesDev(); + return mountRefresh(); + } + }; + InvalidNestedHooksDispatcherOnUpdateInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + InvalidNestedHooksDispatcherOnRerenderInDEV = { + readContext: function(context) { + warnInvalidContextAccess(); + return readContext(context); + }, + use: function(usable) { + warnInvalidHookAccess(); + return use(usable); + }, + useCallback: function(callback, deps) { + currentHookNameInDev = "useCallback"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function(context) { + currentHookNameInDev = "useContext"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context); + }, + useEffect: function(create, createDeps) { + currentHookNameInDev = "useEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + updateEffectImpl(2048, Passive, create, createDeps); + }, + useImperativeHandle: function(ref, create, deps) { + currentHookNameInDev = "useImperativeHandle"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useInsertionEffect: function(create, deps) { + currentHookNameInDev = "useInsertionEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Insertion, create, deps); + }, + useLayoutEffect: function(create, deps) { + currentHookNameInDev = "useLayoutEffect"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffectImpl(4, Layout, create, deps); + }, + useMemo: function(create, deps) { + currentHookNameInDev = "useMemo"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useReducer: function(reducer, initialArg, init) { + currentHookNameInDev = "useReducer"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(reducer, initialArg, init); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useRef: function() { + currentHookNameInDev = "useRef"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useState: function() { + currentHookNameInDev = "useState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactSharedInternals.H; + ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return rerenderReducer(basicStateReducer); + } finally { + ReactSharedInternals.H = prevDispatcher; + } + }, + useDebugValue: function() { + currentHookNameInDev = "useDebugValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + }, + useDeferredValue: function(value, initialValue) { + currentHookNameInDev = "useDeferredValue"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderDeferredValue(value, initialValue); + }, + useTransition: function() { + currentHookNameInDev = "useTransition"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderTransition(); + }, + useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { + currentHookNameInDev = "useSyncExternalStore"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateSyncExternalStore( + subscribe, + getSnapshot, + getServerSnapshot + ); + }, + useId: function() { + currentHookNameInDev = "useId"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + }, + useFormState: function(action) { + currentHookNameInDev = "useFormState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useActionState: function(action) { + currentHookNameInDev = "useActionState"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderActionState(action); + }, + useOptimistic: function(passthrough, reducer) { + currentHookNameInDev = "useOptimistic"; + warnInvalidHookAccess(); + updateHookTypesDev(); + return rerenderOptimistic(passthrough, reducer); + }, + useMemoCache: function(size) { + warnInvalidHookAccess(); + return useMemoCache(size); + }, + useHostTransitionStatus, + useCacheRefresh: function() { + currentHookNameInDev = "useCacheRefresh"; + updateHookTypesDev(); + return updateWorkInProgressHook().memoizedState; + } + }; + var callComponent = { + react_stack_bottom_frame: function(Component, props, secondArg) { + var wasRendering = isRendering; + isRendering = true; + try { + return Component(props, secondArg); + } finally { + isRendering = wasRendering; + } + } + }, callComponentInDEV = callComponent.react_stack_bottom_frame.bind(callComponent), callRender = { + react_stack_bottom_frame: function(instance) { + var wasRendering = isRendering; + isRendering = true; + try { + return instance.render(); + } finally { + isRendering = wasRendering; + } + } + }, callRenderInDEV = callRender.react_stack_bottom_frame.bind(callRender), callComponentDidMount = { + react_stack_bottom_frame: function(finishedWork, instance) { + try { + instance.componentDidMount(); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidMountInDEV = callComponentDidMount.react_stack_bottom_frame.bind( + callComponentDidMount + ), callComponentDidUpdate = { + react_stack_bottom_frame: function(finishedWork, instance, prevProps, prevState, snapshot) { + try { + instance.componentDidUpdate(prevProps, prevState, snapshot); + } catch (error) { + captureCommitPhaseError(finishedWork, finishedWork.return, error); + } + } + }, callComponentDidUpdateInDEV = callComponentDidUpdate.react_stack_bottom_frame.bind( + callComponentDidUpdate + ), callComponentDidCatch = { + react_stack_bottom_frame: function(instance, errorInfo) { + var stack = errorInfo.stack; + instance.componentDidCatch(errorInfo.value, { + componentStack: null !== stack ? stack : "" + }); + } + }, callComponentDidCatchInDEV = callComponentDidCatch.react_stack_bottom_frame.bind( + callComponentDidCatch + ), callComponentWillUnmount = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, instance) { + try { + instance.componentWillUnmount(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callComponentWillUnmountInDEV = callComponentWillUnmount.react_stack_bottom_frame.bind( + callComponentWillUnmount + ), callCreate = { + react_stack_bottom_frame: function(effect) { + null != effect.resourceKind && console.error( + "Expected only SimpleEffects when enableUseEffectCRUDOverload is disabled, got %s", + effect.resourceKind + ); + var create = effect.create; + effect = effect.inst; + create = create(); + return effect.destroy = create; + } + }, callCreateInDEV = callCreate.react_stack_bottom_frame.bind(callCreate), callDestroy = { + react_stack_bottom_frame: function(current2, nearestMountedAncestor, destroy) { + try { + destroy(); + } catch (error) { + captureCommitPhaseError(current2, nearestMountedAncestor, error); + } + } + }, callDestroyInDEV = callDestroy.react_stack_bottom_frame.bind(callDestroy), callLazyInit = { + react_stack_bottom_frame: function(lazy) { + var init = lazy._init; + return init(lazy._payload); + } + }, callLazyInitInDEV = callLazyInit.react_stack_bottom_frame.bind(callLazyInit), thenableState = null, thenableIndexCounter = 0, currentDebugInfo = null, didWarnAboutMaps; + var didWarnAboutGenerators = didWarnAboutMaps = false; + var ownerHasKeyUseWarning = {}; + var ownerHasFunctionTypeWarning = {}; + var ownerHasSymbolTypeWarning = {}; + warnForMissingKey = function(returnFiber, workInProgress2, child) { + if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) { + if ("object" !== typeof child._store) + throw Error( + "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." + ); + child._store.validated = 1; + var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null"; + if (!ownerHasKeyUseWarning[componentKey]) { + ownerHasKeyUseWarning[componentKey] = true; + child = child._owner; + returnFiber = returnFiber._debugOwner; + var currentComponentErrorInfo = ""; + returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`."); + currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">."); + var childOwnerAppendix = ""; + null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + ".")); + runWithFiberInDEV(workInProgress2, function() { + console.error( + 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', + currentComponentErrorInfo, + childOwnerAppendix + ); + }); + } + } + }; + var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), fakeInternalInstance = {}; + var didWarnAboutStateAssignmentForComponent = /* @__PURE__ */ new Set(); + var didWarnAboutUninitializedState = /* @__PURE__ */ new Set(); + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = /* @__PURE__ */ new Set(); + var didWarnAboutLegacyLifecyclesAndDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutDirectlyAssigningPropsToState = /* @__PURE__ */ new Set(); + var didWarnAboutUndefinedDerivedState = /* @__PURE__ */ new Set(); + var didWarnAboutContextTypes$1 = /* @__PURE__ */ new Set(); + var didWarnAboutChildContextTypes = /* @__PURE__ */ new Set(); + var didWarnAboutInvalidateContextType = /* @__PURE__ */ new Set(); + var didWarnOnInvalidCallback = /* @__PURE__ */ new Set(); + Object.freeze(fakeInternalInstance); + var classComponentUpdater = { + enqueueSetState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueReplaceState: function(inst, payload, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ReplaceState; + update.payload = payload; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + payload = enqueueUpdate(inst, update, lane); + null !== payload && (scheduleUpdateOnFiber(payload, inst, lane), entangleTransitions(payload, inst, lane)); + markStateUpdateScheduled(inst, lane); + }, + enqueueForceUpdate: function(inst, callback) { + inst = inst._reactInternals; + var lane = requestUpdateLane(inst), update = createUpdate(lane); + update.tag = ForceUpdate; + void 0 !== callback && null !== callback && (warnOnInvalidCallback(callback), update.callback = callback); + callback = enqueueUpdate(inst, update, lane); + null !== callback && (scheduleUpdateOnFiber(callback, inst, lane), entangleTransitions(callback, inst, lane)); + null !== injectedProfilingHooks && "function" === typeof injectedProfilingHooks.markForceUpdateScheduled && injectedProfilingHooks.markForceUpdateScheduled(inst, lane); + } + }, reportGlobalError = "function" === typeof reportError ? reportError : function(error) { + if ("object" === typeof window && "function" === typeof window.ErrorEvent) { + var event = new window.ErrorEvent("error", { + bubbles: true, + cancelable: true, + message: "object" === typeof error && null !== error && "string" === typeof error.message ? String(error.message) : String(error), + error + }); + if (!window.dispatchEvent(event)) return; + } else if ("object" === typeof process && "function" === typeof process.emit) { + process.emit("uncaughtException", error); + return; + } + console.error(error); + }, componentName = null, errorBoundaryName = null, SelectiveHydrationException = Error( + "This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue." + ), didReceiveUpdate = false; + var didWarnAboutBadClass = {}; + var didWarnAboutContextTypeOnFunctionComponent = {}; + var didWarnAboutContextTypes = {}; + var didWarnAboutGetDerivedStateOnFunctionComponent = {}; + var didWarnAboutReassigningProps = false; + var didWarnAboutRevealOrder = {}; + var didWarnAboutTailOptions = {}; + var SUSPENDED_MARKER = { + dehydrated: null, + treeContext: null, + retryLane: 0, + hydrationErrors: null + }, hasWarnedAboutUsingNoValuePropOnContextProvider = false, didWarnAboutUndefinedSnapshotBeforeUpdate = null; + didWarnAboutUndefinedSnapshotBeforeUpdate = /* @__PURE__ */ new Set(); + var offscreenSubtreeIsHidden = false, offscreenSubtreeWasHidden = false, needsFormReset = false, PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set, nextEffect = null, inProgressLanes = null, inProgressRoot = null, hostParent = null, hostParentIsContainer = false, currentHoistableRoot = null, suspenseyCommitFlag = 8192, DefaultAsyncDispatcher = { + getCacheForType: function(resourceType) { + var cache = readContext(CacheContext), cacheForType = cache.data.get(resourceType); + void 0 === cacheForType && (cacheForType = resourceType(), cache.data.set(resourceType, cacheForType)); + return cacheForType; + }, + getOwner: function() { + return current; + } + }; + if ("function" === typeof Symbol && Symbol.for) { + var symbolFor = Symbol.for; + symbolFor("selector.component"); + symbolFor("selector.has_pseudo_class"); + symbolFor("selector.role"); + symbolFor("selector.test_id"); + symbolFor("selector.text"); + } + var commitHooks = [], PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map, NoContext = 0, RenderContext = 2, CommitContext = 4, RootInProgress = 0, RootFatalErrored = 1, RootErrored = 2, RootSuspended = 3, RootSuspendedWithDelay = 4, RootSuspendedAtTheShell = 6, RootCompleted = 5, executionContext = NoContext, workInProgressRoot = null, workInProgress = null, workInProgressRootRenderLanes = 0, NotSuspended = 0, SuspendedOnError = 1, SuspendedOnData = 2, SuspendedOnImmediate = 3, SuspendedOnInstance = 4, SuspendedOnInstanceAndReadyToContinue = 5, SuspendedOnDeprecatedThrowPromise = 6, SuspendedAndReadyToContinue = 7, SuspendedOnHydration = 8, SuspendedOnAction = 9, workInProgressSuspendedReason = NotSuspended, workInProgressThrownValue = null, workInProgressRootDidSkipSuspendedSiblings = false, workInProgressRootIsPrerendering = false, workInProgressRootDidAttachPingListener = false, entangledRenderLanes = 0, workInProgressRootExitStatus = RootInProgress, workInProgressRootSkippedLanes = 0, workInProgressRootInterleavedUpdatedLanes = 0, workInProgressRootPingedLanes = 0, workInProgressDeferredLane = 0, workInProgressSuspendedRetryLanes = 0, workInProgressRootConcurrentErrors = null, workInProgressRootRecoverableErrors = null, workInProgressRootDidIncludeRecursiveRenderUpdate = false, globalMostRecentFallbackTime = 0, FALLBACK_THROTTLE_MS = 300, workInProgressRootRenderTargetTime = Infinity, RENDER_TIMEOUT_MS = 500, workInProgressTransitions = null, legacyErrorBoundariesThatAlreadyFailed = null, IMMEDIATE_COMMIT = 0, SUSPENDED_COMMIT = 1, THROTTLED_COMMIT = 2, NO_PENDING_EFFECTS = 0, PENDING_MUTATION_PHASE = 1, PENDING_LAYOUT_PHASE = 2, PENDING_AFTER_MUTATION_PHASE = 3, PENDING_SPAWNED_WORK = 4, PENDING_PASSIVE_PHASE = 5, pendingEffectsStatus = 0, pendingEffectsRoot = null, pendingFinishedWork = null, pendingEffectsLanes = 0, pendingEffectsRemainingLanes = 0, pendingPassiveTransitions = null, pendingRecoverableErrors = null, NESTED_UPDATE_LIMIT = 50, nestedUpdateCount = 0, rootWithNestedUpdates = null, isFlushingPassiveEffects = false, didScheduleUpdateDuringPassiveEffects = false, NESTED_PASSIVE_UPDATE_LIMIT = 50, nestedPassiveUpdateCount = 0, rootWithPassiveNestedUpdates = null, isRunningInsertionEffect = false, didWarnStateUpdateForNotYetMountedComponent = null, didWarnAboutUpdateInRender = false; + var didWarnAboutUpdateInRenderForAnotherComponent = /* @__PURE__ */ new Set(); + var fakeActCallbackNode$1 = {}, firstScheduledRoot = null, lastScheduledRoot = null, didScheduleMicrotask = false, didScheduleMicrotask_act = false, mightHavePendingSyncWork = false, isFlushingWork = false, currentEventTransitionLane = 0, fakeActCallbackNode = {}; + (function() { + for (var i = 0; i < simpleEventPluginEvents.length; i++) { + var eventName = simpleEventPluginEvents[i], domEventName = eventName.toLowerCase(); + eventName = eventName[0].toUpperCase() + eventName.slice(1); + registerSimpleEvent(domEventName, "on" + eventName); + } + registerSimpleEvent(ANIMATION_END, "onAnimationEnd"); + registerSimpleEvent(ANIMATION_ITERATION, "onAnimationIteration"); + registerSimpleEvent(ANIMATION_START, "onAnimationStart"); + registerSimpleEvent("dblclick", "onDoubleClick"); + registerSimpleEvent("focusin", "onFocus"); + registerSimpleEvent("focusout", "onBlur"); + registerSimpleEvent(TRANSITION_RUN, "onTransitionRun"); + registerSimpleEvent(TRANSITION_START, "onTransitionStart"); + registerSimpleEvent(TRANSITION_CANCEL, "onTransitionCancel"); + registerSimpleEvent(TRANSITION_END, "onTransitionEnd"); + })(); + registerDirectEvent("onMouseEnter", ["mouseout", "mouseover"]); + registerDirectEvent("onMouseLeave", ["mouseout", "mouseover"]); + registerDirectEvent("onPointerEnter", ["pointerout", "pointerover"]); + registerDirectEvent("onPointerLeave", ["pointerout", "pointerover"]); + registerTwoPhaseEvent( + "onChange", + "change click focusin focusout input keydown keyup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split( + " " + ) + ); + registerTwoPhaseEvent("onBeforeInput", [ + "compositionend", + "keypress", + "textInput", + "paste" + ]); + registerTwoPhaseEvent( + "onCompositionEnd", + "compositionend focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionStart", + "compositionstart focusout keydown keypress keyup mousedown".split(" ") + ); + registerTwoPhaseEvent( + "onCompositionUpdate", + "compositionupdate focusout keydown keypress keyup mousedown".split(" ") + ); + var mediaEventTypes = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), nonDelegatedEvents = new Set( + "beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(mediaEventTypes) + ), listeningMarker = "_reactListening" + Math.random().toString(36).slice(2), didWarnControlledToUncontrolled = false, didWarnUncontrolledToControlled = false, didWarnFormActionType = false, didWarnFormActionName = false, didWarnFormActionTarget = false, didWarnFormActionMethod = false, didWarnPopoverTargetObject = false; + var didWarnForNewBooleanPropsWithEmptyValue = {}; + var NORMALIZE_NEWLINES_REGEX = /\r\n?/g, NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\u0000|\uFFFD/g, xlinkNamespace = "http://www.w3.org/1999/xlink", xmlNamespace = "http://www.w3.org/XML/1998/namespace", EXPECTED_FORM_ACTION_URL = "javascript:throw new Error('React form unexpectedly submitted.')", SUPPRESS_HYDRATION_WARNING = "suppressHydrationWarning", SUSPENSE_START_DATA = "$", SUSPENSE_END_DATA = "/$", SUSPENSE_PENDING_START_DATA = "$?", SUSPENSE_FALLBACK_START_DATA = "$!", PREAMBLE_CONTRIBUTION_HTML = 1, PREAMBLE_CONTRIBUTION_BODY = 2, PREAMBLE_CONTRIBUTION_HEAD = 4, FORM_STATE_IS_MATCHING = "F!", FORM_STATE_IS_NOT_MATCHING = "F", DOCUMENT_READY_STATE_COMPLETE = "complete", STYLE = "style", HostContextNamespaceNone = 0, HostContextNamespaceSvg = 1, HostContextNamespaceMath = 2, eventsEnabled = null, selectionInformation = null, warnedUnknownTags = { dialog: true, webview: true }, currentPopstateTransitionEvent = null, scheduleTimeout = "function" === typeof setTimeout ? setTimeout : void 0, cancelTimeout = "function" === typeof clearTimeout ? clearTimeout : void 0, noTimeout = -1, localPromise = "function" === typeof Promise ? Promise : void 0, scheduleMicrotask = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof localPromise ? function(callback) { + return localPromise.resolve(null).then(callback).catch(handleErrorInNextTick); + } : scheduleTimeout, previousHydratableOnEnteringScopedSingleton = null, NotLoaded = 0, Loaded = 1, Errored = 2, Settled = 3, Inserted = 4, preloadPropsMap = /* @__PURE__ */ new Map(), preconnectsSet = /* @__PURE__ */ new Set(), previousDispatcher = ReactDOMSharedInternals.d; + ReactDOMSharedInternals.d = { + f: function() { + var previousWasRendering = previousDispatcher.f(), wasRendering = flushSyncWork$1(); + return previousWasRendering || wasRendering; + }, + r: function(form) { + var formInst = getInstanceFromNode(form); + null !== formInst && 5 === formInst.tag && "form" === formInst.type ? requestFormReset$1(formInst) : previousDispatcher.r(form); + }, + D: function(href) { + previousDispatcher.D(href); + preconnectAs("dns-prefetch", href, null); + }, + C: function(href, crossOrigin) { + previousDispatcher.C(href, crossOrigin); + preconnectAs("preconnect", href, crossOrigin); + }, + L: function(href, as, options) { + previousDispatcher.L(href, as, options); + var ownerDocument = globalDocument; + if (ownerDocument && href && as) { + var preloadSelector = 'link[rel="preload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"]'; + "image" === as ? options && options.imageSrcSet ? (preloadSelector += '[imagesrcset="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSrcSet + ) + '"]', "string" === typeof options.imageSizes && (preloadSelector += '[imagesizes="' + escapeSelectorAttributeValueInsideDoubleQuotes( + options.imageSizes + ) + '"]')) : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]' : preloadSelector += '[href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]'; + var key = preloadSelector; + switch (as) { + case "style": + key = getStyleKey(href); + break; + case "script": + key = getScriptKey(href); + } + preloadPropsMap.has(key) || (href = assign( + { + rel: "preload", + href: "image" === as && options && options.imageSrcSet ? void 0 : href, + as + }, + options + ), preloadPropsMap.set(key, href), null !== ownerDocument.querySelector(preloadSelector) || "style" === as && ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + ) || "script" === as && ownerDocument.querySelector(getScriptSelectorFromKey(key)) || (as = ownerDocument.createElement("link"), setInitialProperties(as, "link", href), markNodeAsHoistable(as), ownerDocument.head.appendChild(as))); + } + }, + m: function(href, options) { + previousDispatcher.m(href, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var as = options && "string" === typeof options.as ? options.as : "script", preloadSelector = 'link[rel="modulepreload"][as="' + escapeSelectorAttributeValueInsideDoubleQuotes(as) + '"][href="' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '"]', key = preloadSelector; + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + key = getScriptKey(href); + } + if (!preloadPropsMap.has(key) && (href = assign({ rel: "modulepreload", href }, options), preloadPropsMap.set(key, href), null === ownerDocument.querySelector(preloadSelector))) { + switch (as) { + case "audioworklet": + case "paintworklet": + case "serviceworker": + case "sharedworker": + case "worker": + case "script": + if (ownerDocument.querySelector(getScriptSelectorFromKey(key))) + return; + } + as = ownerDocument.createElement("link"); + setInitialProperties(as, "link", href); + markNodeAsHoistable(as); + ownerDocument.head.appendChild(as); + } + } + }, + X: function(src, options) { + previousDispatcher.X(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + }, + S: function(href, precedence, options) { + previousDispatcher.S(href, precedence, options); + var ownerDocument = globalDocument; + if (ownerDocument && href) { + var styles = getResourcesFromRoot(ownerDocument).hoistableStyles, key = getStyleKey(href); + precedence = precedence || "default"; + var resource = styles.get(key); + if (!resource) { + var state = { loading: NotLoaded, preload: null }; + if (resource = ownerDocument.querySelector( + getStylesheetSelectorFromKey(key) + )) + state.loading = Loaded | Inserted; + else { + href = assign( + { + rel: "stylesheet", + href, + "data-precedence": precedence + }, + options + ); + (options = preloadPropsMap.get(key)) && adoptPreloadPropsForStylesheet(href, options); + var link = resource = ownerDocument.createElement("link"); + markNodeAsHoistable(link); + setInitialProperties(link, "link", href); + link._p = new Promise(function(resolve, reject) { + link.onload = resolve; + link.onerror = reject; + }); + link.addEventListener("load", function() { + state.loading |= Loaded; + }); + link.addEventListener("error", function() { + state.loading |= Errored; + }); + state.loading |= Inserted; + insertStylesheet(resource, precedence, ownerDocument); + } + resource = { + type: "stylesheet", + instance: resource, + count: 1, + state + }; + styles.set(key, resource); + } + } + }, + M: function(src, options) { + previousDispatcher.M(src, options); + var ownerDocument = globalDocument; + if (ownerDocument && src) { + var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts, key = getScriptKey(src), resource = scripts.get(key); + resource || (resource = ownerDocument.querySelector( + getScriptSelectorFromKey(key) + ), resource || (src = assign({ src, async: true, type: "module" }, options), (options = preloadPropsMap.get(key)) && adoptPreloadPropsForScript(src, options), resource = ownerDocument.createElement("script"), markNodeAsHoistable(resource), setInitialProperties(resource, "link", src), ownerDocument.head.appendChild(resource)), resource = { + type: "script", + instance: resource, + count: 1, + state: null + }, scripts.set(key, resource)); + } + } + }; + var globalDocument = "undefined" === typeof document ? null : document, tagCaches = null, suspendedState = null, LAST_PRECEDENCE = null, precedencesByRoot = null, NotPendingTransition = NotPending, HostTransitionContext = { + $$typeof: REACT_CONTEXT_TYPE, + Provider: null, + Consumer: null, + _currentValue: NotPendingTransition, + _currentValue2: NotPendingTransition, + _threadCount: 0 + }, badgeFormat = "%c%s%c ", badgeStyle = "background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px", resetStyle = "", pad = " ", bind = Function.prototype.bind; + var didWarnAboutNestedUpdates = false; + var overrideHookState = null, overrideHookStateDeletePath = null, overrideHookStateRenamePath = null, overrideProps = null, overridePropsDeletePath = null, overridePropsRenamePath = null, scheduleUpdate = null, setErrorHandler = null, setSuspenseHandler = null; + overrideHookState = function(fiber, id, path, value) { + id = findHook(fiber, id); + null !== id && (path = copyWithSetImpl(id.memoizedState, path, 0, value), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateDeletePath = function(fiber, id, path) { + id = findHook(fiber, id); + null !== id && (path = copyWithDeleteImpl(id.memoizedState, path, 0), id.memoizedState = path, id.baseState = path, fiber.memoizedProps = assign({}, fiber.memoizedProps), path = enqueueConcurrentRenderForLane(fiber, 2), null !== path && scheduleUpdateOnFiber(path, fiber, 2)); + }; + overrideHookStateRenamePath = function(fiber, id, oldPath, newPath) { + id = findHook(fiber, id); + null !== id && (oldPath = copyWithRename(id.memoizedState, oldPath, newPath), id.memoizedState = oldPath, id.baseState = oldPath, fiber.memoizedProps = assign({}, fiber.memoizedProps), oldPath = enqueueConcurrentRenderForLane(fiber, 2), null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2)); + }; + overrideProps = function(fiber, path, value) { + fiber.pendingProps = copyWithSetImpl(fiber.memoizedProps, path, 0, value); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsDeletePath = function(fiber, path) { + fiber.pendingProps = copyWithDeleteImpl(fiber.memoizedProps, path, 0); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + path = enqueueConcurrentRenderForLane(fiber, 2); + null !== path && scheduleUpdateOnFiber(path, fiber, 2); + }; + overridePropsRenamePath = function(fiber, oldPath, newPath) { + fiber.pendingProps = copyWithRename( + fiber.memoizedProps, + oldPath, + newPath + ); + fiber.alternate && (fiber.alternate.pendingProps = fiber.pendingProps); + oldPath = enqueueConcurrentRenderForLane(fiber, 2); + null !== oldPath && scheduleUpdateOnFiber(oldPath, fiber, 2); + }; + scheduleUpdate = function(fiber) { + var root2 = enqueueConcurrentRenderForLane(fiber, 2); + null !== root2 && scheduleUpdateOnFiber(root2, fiber, 2); + }; + setErrorHandler = function(newShouldErrorImpl) { + shouldErrorImpl = newShouldErrorImpl; + }; + setSuspenseHandler = function(newShouldSuspendImpl) { + shouldSuspendImpl = newShouldSuspendImpl; + }; + var _enabled = true, return_targetInst = null, hasScheduledReplayAttempt = false, queuedFocus = null, queuedDrag = null, queuedMouse = null, queuedPointers = /* @__PURE__ */ new Map(), queuedPointerCaptures = /* @__PURE__ */ new Map(), queuedExplicitHydrationTargets = [], discreteReplayableEvents = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split( + " " + ), lastScheduledReplayQueue = null; + ReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render = function(children) { + var root2 = this._internalRoot; + if (null === root2) throw Error("Cannot update an unmounted root."); + var args = arguments; + "function" === typeof args[1] ? console.error( + "does not support the second callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ) : isValidContainer(args[1]) ? console.error( + "You passed a container to the second argument of root.render(...). You don't need to pass it again since you already passed it to create the root." + ) : "undefined" !== typeof args[1] && console.error( + "You passed a second argument to root.render(...) but it only accepts one argument." + ); + args = children; + var current2 = root2.current, lane = requestUpdateLane(current2); + updateContainerImpl(current2, lane, args, root2, null, null); + }; + ReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount = function() { + var args = arguments; + "function" === typeof args[0] && console.error( + "does not support a callback argument. To execute a side effect after rendering, declare it in a component body with useEffect()." + ); + args = this._internalRoot; + if (null !== args) { + this._internalRoot = null; + var container = args.containerInfo; + (executionContext & (RenderContext | CommitContext)) !== NoContext && console.error( + "Attempted to synchronously unmount a root while React was already rendering. React cannot finish unmounting the root until the current render has completed, which may lead to a race condition." + ); + updateContainerImpl(args.current, 2, null, args, null, null); + flushSyncWork$1(); + container[internalContainerInstanceKey] = null; + } + }; + ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function(target) { + if (target) { + var updatePriority = resolveUpdatePriority(); + target = { blockedOn: null, target, priority: updatePriority }; + for (var i = 0; i < queuedExplicitHydrationTargets.length && 0 !== updatePriority && updatePriority < queuedExplicitHydrationTargets[i].priority; i++) ; + queuedExplicitHydrationTargets.splice(i, 0, target); + 0 === i && attemptExplicitHydrationTarget(target); + } + }; + (function() { + var isomorphicReactPackageVersion = React.version; + if ("19.1.1" !== isomorphicReactPackageVersion) + throw Error( + 'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' + (isomorphicReactPackageVersion + "\n - react-dom: 19.1.1\nLearn more: https://react.dev/warnings/version-mismatch") + ); + })(); + "function" === typeof Map && null != Map.prototype && "function" === typeof Map.prototype.forEach && "function" === typeof Set && null != Set.prototype && "function" === typeof Set.prototype.clear && "function" === typeof Set.prototype.forEach || console.error( + "React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://react.dev/link/react-polyfills" + ); + ReactDOMSharedInternals.findDOMNode = function(componentOrElement) { + var fiber = componentOrElement._reactInternals; + if (void 0 === fiber) { + if ("function" === typeof componentOrElement.render) + throw Error("Unable to find node on an unmounted component."); + componentOrElement = Object.keys(componentOrElement).join(","); + throw Error( + "Argument appears to not be a ReactComponent. Keys: " + componentOrElement + ); + } + componentOrElement = findCurrentFiberUsingSlowPath(fiber); + componentOrElement = null !== componentOrElement ? findCurrentHostFiberImpl(componentOrElement) : null; + componentOrElement = null === componentOrElement ? null : componentOrElement.stateNode; + return componentOrElement; + }; + if (!function() { + var internals = { + bundleType: 1, + version: "19.1.1", + rendererPackageName: "react-dom", + currentDispatcherRef: ReactSharedInternals, + reconcilerVersion: "19.1.1" + }; + internals.overrideHookState = overrideHookState; + internals.overrideHookStateDeletePath = overrideHookStateDeletePath; + internals.overrideHookStateRenamePath = overrideHookStateRenamePath; + internals.overrideProps = overrideProps; + internals.overridePropsDeletePath = overridePropsDeletePath; + internals.overridePropsRenamePath = overridePropsRenamePath; + internals.scheduleUpdate = scheduleUpdate; + internals.setErrorHandler = setErrorHandler; + internals.setSuspenseHandler = setSuspenseHandler; + internals.scheduleRefresh = scheduleRefresh; + internals.scheduleRoot = scheduleRoot; + internals.setRefreshHandler = setRefreshHandler; + internals.getCurrentFiber = getCurrentFiberForDevTools; + internals.getLaneLabelMap = getLaneLabelMap; + internals.injectProfilingHooks = injectProfilingHooks; + return injectInternals(internals); + }() && canUseDOM && window.top === window.self && (-1 < navigator.userAgent.indexOf("Chrome") && -1 === navigator.userAgent.indexOf("Edge") || -1 < navigator.userAgent.indexOf("Firefox"))) { + var protocol = window.location.protocol; + /^(https?|file):$/.test(protocol) && console.info( + "%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools" + ("file:" === protocol ? "\nYou might need to use a local HTTP server (instead of file://): https://react.dev/link/react-devtools-faq" : ""), + "font-weight:bold" + ); + } + exports.createRoot = function(container, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null; + null !== options && void 0 !== options && (options.hydrate ? console.warn( + "hydrate through createRoot is deprecated. Use ReactDOMClient.hydrateRoot(container, <App />) instead." + ) : "object" === typeof options && null !== options && options.$$typeof === REACT_ELEMENT_TYPE && console.error( + "You passed a JSX element to createRoot. You probably meant to call root.render instead. Example usage:\n\n let root = createRoot(domContainer);\n root.render(<App />);" + ), true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks)); + options = createFiberRoot( + container, + 1, + false, + null, + null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + null + ); + container[internalContainerInstanceKey] = options.current; + listenToAllSupportedEvents(container); + return new ReactDOMRoot(options); + }; + exports.hydrateRoot = function(container, initialChildren, options) { + if (!isValidContainer(container)) + throw Error("Target container is not a DOM element."); + warnIfReactDOMContainerInDEV(container); + void 0 === initialChildren && console.error( + "Must provide initial children as second argument to hydrateRoot. Example usage: hydrateRoot(domContainer, <App />)" + ); + var isStrictMode = false, identifierPrefix = "", onUncaughtError = defaultOnUncaughtError, onCaughtError = defaultOnCaughtError, onRecoverableError = defaultOnRecoverableError, transitionCallbacks = null, formState = null; + null !== options && void 0 !== options && (true === options.unstable_strictMode && (isStrictMode = true), void 0 !== options.identifierPrefix && (identifierPrefix = options.identifierPrefix), void 0 !== options.onUncaughtError && (onUncaughtError = options.onUncaughtError), void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError), void 0 !== options.onRecoverableError && (onRecoverableError = options.onRecoverableError), void 0 !== options.unstable_transitionCallbacks && (transitionCallbacks = options.unstable_transitionCallbacks), void 0 !== options.formState && (formState = options.formState)); + initialChildren = createFiberRoot( + container, + 1, + true, + initialChildren, + null != options ? options : null, + isStrictMode, + identifierPrefix, + onUncaughtError, + onCaughtError, + onRecoverableError, + transitionCallbacks, + formState + ); + initialChildren.context = getContextForSubtree(null); + options = initialChildren.current; + isStrictMode = requestUpdateLane(options); + isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode); + identifierPrefix = createUpdate(isStrictMode); + identifierPrefix.callback = null; + enqueueUpdate(options, identifierPrefix, isStrictMode); + options = isStrictMode; + initialChildren.current.lanes = options; + markRootUpdated$1(initialChildren, options); + ensureRootIsScheduled(initialChildren); + container[internalContainerInstanceKey] = initialChildren.current; + listenToAllSupportedEvents(container); + return new ReactDOMHydrationRoot(initialChildren); + }; + exports.version = "19.1.1"; + "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); + })(); + } + }); + + // node_modules/react-dom/client.js + var require_client = __commonJS({ + "node_modules/react-dom/client.js"(exports, module) { + "use strict"; + if (false) { + checkDCE(); + module.exports = null; + } else { + module.exports = require_react_dom_client_development(); + } + } + }); + + // node_modules/react/cjs/react-jsx-runtime.development.js + var require_react_jsx_runtime_development = __commonJS({ + "node_modules/react/cjs/react-jsx-runtime.development.js"(exports) { + "use strict"; + (function() { + function getComponentNameFromType(type) { + if (null == type) return null; + if ("function" === typeof type) + return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; + if ("string" === typeof type) return type; + switch (type) { + case REACT_FRAGMENT_TYPE: + return "Fragment"; + case REACT_PROFILER_TYPE: + return "Profiler"; + case REACT_STRICT_MODE_TYPE: + return "StrictMode"; + case REACT_SUSPENSE_TYPE: + return "Suspense"; + case REACT_SUSPENSE_LIST_TYPE: + return "SuspenseList"; + case REACT_ACTIVITY_TYPE: + return "Activity"; + } + if ("object" === typeof type) + switch ("number" === typeof type.tag && console.error( + "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." + ), type.$$typeof) { + case REACT_PORTAL_TYPE: + return "Portal"; + case REACT_CONTEXT_TYPE: + return (type.displayName || "Context") + ".Provider"; + case REACT_CONSUMER_TYPE: + return (type._context.displayName || "Context") + ".Consumer"; + case REACT_FORWARD_REF_TYPE: + var innerType = type.render; + type = type.displayName; + type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); + return type; + case REACT_MEMO_TYPE: + return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; + case REACT_LAZY_TYPE: + innerType = type._payload; + type = type._init; + try { + return getComponentNameFromType(type(innerType)); + } catch (x) { + } + } + return null; + } + function testStringCoercion(value) { + return "" + value; + } + function checkKeyStringCoercion(value) { + try { + testStringCoercion(value); + var JSCompiler_inline_result = false; + } catch (e) { + JSCompiler_inline_result = true; + } + if (JSCompiler_inline_result) { + JSCompiler_inline_result = console; + var JSCompiler_temp_const = JSCompiler_inline_result.error; + var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; + JSCompiler_temp_const.call( + JSCompiler_inline_result, + "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", + JSCompiler_inline_result$jscomp$0 + ); + return testStringCoercion(value); + } + } + function getTaskName(type) { + if (type === REACT_FRAGMENT_TYPE) return "<>"; + if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) + return "<...>"; + try { + var name = getComponentNameFromType(type); + return name ? "<" + name + ">" : "<...>"; + } catch (x) { + return "<...>"; + } + } + function getOwner() { + var dispatcher = ReactSharedInternals.A; + return null === dispatcher ? null : dispatcher.getOwner(); + } + function UnknownOwner() { + return Error("react-stack-top-frame"); + } + function hasValidKey(config) { + if (hasOwnProperty.call(config, "key")) { + var getter = Object.getOwnPropertyDescriptor(config, "key").get; + if (getter && getter.isReactWarning) return false; + } + return void 0 !== config.key; + } + function defineKeyPropWarningGetter(props, displayName) { + function warnAboutAccessingKey() { + specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error( + "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", + displayName + )); + } + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, "key", { + get: warnAboutAccessingKey, + configurable: true + }); + } + function elementRefGetterWithDeprecationWarning() { + var componentName = getComponentNameFromType(this.type); + didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error( + "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." + )); + componentName = this.props.ref; + return void 0 !== componentName ? componentName : null; + } + function ReactElement(type, key, self, source, owner, props, debugStack, debugTask) { + self = props.ref; + type = { + $$typeof: REACT_ELEMENT_TYPE, + type, + key, + props, + _owner: owner + }; + null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, "ref", { + enumerable: false, + get: elementRefGetterWithDeprecationWarning + }) : Object.defineProperty(type, "ref", { enumerable: false, value: null }); + type._store = {}; + Object.defineProperty(type._store, "validated", { + configurable: false, + enumerable: false, + writable: true, + value: 0 + }); + Object.defineProperty(type, "_debugInfo", { + configurable: false, + enumerable: false, + writable: true, + value: null + }); + Object.defineProperty(type, "_debugStack", { + configurable: false, + enumerable: false, + writable: true, + value: debugStack + }); + Object.defineProperty(type, "_debugTask", { + configurable: false, + enumerable: false, + writable: true, + value: debugTask + }); + Object.freeze && (Object.freeze(type.props), Object.freeze(type)); + return type; + } + function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self, debugStack, debugTask) { + var children = config.children; + if (void 0 !== children) + if (isStaticChildren) + if (isArrayImpl(children)) { + for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) + validateChildKeys(children[isStaticChildren]); + Object.freeze && Object.freeze(children); + } else + console.error( + "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." + ); + else validateChildKeys(children); + if (hasOwnProperty.call(config, "key")) { + children = getComponentNameFromType(type); + var keys = Object.keys(config).filter(function(k) { + return "key" !== k; + }); + isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}"; + didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error( + 'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', + isStaticChildren, + children, + keys, + children + ), didWarnAboutKeySpread[children + isStaticChildren] = true); + } + children = null; + void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey); + hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key); + if ("key" in config) { + maybeKey = {}; + for (var propName in config) + "key" !== propName && (maybeKey[propName] = config[propName]); + } else maybeKey = config; + children && defineKeyPropWarningGetter( + maybeKey, + "function" === typeof type ? type.displayName || type.name || "Unknown" : type + ); + return ReactElement( + type, + children, + self, + source, + getOwner(), + maybeKey, + debugStack, + debugTask + ); + } + function validateChildKeys(node) { + "object" === typeof node && null !== node && node.$$typeof === REACT_ELEMENT_TYPE && node._store && (node._store.validated = 1); + } + var React = require_react(), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"); + Symbol.for("react.provider"); + var REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() { + return null; + }; + React = { + react_stack_bottom_frame: function(callStackForError) { + return callStackForError(); + } + }; + var specialPropKeyWarningShown; + var didWarnAboutElementRef = {}; + var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind( + React, + UnknownOwner + )(); + var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); + var didWarnAboutKeySpread = {}; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + false, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + exports.jsxs = function(type, config, maybeKey, source, self) { + var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; + return jsxDEVImpl( + type, + config, + maybeKey, + true, + source, + self, + trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, + trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask + ); + }; + })(); + } + }); + + // node_modules/react/jsx-runtime.js + var require_jsx_runtime = __commonJS({ + "node_modules/react/jsx-runtime.js"(exports, module) { + "use strict"; + if (false) { + module.exports = null; + } else { + module.exports = require_react_jsx_runtime_development(); + } + } + }); + + // src/Todo.tsx + var require_Todo = __commonJS({ + "src/Todo.tsx"() { + var import_client = __toESM(require_client()); + var import_react = __toESM(require_react()); + var import_jsx_runtime = __toESM(require_jsx_runtime()); + var colors = { + bg: "#0b1220", + surface: "#0f172a", + card: "#111827", + border: "#1f2937", + text: "#e5e7eb", + muted: "#9ca3af", + accent: "#4f46e5", + accent2: "#10b981", + danger: "#ef4444" + }; + var shadow = "0 10px 20px rgba(0,0,0,.25)"; + var styles = { + page: { + minHeight: "100vh", + display: "grid", + placeItems: "center", + padding: 32, + background: colors.bg, + color: colors.text, + fontFamily: "system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Apple Color Emoji','Segoe UI Emoji'" + }, + card: { + minWidth: 400, + maxWidth: "92vw", + background: colors.surface, + border: `1px solid ${colors.border}`, + borderRadius: 16, + boxShadow: shadow, + padding: "24px 24px 20px" + }, + header: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + gap: 12, + marginBottom: 16 + }, + title: { margin: 0, fontSize: 24, letterSpacing: 0.2 }, + form: { display: "flex", gap: 10, marginBottom: 14 }, + input: { + flex: 1, + height: 40, + padding: "0 12px", + border: `1px solid ${colors.border}`, + borderRadius: 10, + background: colors.card, + color: colors.text, + outline: "none" + }, + btn: { + appearance: "none", + border: `1px solid ${colors.border}`, + background: colors.card, + color: colors.text, + padding: "10px 14px", + borderRadius: 10, + cursor: "pointer", + fontSize: 14, + userSelect: "none", + transition: "transform .05s ease, background .15s, border-color .15s" + }, + btnPrimary: { background: colors.accent, borderColor: colors.accent, color: "#fff" }, + btnSuccess: { background: colors.accent2, borderColor: colors.accent2, color: "#fff" }, + btnDanger: { background: colors.danger, borderColor: colors.danger, color: "#fff" }, + btnSm: { padding: "8px 10px", fontSize: 13, borderRadius: 8 }, + filterBar: { display: "flex", gap: 8, marginTop: 8, marginBottom: 18 }, + filterBtn: { + appearance: "none", + border: `1px solid ${colors.border}`, + background: colors.card, + color: colors.text, + padding: "8px 12px", + fontSize: 13, + borderRadius: 9999, + cursor: "pointer" + }, + filterActive: { + background: "#1a2140", + // subtle āactiveā fill + borderColor: "#2a3a8a" + }, + list: { display: "grid", gap: 10 }, + todo: { + display: "grid", + gridTemplateColumns: "1fr auto auto", + gap: 10, + alignItems: "center", + background: colors.card, + border: `1px solid ${colors.border}`, + borderRadius: 12, + padding: "12px 12px" + }, + todoBusy: { opacity: 0.75 }, + todoText: { display: "flex", alignItems: "center", gap: 8, fontSize: 16 }, + todoCompleted: { textDecoration: "line-through", color: colors.muted }, + badge: { + display: "inline-flex", + alignItems: "center", + gap: 6, + padding: "2px 8px", + fontSize: 12, + borderRadius: 9999, + border: `1px solid ${colors.border}` + }, + badgeDot: { + width: 8, + height: 8, + borderRadius: 9999, + display: "inline-block" + }, + actions: { display: "flex", gap: 8 } + }; + var TodoComponent = (0, import_react.memo)(({ todo, handleOnClickButton }) => { + const statusLabel = todo.status === 0 /* IN_PROGRESS */ ? "In progress" : todo.status === 1 /* COMPLETED */ ? "Completed" : "Deleted"; + const badgeDotColor = todo.status === 0 /* IN_PROGRESS */ ? "#f59e0b" : todo.status === 1 /* COMPLETED */ ? "#10b981" : "#6b7280"; + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { ...styles.todo, ...todo.isOptimistic ? styles.todoBusy : null }, "aria-busy": todo.isOptimistic, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)( + "div", + { + style: { + ...styles.todoText, + ...todo.status === 1 /* COMPLETED */ ? styles.todoCompleted : null + }, + children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { style: styles.badge, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { ...styles.badgeDot, background: badgeDotColor } }), + statusLabel + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: todo.isOptimistic ? { fontSize: 12, color: colors.muted } : {}, children: todo.value }) + ] + } + ), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.actions, children: [ + todo.status !== 1 /* COMPLETED */ && /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { ...styles.btn, ...styles.btnSm, ...styles.btnSuccess }, + onClick: () => handleOnClickButton(todo.id, 1 /* COMPLETED */, 1 /* COMPLETED */), + children: "Complete" + } + ), + todo.status !== 2 /* DELETED */ && /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { ...styles.btn, ...styles.btnSm, ...styles.btnDanger }, + onClick: () => handleOnClickButton(todo.id, 2 /* DELETED */, 2 /* REMOVED */), + children: "Delete" + } + ) + ] }) + ] }); + }); + var todoTableCss = { display: "grid", gridTemplateColumns: "1fr", gap: 10, width: "100%" }; + var todoReducer = (state, action) => { + switch (action.type) { + case 0 /* ADD */: + return [...state, action.todo]; + case 1 /* COMPLETED */: + return state.map((t) => t.id === action.todoId ? { ...t, status: 1 /* COMPLETED */ } : t); + case 2 /* REMOVED */: + return state.map((t) => t.id === action.todoId ? { ...t, status: 2 /* DELETED */ } : t); + case 3 /* CONFRIM_FROM_BE */: + return state.map((t) => t.id === action.todoId ? { ...t, isOptimistic: false } : t); + case 4 /* REVERT_FROM_BE */: + return state.filter((t) => t.id !== action.todoId); + case 5 /* HYDRATE */: + return action.todos.map((todo) => ({ + ...todo, + isOptimistic: false + })); + default: + return state; + } + }; + var TodoPageComponent = ({ userKeyword }) => { + const [todos, dispatch] = (0, import_react.useReducer)(todoReducer, []); + const [todoTypes, setTodoTypes] = (0, import_react.useState)(0 /* IN_PROGRESS */); + const todoInputRef = (0, import_react.useRef)(null); + (0, import_react.useEffect)(() => { + const ctrl = new AbortController(); + (async () => { + try { + const res = await fetch( + `/api/v1/todo?key=${userKeyword}`, + { signal: ctrl.signal } + ); + if (!res.ok) return; + const todos2 = (await res.json()).todos; + dispatch({ type: 5 /* HYDRATE */, todos: todos2 }); + } catch (e) { + console.log(e); + } + })(); + return () => ctrl.abort(); + }, []); + const buckets = (0, import_react.useMemo)(() => { + const r = { + [0 /* IN_PROGRESS */]: [], + [1 /* COMPLETED */]: [], + [2 /* DELETED */]: [] + }; + for (const t of todos) r[t.status].push(t); + return r; + }, [todos]); + const visibleTodos = buckets[todoTypes]; + const handleSubmit = (0, import_react.useCallback)((event) => { + event.preventDefault(); + const todoInput = todoInputRef.current; + if (!todoInput) return; + const value = todoInput.value.trim(); + if (!value) return; + const newTodo = { + id: crypto.randomUUID(), + value, + status: 0 /* IN_PROGRESS */, + isOptimistic: true + }; + dispatch({ type: 0 /* ADD */, todo: newTodo }); + todoInput.value = ""; + (0, import_react.startTransition)(async () => { + try { + const res = await fetch(`/api/v1/todo?key=${userKeyword}`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ newTodo }) + }); + if (res.ok) dispatch({ type: 3 /* CONFRIM_FROM_BE */, todoId: newTodo.id }); + else dispatch({ type: 4 /* REVERT_FROM_BE */, todoId: newTodo.id }); + } catch { + dispatch({ type: 4 /* REVERT_FROM_BE */, todoId: newTodo.id }); + } + }); + }, []); + const onClickUpdate = (0, import_react.useCallback)( + (todoId, status, type) => { + dispatch({ type, todoId }); + (0, import_react.startTransition)(async () => { + try { + const res = await fetch(`/api/v1/todo?key=${userKeyword}`, { + method: "PATCH", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ todoId, status }) + }); + if (res.ok) dispatch({ type: 3 /* CONFRIM_FROM_BE */, todoId }); + else dispatch({ type: 4 /* REVERT_FROM_BE */, todoId }); + } catch { + dispatch({ type: 4 /* REVERT_FROM_BE */, todoId }); + } + }); + }, + [dispatch] + ); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.header, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { style: styles.title, children: "TODO!" }), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: styles.filterBar, role: "tablist", "aria-label": "Filter", children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { ...styles.filterBtn, ...todoTypes === 0 /* IN_PROGRESS */ ? styles.filterActive : null }, + onClick: () => setTodoTypes(0 /* IN_PROGRESS */), + children: "In progress" + } + ), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { ...styles.filterBtn, ...todoTypes === 2 /* DELETED */ ? styles.filterActive : null }, + onClick: () => setTodoTypes(2 /* DELETED */), + children: "Deleted" + } + ), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)( + "button", + { + style: { ...styles.filterBtn, ...todoTypes === 1 /* COMPLETED */ ? styles.filterActive : null }, + onClick: () => setTodoTypes(1 /* COMPLETED */), + children: "Completed" + } + ) + ] }) + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { style: styles.form, onSubmit: handleSubmit, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref: todoInputRef, style: styles.input, placeholder: "Add a task\u2026" }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { ...styles.btn, ...styles.btnPrimary }, type: "submit", children: "Add" }) + ] }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: todoTableCss, children: visibleTodos.map((todo) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoComponent, { todo, handleOnClickButton: onClickUpdate }, todo.id)) }) + ] }); + }; + var SetUserKeywordInput = ({ setUserKeyword }) => { + const inputRef = (0, import_react.useRef)(null); + const handleSubmit = (0, import_react.useCallback)(() => { + const inputEle = inputRef.current; + if (!inputEle || !inputEle.value.trim()) return; + setUserKeyword(inputEle.value.trim()); + const params = new URLSearchParams(window.location.search); + params.set("key", inputEle.value.trim()); + history.replaceState(null, "", `${location.pathname}?${params}${location.hash}`); + inputEle.value = ""; + }, [setUserKeyword]); + return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { style: styles.title, children: "What is your keyword?" }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { children: "If it doesn't exist, it will start a new TODO list and used the keyword to encrypt the values." }), + /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { style: styles.form, onSubmit: handleSubmit, children: [ + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref: inputRef, style: styles.input, placeholder: "What is your Keyword?" }), + /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { style: { ...styles.btn, ...styles.btnPrimary }, type: "submit", children: "Confirm" }) + ] }) + ] }); + }; + var Todo = () => { + const [userKeyword, setUserKeyword] = (0, import_react.useState)(() => { + const params = new URLSearchParams(window.location.search); + console.log(); + return params.get("key") || ""; + }); + return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.page, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: styles.card, children: userKeyword ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoPageComponent, { userKeyword }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SetUserKeywordInput, { setUserKeyword }) }) }); + }; + import_client.default.createRoot(document.getElementById("root")).render(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Todo, {})); + } + }); + require_Todo(); +})(); +/*! Bundled license information: + +scheduler/cjs/scheduler.development.js: + (** + * @license React + * scheduler.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react.development.js: + (** + * @license React + * react.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom.development.js: + (** + * @license React + * react-dom.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react-dom/cjs/react-dom-client.development.js: + (** + * @license React + * react-dom-client.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) + +react/cjs/react-jsx-runtime.development.js: + (** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + *) +*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/API_works/music_player.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,168 @@ +import { useCallback, useEffect, useRef, useState } from "react"; + +const CHAPTERS: string[] = [ + "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3", + "https://www.learningcontainer.com/wp-content/uploads/2020/02/Kalimba.mp3", + "https://download.samplelib.com/mp3/sample-3s.mp3", +]; + +type AudioComponentProp = { + srcUrl: string; + onNext?: () => void; + onPrev?: () => void; +}; + +function fmt(t: number) { + if (!isFinite(t)) return "0:00"; + const m = Math.floor(t / 60); + const s = Math.floor(t % 60); + return `${m}:${s.toString().padStart(2, "0")}`; +} + +const AudioComponent = ({ srcUrl, onNext, onPrev }: AudioComponentProp) => { + const audioRef = useRef<HTMLAudioElement>(null); + + const [isPlaying, setIsPlaying] = useState(false); + const [current, setCurrent] = useState(0); + const [duration, setDuration] = useState(0); + + // If true, auto-play after src changes and can play. + const autoplayNextRef = useRef(false); + + // Wire up element events once. + useEffect(() => { + const el = audioRef.current; + if (!el) return; + + const onPlay = () => setIsPlaying(true); + const onPause = () => setIsPlaying(false); + const onTime = () => setCurrent(el.currentTime || 0); + const onMeta = () => setDuration(isFinite(el.duration) ? el.duration : 0); + const onEnded = () => { + if (!onNext) return; + autoplayNextRef.current = true; // keep playing the next track + onNext(); + }; + + el.addEventListener("play", onPlay); + el.addEventListener("pause", onPause); + el.addEventListener("timeupdate", onTime); + el.addEventListener("loadedmetadata", onMeta); + el.addEventListener("ended", onEnded); + + // Prime initial state + onMeta(); + onTime(); + setIsPlaying(!el.paused && !el.ended); + + return () => { + el.removeEventListener("play", onPlay); + el.removeEventListener("pause", onPause); + el.removeEventListener("timeupdate", onTime); + el.removeEventListener("loadedmetadata", onMeta); + el.removeEventListener("ended", onEnded); + }; + }, [onNext]); + + // When src changes, load and maybe auto-play when ready. + useEffect(() => { + const el = audioRef.current; + if (!el) return; + + el.load(); // pick up new src + + const tryPlay = () => { + if (autoplayNextRef.current) { + autoplayNextRef.current = false; + el.play().catch(() => { + // Autoplay might be blocked; leave paused state as-is. + }); + } + }; + + // Play once ready (covers both cached and freshly loaded cases) + el.addEventListener("canplay", tryPlay, { once: true }); + // In case it's already buffered: + tryPlay(); + + // Reset progress immediately on new track + setCurrent(0); + }, [srcUrl]); + + const toggle = useCallback(() => { + const el = audioRef.current; + if (!el) return; + if (el.paused) el.play().catch(() => {}); + else el.pause(); + }, []); + + const seek = useCallback((e: React.ChangeEvent<HTMLInputElement>) => { + const el = audioRef.current; + if (!el) return; + el.currentTime = Number(e.target.value); + }, []); + + // Button handlers: set the autoplay flag so next track starts immediately. + const handleNext = useCallback(() => { + if (!onNext) return; + autoplayNextRef.current = true; // user gesture ā autoplay allowed + onNext(); + }, [onNext]); + + const handlePrev = useCallback(() => { + if (!onPrev) return; + autoplayNextRef.current = true; + onPrev(); + }, [onPrev]); + + const pct = duration > 0 ? (current / duration) * 100 : 0; + + return ( + <> + {/* remove "controls" if you want only custom UI */} + <audio ref={audioRef} src={srcUrl} preload="metadata" /> + <div style={{ display: "flex", gap: 8, alignItems: "center", margin: "8px 0" }}> + <button onClick={toggle}>{isPlaying ? "Pause" : "Play"}</button> + <button onClick={handlePrev} disabled={!onPrev}>Prev</button> + <button onClick={handleNext} disabled={!onNext}>Next</button> +" <span style={{ marginLeft: 8, width: 56, textAlign: "right" }}>{fmt(current)}</span>", + <input + type="range" + min={0} + max={duration || 0} + step={0.01} + value={current} + onChange={seek} + style={{ flex: 1 }} + /> + <span style={{ width: 56 }}>{fmt(duration)}</span> + </div> + {/* Optional thin progress bar */} + <div style={{ height: 4, width: "100%", background: "#eee", borderRadius: 2 }}> + <div style={{ height: "100%", width: `${pct}%`, background: "#999", borderRadius: 2 }} /> + </div> + </> + ); +}; + +const MusicPlayer = () => { + const [musicIndex, setMusicIndex] = useState<number>(0); + + const onNext = useCallback( + () => setMusicIndex((i) => Math.min(i + 1, CHAPTERS.length - 1)), + [] + ); + const onPrev = useCallback(() => setMusicIndex((i) => Math.max(i - 1, 0)), []); + + return ( + <AudioComponent + srcUrl={CHAPTERS[musicIndex]} + onNext={musicIndex === CHAPTERS.length - 1 ? undefined : onNext} + onPrev={musicIndex === 0 ? undefined : onPrev} + /> + ); +}; + +export { + MusicPlayer, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/API_works/pagination.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,236 @@ +import { CSSProperties, startTransition, useCallback, useEffect, useReducer, useRef } from "react"; +import ReactDOM from "react-dom/client"; + +const API_URL = "https://swapi.py4e.com/api/people/"; + +/* ---------- Types ---------- */ +interface PeopleJSON { name: string; birth_year: string; } +interface APIResponse { next: string | null; previous: string | null; results: PeopleJSON[]; } +interface PageData extends APIResponse { isLoading: boolean; curr: string; } + +type Dir = "next" | "prev"; +type Mode = "none" | "page" | "offset" | "cursor" | "link"; +type UrlParams = + | { mode: "none" } + | { mode: "page"; page: number; limit?: number } + | { mode: "offset"; offset: number; limit?: number } + | { mode: "cursor"; cursor: string; limit?: number; dir?: Dir } + | { mode: "link"; curr: string; next?: string; prev?: string }; + +/* ---------- URL <-> Args ---------- */ +function parseArgsFromSearch(): UrlParams { + const sp = new URLSearchParams(location.search); + const mode = (sp.get("mode") as Mode) || "none"; + switch (mode) { + case "none": return { mode }; + case "page": return { mode, page: Number(sp.get("page") || 1), limit: sp.get("limit") ? Number(sp.get("limit")) : undefined }; + case "offset": return { mode, offset: Number(sp.get("offset") || 0), limit: sp.get("limit") ? Number(sp.get("limit")) : undefined }; + case "cursor": return { mode, cursor: sp.get("cursor") || "", limit: sp.get("limit") ? Number(sp.get("limit")) : undefined, dir: (sp.get("dir") as Dir) || undefined }; + case "link": return { mode, curr: sp.get("curr") || API_URL, next: sp.get("next") || undefined, prev: sp.get("prev") || undefined }; + } +} + +function uiUrl(basePath: string, args: UrlParams): string { + const sp = new URLSearchParams(); + switch (args.mode) { + case "none": + return basePath; + case "page": + sp.set("mode", "page"); + sp.set("page", String(args.page)); + if (args.limit != null) sp.set("limit", String(args.limit)); + break; + case "offset": + sp.set("mode", "offset"); + sp.set("offset", String(args.offset)); + if (args.limit != null) sp.set("limit", String(args.limit)); + break; + case "cursor": + sp.set("mode", "cursor"); + sp.set("cursor", args.cursor); + if (args.limit != null) sp.set("limit", String(args.limit)); + if (args.dir) sp.set("dir", args.dir); + break; + case "link": + sp.set("mode", "link"); + sp.set("curr", args.curr); + if (args.next) sp.set("next", args.next); + if (args.prev) sp.set("prev", args.prev); + break; + } + const q = sp.toString(); + return q ? `${basePath}?${q}` : basePath; +} + +/** For this API, upstream URL comes from args. */ +function toUpstreamUrl(args: UrlParams): string { + switch (args.mode) { + case "none": return API_URL; + case "link": return args.curr || API_URL; + case "page": return `${API_URL}?page=${args.page}${args.limit != null ? `&limit=${args.limit}` : ""}`; + case "offset": return `${API_URL}?offset=${args.offset}${args.limit != null ? `&limit=${args.limit}` : ""}`; + case "cursor": return `${API_URL}?cursor=${args.cursor}${args.limit != null ? `&limit=${args.limit}` : ""}${args.dir ? `&dir=${args.dir}` : ""}`; + } +} + +function argsFromResponse(currUrl: string, resp: APIResponse): UrlParams { + // Prefer LINK mode when API provides next/previous URLs + return { mode: "link", curr: currUrl, next: resp.next ?? undefined, prev: resp.previous ?? undefined }; +} + +/* ---------- In-flight dedupe (not a cache) ---------- */ +const inflight = new Map<string, Promise<PageData>>(); + +async function fetchPage(url: string, signal?: AbortSignal): Promise<PageData> { + if (inflight.has(url)) return inflight.get(url)!; + + const p = (async () => { + const res = await fetch(url, { signal }); + console.log(res.headers.get("content-type")); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + const json: APIResponse = await res.json(); + return { ...json, isLoading: false, curr: url } as PageData; + })().finally(() => inflight.delete(url)); + + inflight.set(url, p); + return p; +} + +/* ---------- Derive next/prev target args (mode-agnostic) ---------- */ +function deriveNav(current: UrlParams, pd: PageData) { + let nextArgs: UrlParams | undefined; + let prevArgs: UrlParams | undefined; + + switch (current.mode) { + case "none": + case "link": { + nextArgs = pd.next ? { mode: "link", curr: pd.next, next: pd.next, prev: pd.prev || undefined } : undefined; + prevArgs = pd.previous ? { mode: "link", curr: pd.previous, prev: pd.previous, next: pd.next || undefined } : undefined; + break; + } + case "page": { + const limit = current.limit; + nextArgs = { mode: "page", page: current.page + 1, limit }; + prevArgs = current.page > 1 ? { mode: "page", page: current.page - 1, limit } : undefined; + break; + } + case "offset": { + const limit = current.limit ?? 10; + nextArgs = { mode: "offset", offset: current.offset + limit, limit }; + prevArgs = current.offset - limit >= 0 ? { mode: "offset", offset: current.offset - limit, limit } : undefined; + break; + } + case "cursor": { + // needs server-provided cursors; weād stash them in pd if available + // For this API we don't have cursors, so fall back to link behavior above. + break; + } + } + return { nextArgs, prevArgs }; +} + +/* ---------- State ---------- */ +enum ActionType { HYDRATE, LOADING, ERROR } +type Action = + | { type: ActionType.HYDRATE; data: PageData } + | { type: ActionType.LOADING } + | { type: ActionType.ERROR; error: string }; + +const INITIAL: PageData = { next: null, previous: null, results: [], isLoading: false, curr: API_URL }; + +function reducer(state: PageData, action: Action): PageData { + switch (action.type) { + case ActionType.HYDRATE: return action.data; + case ActionType.LOADING: return { ...state, isLoading: true }; + case ActionType.ERROR: return { ...state, isLoading: false }; + default: return state; + } +} + +/* ---------- Styles & Row ---------- */ +const styles: { row: CSSProperties; toolbar: CSSProperties } = { + row: { display: "grid", gridTemplateColumns: "repeat(2, 1fr)" }, + toolbar: { display: "flex", gap: 8, marginBottom: 8 }, +}; + +const PersonRow = ({ p }: { p: PeopleJSON }) => ( + <div style={styles.row}> + <p>{p.name}</p> + <p>{p.birth_year}</p> + </div> +); + +/* ---------- Component ---------- */ +const People = () => { + const [page, dispatch] = useReducer(reducer, INITIAL); + const ctrlRef = useRef<AbortController | null>(null); + + const load = useCallback((args: UrlParams, pushUrl = true) => { + dispatch({ type: ActionType.LOADING }); + + startTransition(async () => { + ctrlRef.current?.abort(); + const ctrl = new AbortController(); + ctrlRef.current = ctrl; + + try { + const upstream = toUpstreamUrl(args); + const data = await fetchPage(upstream, ctrl.signal); + + // Auto-detect LINK and sync UI URL *from the response* (URL is the source of truth) + const linkArgs = argsFromResponse(upstream, data); + if (pushUrl) history.pushState(null, "", uiUrl(location.pathname, linkArgs)); + + dispatch({ type: ActionType.HYDRATE, data }); + } catch (e: any) { + if (e?.name !== "AbortError") dispatch({ type: ActionType.ERROR, error: String(e?.message ?? e) }); + } + }); + }, []); + + // Initial load + back/forward + useEffect(() => { + const applyFromLocation = () => load(parseArgsFromSearch(), false); + window.addEventListener("popstate", applyFromLocation); + applyFromLocation(); + return () => window.removeEventListener("popstate", applyFromLocation); + }, [load]); + + // Click handlers: derive target solely from current URL + current page data + const navigate = useCallback((dir: Dir) => { + const current = parseArgsFromSearch(); + const { nextArgs, prevArgs } = deriveNav(current, page); + const target = dir === "next" ? nextArgs : prevArgs; + if (!target) return; + // push new URL first so URL remains the source of truth + history.pushState(null, "", uiUrl(location.pathname, target)); + load(target, false); // do not push again inside load + }, [page, load]); + + const { nextArgs, prevArgs } = deriveNav(parseArgsFromSearch(), page); + + return ( + <div> + <div style={styles.toolbar}> + <button disabled={!prevArgs} onClick={() => navigate("prev")}>prev</button> + <button disabled={!nextArgs} onClick={() => navigate("next")}>next</button> + </div> + + {page.isLoading && <p>Loadingā¦</p>} + + {!page.isLoading && ( + <> + <div style={{ ...styles.row, borderBottom: "1px solid #000" }}> + <strong>Name</strong> + <strong>Birth Year</strong> + </div> + {page.results.map((p) => <PersonRow key={p.name} p={p} />)} + </> + )} + </div> + ); +}; + +export { + People, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/API_works/pagination_2.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,226 @@ +import { CSSProperties, useCallback, useEffect, useRef, useState } from "react"; + +interface PersonJson { + name: string; + height: string; + mass: string; + hair_color: string; + skin_color: string; + eye_color: string; + birth_year: string; + gender: string; + homeworld: string; + films: string[]; + species: string; + vehicles: string[]; + starships: string[]; + created: string; + edited: string; + url: string; +} + +interface Person extends PersonJson {} + +interface APIResponse { + next: string | null; + previous: string | null; + results: PersonJson[]; +} + +interface PageData extends APIResponse { + curr: string; +} + +const BASE_URL = "https://swapi.py4e.com/api/people/"; + +const cacheMap: Map<string, Promise<PageData>> = new Map() + +const getPeople = async ( + url: string, + signal: AbortSignal, +): Promise<PageData> => { + const cacheValue = cacheMap.get(url); + if (cacheValue) return cacheValue; + + const response = await fetch(url, { signal }); + if (!response.ok) throw new Error("Server Error"); + const pageData = await response.json(); + + cacheMap.set(url, pageData); + return { ...pageData, curr: url }; +} + +interface PersonRowProp { + person: Person; +} + +interface StylesProp { + row: CSSProperties, +} + +const styles: StylesProp = { + row: { + display: "flex", + justifyContent: "space-between", + borderBottom: "1px solid black", + marginBottom: 10 + } +} + +const PersonRow = ({person}: PersonRowProp) => { + return ( + <div style={styles.row}> + <p>{ person.name }</p> + <p>{ person.birth_year }</p> + </div> + ) +} + +const constructSearchParam = (pageData: PageData) => { + const sp = new URLSearchParams(); + if (pageData.next) { + sp.set("next", pageData.next) + } + if (pageData.previous) { + sp.set("previous", pageData.previous) + } + sp.set("curr", pageData.curr) + return sp; +} + +const constructUrl = (url: string, sp: URLSearchParams) => { + return `${url}?${sp.toString()}` +} + +type Direction = "next" | "previous" + +type APIType = "page" | "offset" | "cursor" | "link" + +const constructUrlFromSP = (apiType: APIType, sp: URLSearchParams): string | null => { + switch(apiType) { + case "page": + case "offset": + case "cursor": + return `${BASE_URL}?${sp.toString()}` + case "link": + return sp.get("curr"); + } +} + +const updateSP = ( + apiType: APIType, + direction: Direction, + sp: URLSearchParams +) => { + switch(apiType) { + case "page": + sp.set( + "page", + direction === "next" ? + String(Number(sp.get("page") as string) + 1) : + String(Math.max(Number(sp.get("page") as string) - 1, 1)) + ); + return sp; + case "offset": + sp.set("offset", + direction === "next" ? + String(Number(sp.get("offset") as string) + Number(sp.get("offset") as string)) : + String(Number(sp.get("offset") as string) - Math.min(Number(sp.get("offset") as string))) + ); + return sp; + case "cursor": + // TODO get id from people: + return sp; + case "link": + const curr = sp.get("curr") as string; + const next = sp.get("next"); + const previous = sp.get("previous"); + if (direction === "next") { + sp.delete("next"); + if (next) { + sp.set("curr", next); + } + sp.set("previous", curr); + } else { + sp.delete("previous"); + if (previous) { + sp.set("curr", previous); + } + sp.set("next", curr); + } + sp.set("offset", String(Number(sp.get("offset")) as number + 1)); + return sp; + } +} + +const usePageData = (api: APIType) => { + const [apiType] = useState<APIType>(api); + const [people, setPeople] = useState<Person[]>([]); + const [hasNext, setHasNext] = useState(true); + const [hasPrevious, setHasPrevious] = useState(true); + const abortRef = useRef<AbortController | null>(null); + + /** Single path for: fetch -> set state -> reflect URL */ + const load = useCallback(async (url: string, replace = false) => { + // cancel any prior request + abortRef.current?.abort(); + const ac = new AbortController(); + abortRef.current = ac; + + const page = await getPeople(url, ac.signal); + + // state + setPeople(page.results); + + if (apiType === "link") { + const sp = constructSearchParam(page); + setHasNext(Boolean(page.next)); + setHasPrevious(Boolean(page.previous)); + const target = `${location.pathname}?${sp.toString()}`; + replace ? history.replaceState(null, "", target) : history.pushState(null, "", target); + } else { + const sp = new URL(url).searchParams; + const target = `${location.pathname}?${sp.toString()}`; + replace ? history.replaceState(null, "", target) : history.pushState(null, "", target); + } + }, [apiType]); + + // Initial hydrate: reuse load() + useEffect(() => { + const sp = new URLSearchParams(location.search); + const url = constructUrlFromSP(apiType, sp) ?? BASE_URL; + load(url, /* replace */ true); + return () => abortRef.current?.abort(); + }, [apiType, load]); + + // Button handler: reuse load() + const handleOnClick = useCallback((direction: Direction) => { + const sp = new URLSearchParams(location.search); + const nextSP = updateSP(apiType, direction, sp); + const nextUrl = constructUrlFromSP(apiType, nextSP); + if (nextUrl) load(nextUrl); + }, [apiType, load]); + + return { people, hasNext, hasPrevious, handleOnClick }; +}; + +const PageTableComponent = () => { + const {hasNext, hasPrevious, people, handleOnClick} = usePageData("link"); + return ( + <> + <div style={{...styles.row, width: "30%", borderBottom: "none" }}> + <button disabled={!hasNext} onClick={() => handleOnClick("next")}> Next </button> + <button disabled={!hasPrevious} onClick={() => handleOnClick("previous")}> Previous </button> + </div> + <div style={styles.row}> + <p>Name</p> + <p>Birth_year</p> + </div> + {people.map((person) => (<PersonRow person={person} />) )} + </> + ) +} + +export { + PageTableComponent, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/API_works/starwars_characters.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,204 @@ +import { CSSProperties, FormEvent, KeyboardEvent, useCallback, useRef, useState } from "react"; +import ReactDOM from "react-dom/client"; + +/** + * + * Implement an app that searches for Star Wars characters. + * + * User can type in texts to search for the matching characters through this + * API endpoint: + * + * https://swapi.tech/api/people?name=luke + * + * Users can also tap a search result row and enter the profile detail screen. + * The information displayed in the detail screen should already be returned + * from the search API. + * + */ + +interface Person { + created: string; + edited: string; + name: string; + gender: string; + skin_color: string; + hair_color: string; + height: string; + eye_color: string; + mass: string; + homeworld: string; + birth_year: string; + vehicles: string[]; + starships: string[]; + films: string[]; + url: string; +} + +interface APIResponseJSON { + message: string; + result: { properties: Person; uid: string; }[]; +} + +const BASE_URL = "https://swapi.tech/api/people" ; +const constructAPIUrl = (url: string, params: URLSearchParams) => { + return `${url}?${params.toString()}`; +} + +const map: Map<string, Promise<Person[]>> = new Map(); + +const fetchPeople = async (name: string, signal: AbortSignal): Promise<Person[]> => { + const sp = new URLSearchParams(); + sp.set("name", name); + const url = constructAPIUrl(BASE_URL, sp); + const cacheValue = map.get(url); + if (cacheValue) return cacheValue; + + const fetchPromise = (async () => { + const response = await fetch(url, { signal }); + + if (!response.ok) throw new Error("Server error"); + const json: APIResponseJSON = await response.json(); + if (json.message != "ok") throw new Error("Response does not have ok"); + + const result = json.result.map( + ({properties}) => properties + ) + return result; + })(); + + map.set(url, fetchPromise); + setTimeout(() => map.delete(url), 1000 * 60 * 5); + + try { + return await fetchPromise; + } catch (err) { + map.delete(url); + throw err; + } +} + +interface PersonRowProp { + person: Person; + idx: number; + onSelect: (i: number) => void; + +} + +const PersonRow = ({person, idx, onSelect}: PersonRowProp) => { + const handleOnKeyDown = useCallback((event: KeyboardEvent) => { + if (event.key != "Enter") return; + event.preventDefault(); + onSelect(idx); + }, []); + + return ( + <div + role="button" + style={styles.detailPerson} + tabIndex={0} + onClick={()=>onSelect(idx)} + onKeyDown={handleOnKeyDown} + > + {person.name} + </div> + ) +} + +interface StyleProp { + form: CSSProperties; + searchResult: CSSProperties; + detailPerson: CSSProperties; +} + +const styles: StyleProp = { + form: { + display: "flex", + gap: 5, + }, + searchResult: { + overflowY: "scroll", + height: 400, + }, + detailPerson: { + }, +} + +interface PersonDetialComponentProp { + person: Person; +} + +const PersonDetialComponent = ({person}: PersonDetialComponentProp) => { + return ( + <div> + <p> <span> Name: </span> { person.name }</p> + <p> <span> Mass: </span> { person.mass }</p> + <p> <span> Gender: </span> { person.gender }</p> + <p> <span> Height: </span> { person.height }</p> + <p> <span> Homeworld: </span>{ person.homeworld }</p> + <p> <span> Hair_color: </span> { person.hair_color }</p> + </div> + ) +} + +const StarWarsCharactersComponent = () => { + const [people, setPeople] = useState<Person[]>([]); + const [isLoading, setIsLoading] = useState<boolean>(false); + const [personIdx, setPersonIdx] = useState<number | null>(null); + const nameInputRef = useRef<HTMLInputElement | null>(null) + const abortController = useRef<AbortController | null>(null); + + const personOnSelect = useCallback((idx: number) => { + setPersonIdx(idx); + }, []) + + const handleOnSubmit = useCallback((event: FormEvent) => { + event.preventDefault(); + + // if exist abort the request; + abortController.current?.abort(); + const currAborController = new AbortController(); + abortController.current = currAborController; + + const nameInputEL = nameInputRef.current; + if (!nameInputEL || nameInputEL.value.trim() == "") return; + setIsLoading(true); + fetchPeople(nameInputEL.value.trim(), currAborController.signal) + .then( + (res) => { + console.log("??"); + setPeople(res); + setPersonIdx(null); + } + ).finally( + () => setIsLoading(false) + ); + nameInputEL.value = ""; + return () => currAborController.abort(); + },[]) + + return ( + <> + <form style={styles.form} onSubmit={handleOnSubmit}> + <input ref={nameInputRef}></input> + <button type="submit"> Search </button> + </form> + {isLoading && (<div> Loading.... </div>)} + <div style={styles.searchResult}> + { + people.length > 0 && people.map( + (person, idx) => (<PersonRow key={idx} idx={idx} onSelect={personOnSelect} person={person} />)) + } + </div> + { + personIdx != null && + ( + <PersonDetialComponent person={people[personIdx]}/> + ) + } + </> + ) +} + +export { + StarWarsCharactersComponent, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/CardMatchiing/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,220 @@ +/** + * + * Youāre tasked with building a simple memory card-matching game in React. + + Each card has a hidden value, and the player flips two cards at a time to try to find a match. + + If the cards match, they stay face-up. If not, they flip back after a short delay. + + The game ends when all pairs are matched. + + // Basic components + // Board + // Cards (values 1 to 10) + // There will be 20 cards, 4 x 5. + // + // GameState: playable or not + // logic check if the value sames + // + // listOfCurrentlyTurnOpend: len(2) number[] +*/ +import React, { + createContext, + useContext, + useEffect, + useReducer, +} from "react"; + +/* āāāāāāāāāāāāāāāāāāāā Types āāāāāāāāāāāāāāāāāāāā */ +interface CardValue { + value: number; + isFacing: boolean; + isSolved: boolean; +} + +interface CardProp { + row: number; + col: number; + card: CardValue; +} + +interface RowProp { + rowPos: number; + row: CardValue[]; +} + +type Action = + | { type: "move"; row: number; col: number } + | { type: "flipBack" } + | { type: "reset" }; + +interface Position { + row: number; + col: number; +} + +interface GameState { + board: CardValue[][]; + open: Position[]; // cards currently face-up but not yet decided (max 2) + busy: boolean; // UI locked while we wait to flip cards back +} + +/* āāāāāāāāāāāāāāāāāāāā Helpers āāāāāāāāāāāāāāāāāāāā */ +const shuffle = <T,>(arr: T[]): T[] => + [...arr].sort(() => Math.random() - 0.5); + +const makeBoard = (): CardValue[][] => { + // two of each from 1-10, then shuffle and slice into 4Ć5 + const values = shuffle( + Array.from({ length: 10 }, (_, i) => i + 1).flatMap((v) => [v, v]) + ); + + return Array.from({ length: 4 }, (_, r) => + Array.from({ length: 5 }, (_, c) => ({ + value: values[r * 5 + c], + isFacing: false, + isSolved: false, + })) + ); +}; + +/* āāāāāāāāāāāāāāāāāāāā Context āāāāāāāāāāāāāāāāāāāā */ +const BoardContext = createContext<React.Dispatch<Action> | null>(null); +const useBoardDispatch = () => { + const ctx = useContext(BoardContext); + if (!ctx) throw new Error("BoardContext missing"); + return ctx; +}; + +/* āāāāāāāāāāāāāāāāāāāā Reducer āāāāāāāāāāāāāāāāāāāā */ +const initial = (): GameState => ({ board: makeBoard(), open: [], busy: false }); + +function reducer(state: GameState, action: Action): GameState { + switch (action.type) { + case "reset": + return initial(); + + case "flipBack": { + // hide the two open cards + const [a, b] = state.open; + const nextBoard = state.board.map((row, r) => + row.map((card, c) => + (r === a.row && c === a.col) || (r === b.row && c === b.col) + ? { ...card, isFacing: false } + : card + ) + ); + return { board: nextBoard, open: [], busy: false }; + } + + case "move": { + if (state.busy) return state; // ignore clicks while waiting + + const { row, col } = action; + const target = state.board[row][col]; + if (target.isFacing || target.isSolved) return state; + + // flip this one up + const nextBoard = state.board.map((r, ri) => + r.map((c, ci) => + ri === row && ci === col ? { ...c, isFacing: true } : c + ) + ); + const open = [...state.open, { row, col }]; + + if (open.length < 2) return { ...state, board: nextBoard, open }; + + // now we have two cards ā decide match / mismatch + const [a, b] = open; + const first = nextBoard[a.row][a.col]; + const second = nextBoard[b.row][b.col]; + + if (first.value === second.value) { + // match ā mark solved, leave face-up + const solvedBoard = nextBoard.map((r, ri) => + r.map((c, ci) => + (ri === a.row && ci === a.col) || (ri === b.row && ci === b.col) + ? { ...c, isSolved: true } + : c + ) + ); + return { board: solvedBoard, open: [], busy: false }; + } + + // mismatch ā leave them up temporarily, then flip back via effect + return { board: nextBoard, open, busy: true }; + } + + default: + return state; + } +} + +/* āāāāāāāāāāāāāāāāāāāā UI Components āāāāāāāāāāāāāāāāāāāā */ +const Card = ({ row, col, card }: CardProp) => { + const dispatch = useBoardDispatch(); + const style: React.CSSProperties = { + width: 60, + height: 80, + margin: 4, + fontSize: 24, + display: "flex", + alignItems: "center", + justifyContent: "center", + background: card.isSolved + ? "#8bc34a" + : card.isFacing + ? "#fff" + : "#90caf9", + cursor: card.isSolved ? "default" : "pointer", + borderRadius: 6, + userSelect: "none", + }; + return ( + <div style={style} onClick={() => dispatch({ type: "move", row, col })}> + {card.isFacing || card.isSolved ? card.value : "š "} + </div> + ); +}; + +const Row = ({ row, rowPos }: RowProp) => ( + <div style={{ display: "flex" }}> + {row.map((card, idx) => ( + <Card key={idx} row={rowPos} col={idx} card={card} /> + ))} + </div> +); + +/* āāāāāāāāāāāāāāāāāāāā Root component āāāāāāāāāāāāāāāāāāāā */ +export const MemoryGame = () => { + const [state, dispatch] = useReducer(reducer, undefined, initial); + + /* Handle āflipBackā after 1 s for a mismatch */ + useEffect(() => { + if (state.busy) { + const t = setTimeout(() => dispatch({ type: "flipBack" }), 1000); + return () => clearTimeout(t); + } + }, [state.busy]); + + /* Quick win detection */ + const solved = state.board.every((r) => r.every((c) => c.isSolved)); + + return ( + <> + <h3 style={{ textAlign: "center" }}> + {solved ? "š You won!" : "Memory Game"} + </h3> + <BoardContext.Provider value={dispatch}> + {state.board.map((row, idx) => ( + <Row key={idx} rowPos={idx} row={row} /> + ))} + </BoardContext.Provider> + + <div style={{ textAlign: "center", marginTop: 12 }}> + <button onClick={() => dispatch({ type: "reset" })}>Reset</button> + </div> + </> + ); +}; +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Connectfour/answer.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,141 @@ +import { + useReducer, createContext, useContext, memo, Dispatch +} from 'react' + +enum P { R = 'š“', Y = 'š”', _ = '' } + +type Board = P[][] // 6 rows Ć 7 cols +type Status = 'PLAYING' | 'TIE' | 'R_WON' | 'Y_WON' + +type Action = + | { type: 'DROP'; col: number } + | { type: 'RESET' } + +interface State { + board: Board + turn: P.R | P.Y + status: Status +} + +const ROWS = 6, COLS = 7 +const emptyBoard = (): Board => + Array.from({ length: ROWS }, () => Array(COLS).fill(P._)) + +const init: State = { board: emptyBoard(), turn: P.R, status: 'PLAYING' } + +function firstEmptyRow(board: Board, col: number): number | null { + for (let r = ROWS - 1; r >= 0; r--) if (board[r][col] === P._) return r + return null +} + +function scanWinner(b: Board): Status { + const lines = [ + [ 1, 0], [0, 1], // vertical, horizontal + [ 1, 1], [1, -1], // two diagonals + ] + for (let r = 0; r < ROWS; r++) + for (let c = 0; c < COLS; c++) + if (b[r][c] !== P._) + for (const [dr, dc] of lines) + if ( + b[r + dr]?.[c + dc] === b[r][c] && + b[r + 2*dr]?.[c + 2*dc] === b[r][c] && + b[r + 3*dr]?.[c + 3*dc] === b[r][c] + ) + return b[r][c] === P.R ? 'R_WON' : 'Y_WON' + + return b.flat().every(p => p !== P._) ? 'TIE' : 'PLAYING' +} + + +function reducer(s: State, a: Action): State { + if (a.type === 'RESET') return init + if (s.status !== 'PLAYING') return s // game over + + const row = firstEmptyRow(s.board, a.col) + if (row == null) return s // full column + + // clone touched row only + const newRow = [...s.board[row]] + newRow[a.col] = s.turn + const newBoard = s.board.map((r, i) => (i === row ? newRow : r)) + + const nextTurn = s.turn === P.R ? P.Y : P.R + const status = scanWinner(newBoard) + + return { board: newBoard, turn: nextTurn, status } +} + +const DispatchCtx = createContext<Dispatch<Action> | null>(null) +const useGameDispatch = () => { + const d = useContext(DispatchCtx) + if (!d) throw new Error('outside provider') + return d +} + +/* ------- Leaf ------- */ +interface CellProps { v: P } +const Cell = memo<CellProps>(({ v }) => ( + <div style={{ + width: 52, height: 52, margin: 2, borderRadius: '50%', + background: '#0e2a5a', display: 'grid', placeItems: 'center', + fontSize: 30 + }}> + {v} + </div> +)) + +/* ------- Column button ------- */ +const ColBtn = ({ col }: { col: number }) => { + const dispatch = useGameDispatch() + return ( + <button + style={{ flex: 1, height: 20, cursor: 'pointer' }} + onClick={() => dispatch({ type: 'DROP', col })} + /> + ) +} + +/* ------- Board ------- */ +const BoardView = memo(({ board }: { board: Board }) => ( + <div> + {/* clickable top buttons */} + <div style={{ display: 'flex' }}> + {Array.from({ length: COLS }, (_, c) => <ColBtn key={c} col={c} />)} + </div> + + {/* grid */} + {board.map((row, r) => ( + <div key={r} style={{ display: 'flex' }}> + {row.map((v, c) => <Cell key={c} v={v} />)} + </div> + ))} + </div> +)) + +function ConnectFour() { + const [state, dispatch] = useReducer(reducer, init) + + return ( + <DispatchCtx.Provider value={dispatch}> + <h2 style={{ textAlign: 'center' }}> + {state.status === 'PLAYING' && `Turn: ${state.turn}`} + {state.status === 'TIE' && 'Tie game'} + {state.status === 'R_WON' && 'Red wins!'} + {state.status === 'Y_WON' && 'Yellow wins!'} + </h2> + + <BoardView board={state.board} /> + + {state.status !== 'PLAYING' && ( + <button style={{ marginTop: 16 }} onClick={() => dispatch({ type: 'RESET' })}> + Play again + </button> + )} + </DispatchCtx.Provider> + ) +} + +export { + ConnectFour, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Connectfour/latest.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,219 @@ +import { CSSProperties, memo, useCallback, useReducer } from "react"; +import ReactDOM from "react-dom/client"; + +/** + * Connect4 game is also known as Four Up, Plot Four, Find Four, Captainās Mistress, Four in a Row, Drop Four, and Gravitrips in the Soviet Union. + * It is a two-player connection board game, in which the players choose a color and then take turns dropping colored discs into a seven-column, six-row vertically suspended grid. + * There could be human and bot players. + * The pieces fall straight down, occupying the lowest available space within the column. + * The objective of the game is to be the first to form a horizontal, vertical, or diagonal line of four of oneās own discs. Connect Four is a solved game. + * The first player can always win by playing the right moves. + * + */ + +interface Cell { + value: CellValue; + isHighlighted: boolean; +} + +type CellValue = Player | ""; + +type Board = Cell[][]; + +enum Player { + RED="š“", + BLUE="šµ", +} + +enum GameStatus { + PLAYABLE = "Your Turn!", + RED_WON = "RED WON!", + BLUE_WON = "BLUE WON!", +} + +interface GameState { + board: Board; + player: Player; + status: GameStatus; +} + +const MAX_ROW = 6; +const MAX_COL = 7; + +const constructGameState = (): GameState => { + return { + board: Array.from( + { length: MAX_ROW }, () => + Array.from({ length: MAX_COL }, (): Cell => ({ value: "", isHighlighted: false }) )), + player: Player.RED, + status: GameStatus.PLAYABLE + } +} + +interface CellComponentProp { + cell: Cell; + placeDispatch: (col: number) => void; + col: number; +} + +interface StylesProp { + board: CSSProperties; + cell: (isHighlighted: boolean) => CSSProperties; + circle: CSSProperties; +} + +const styles: StylesProp = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`, + width: 600, + }, + cell: (isHighlighted: boolean) => ({ + width: "100%", + display: "flex", + justifyContent: "center", + alignItems: "center", + aspectRatio: "1 / 1", + border: "1px solid black", + backgroundColor: isHighlighted ? "blue": "lightblue", + }), + circle: { + width: "60%", + borderRadius: 50, + backgroundColor: "aqua", + aspectRatio: "1 / 1", + display: "flex", + justifyContent: "center", + alignItems: "center", + } +} + +type Action = + | { type: "place", col: number } + | { type: "reset" }; + + +const DIRECTION = [ + [0, 1], + [1, 0], + [1, 1], + [1, -1], +] +const calculateGameStatus = (board: Board): { status: GameStatus, winningIndex: number[][] } => { + for (let rowIdx = 0; rowIdx < MAX_ROW; rowIdx++) { + for (let colIdx = 0; colIdx < MAX_COL; colIdx++) { + if (board[rowIdx][colIdx].value === "") continue; + + for (const [dr, dc] of DIRECTION) { + if ( + board[rowIdx][colIdx].value === board[rowIdx+dr]?.[colIdx+dc]?.value && + board[rowIdx][colIdx].value === board[rowIdx+(dr*2)]?.[colIdx+(dc*2)]?.value && + board[rowIdx][colIdx].value === board[rowIdx+(dr*3)]?.[colIdx+(dc*3)]?.value + ) { + return { + status: board[rowIdx][colIdx].value === Player.RED ? GameStatus.RED_WON : GameStatus.BLUE_WON, + winningIndex: [ + [rowIdx,colIdx], + [rowIdx+dr,colIdx+dc], + [rowIdx+(dr*2),colIdx+(dc*2)], + [rowIdx+(dr*3),colIdx+(dc*3)], + ] + } + } + } + } + } + + return { + status: GameStatus.PLAYABLE, + winningIndex: [] + } +} + +const gameStateReducer = (state: GameState, action: Action): GameState => { + if (state.status !== GameStatus.PLAYABLE) return state; + + switch(action.type) { + case "place": { + let selectedRow: number = -1 + for (let rowIdx = MAX_ROW - 1; rowIdx >= 0; rowIdx--) { + if (state.board[rowIdx][action.col].value === "") { + selectedRow = rowIdx; + break; + } + } + if (selectedRow === -1) return state; + let board = state.board.map( + (row, rowIdx) => rowIdx === selectedRow ? + row.map((col, colIdx) => + colIdx === action.col ? { ...col, value: state.player } : col) : row + ); + const player = Player.RED === state.player ? Player.BLUE : Player.RED; + const {status, winningIndex} = calculateGameStatus(board); + if (winningIndex.length > 0) { + board = board.map( + (row, rowIdx) => + row.map((col, colIdx): Cell => + winningIndex.some( + ([r, c]) => (rowIdx === r && colIdx === c)) ? + { ...col, isHighlighted: true } : col + ) + ); + } + return { + board, + player, + status, + }; + } + case "reset": + return constructGameState(); + } +} + +const CellComponent = memo(({cell, col, placeDispatch}: CellComponentProp) => { + const handleOnClick = useCallback(() => { + placeDispatch(col); + },[col, placeDispatch]); + + return ( + <div style={styles.cell(cell.isHighlighted)} onClick={handleOnClick}> + <div style={styles.circle}> + {cell.value} + </div> + </div> + ) +}) + +const ConnectFour = () => { + const [state, dispatch] = useReducer(gameStateReducer, null, constructGameState); + + const placeDispatch = useCallback( + (col: number) => { + dispatch({type: "place", col}) + }, [dispatch]); + + return ( + <> + <h1> {state.status} </h1> + {state.status === GameStatus.PLAYABLE &&(<h2> {state.player} </h2>)} + <div style={styles.board}> + {state.board.map( + (row, rowIdx) => row.map( + (cell, colIdx) => ( + <CellComponent + key={`${rowIdx}-${colIdx}`} + cell={cell} + col={colIdx} + placeDispatch={placeDispatch}/> + ) + ) + )} + </div> + </> + ) +} + +export { + ConnectFour +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Connectfour/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,141 @@ +import { + useReducer, createContext, useContext, memo, Dispatch +} from 'react' + +enum P { R = 'š“', Y = 'š”', _ = '' } + +type Board = P[][] // 6 rows Ć 7 cols +type Status = 'PLAYING' | 'TIE' | 'R_WON' | 'Y_WON' + +type Action = + | { type: 'DROP'; col: number } + | { type: 'RESET' } + +interface State { + board: Board + turn: P.R | P.Y + status: Status +} + +const ROWS = 6, COLS = 7 +const emptyBoard = (): Board => + Array.from({ length: ROWS }, () => Array(COLS).fill(P._)) + +const init: State = { board: emptyBoard(), turn: P.R, status: 'PLAYING' } + +function firstEmptyRow(board: Board, col: number): number | null { + for (let r = ROWS - 1; r >= 0; r--) if (board[r][col] === P._) return r + return null +} + +function scanWinner(b: Board): Status { + const lines = [ + [ 1, 0], [0, 1], // vertical, horizontal + [ 1, 1], [1, -1], // two diagonals + ] + for (let r = 0; r < ROWS; r++) + for (let c = 0; c < COLS; c++) + if (b[r][c] !== P._) + for (const [dr, dc] of lines) + if ( + b[r + dr]?.[c + dc] === b[r][c] && + b[r + 2*dr]?.[c + 2*dc] === b[r][c] && + b[r + 3*dr]?.[c + 3*dc] === b[r][c] + ) + return b[r][c] === P.R ? 'R_WON' : 'Y_WON' + + return b.flat().every(p => p !== P._) ? 'TIE' : 'PLAYING' +} + + +function reducer(s: State, a: Action): State { + if (a.type === 'RESET') return init + if (s.status !== 'PLAYING') return s // game over + + const row = firstEmptyRow(s.board, a.col) + if (row == null) return s // full column + + // clone touched row only + const newRow = [...s.board[row]] + newRow[a.col] = s.turn + const newBoard = s.board.map((r, i) => (i === row ? newRow : r)) + + const nextTurn = s.turn === P.R ? P.Y : P.R + const status = scanWinner(newBoard) + + return { board: newBoard, turn: nextTurn, status } +} + +const DispatchCtx = createContext<Dispatch<Action> | null>(null) +const useGameDispatch = () => { + const d = useContext(DispatchCtx) + if (!d) throw new Error('outside provider') + return d +} + +/* ------- Leaf ------- */ +interface CellProps { v: P } +const Cell = memo<CellProps>(({ v }) => ( + <div style={{ + width: 52, height: 52, margin: 2, borderRadius: '50%', + background: '#0e2a5a', display: 'grid', placeItems: 'center', + fontSize: 30 + }}> + {v} + </div> +)) + +/* ------- Column button ------- */ +const ColBtn = ({ col }: { col: number }) => { + const dispatch = useGameDispatch() + return ( + <button + style={{ flex: 1, height: 20, cursor: 'pointer' }} + onClick={() => dispatch({ type: 'DROP', col })} + /> + ) +} + +/* ------- Board ------- */ +const BoardView = memo(({ board }: { board: Board }) => ( + <div> + {/* clickable top buttons */} + <div style={{ display: 'flex' }}> + {Array.from({ length: COLS }, (_, c) => <ColBtn key={c} col={c} />)} + </div> + + {/* grid */} + {board.map((row, r) => ( + <div key={r} style={{ display: 'flex' }}> + {row.map((v, c) => <Cell key={c} v={v} />)} + </div> + ))} + </div> +)) + +function ConnectFour() { + const [state, dispatch] = useReducer(reducer, init) + + return ( + <DispatchCtx.Provider value={dispatch}> + <h2 style={{ textAlign: 'center' }}> + {state.status === 'PLAYING' && `Turn: ${state.turn}`} + {state.status === 'TIE' && 'Tie game'} + {state.status === 'R_WON' && 'Red wins!'} + {state.status === 'Y_WON' && 'Yellow wins!'} + </h2> + + <BoardView board={state.board} /> + + {state.status !== 'PLAYING' && ( + <button style={{ marginTop: 16 }} onClick={() => dispatch({ type: 'RESET' })}> + Play again + </button> + )} + </DispatchCtx.Provider> + ) +} + +export { + ConnectFour, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Games.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,147 @@ +import ReactDOM from 'react-dom/client'; +import React, { CSSProperties, lazy, LazyExoticComponent, Suspense, useEffect, useState } from "react"; + +const LazyTicTacToe = lazy(() => import("./Tictactoe/main.tsx").then(m => ({ default: m.TicTacToe }))); +const LazyConnectFour = lazy(() => import("./Connectfour/main.tsx").then(m => ({ default: m.ConnectFour }))); +const LazyMemoryGame = lazy(() => import("./CardMatchiing/main.tsx").then(m => ({ default: m.MemoryGame }))); +const LazyLightsOut = lazy(() => import("./LightsOut/main.tsx").then(m => ({ default: m.LightsOut }))); +const LazyWordle = lazy(() => import("./Wordle/main.tsx").then(m => ({ default: m.Wordle }))); +const LazyMinesweeper = lazy(() => import("./Minesweeper/main.tsx").then(m => ({ default: m.Minesweeper }))); + + + +const wrapperStyle: CSSProperties = { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + minHeight: '100vh', + fontFamily: 'system-ui, sans-serif', +}; + +const menuStyle: CSSProperties = { + listStyle: 'none', + padding: 0, + margin: '2rem auto', + width: 280, + display: 'flex', + flexDirection: 'column', + gap: '1rem', + cursor: 'pointer', +}; + +const menuItemStyle: CSSProperties = { + padding: '0.75rem 1rem', + borderRadius: 8, + background: '#f3f4f6', + textAlign: 'center', + transition: 'background 120ms', +}; + +type ComponentLabels = + | "tictactoe" + | "connectfour" + | "memorygame" + | "lightsout" + | "wordle" + | "minesweeper" + +interface ComponentData { + LazyComponent: LazyExoticComponent<() => React.ReactNode>; + title: string; +} + +const gameMap: (Record<ComponentLabels, ComponentData>) = { + tictactoe: { + LazyComponent: LazyTicTacToe, + title: "TicTacToe", + }, + connectfour: { + LazyComponent: LazyConnectFour, + title: "Connect Four", + }, + memorygame: { + LazyComponent: LazyMemoryGame, + title: "Memory Game", + }, + lightsout: { + LazyComponent: LazyLightsOut, + title: "Lights out", + }, + wordle: { + LazyComponent: LazyWordle, + title: "Wordle", + }, + minesweeper: { + LazyComponent: LazyMinesweeper, + title: "Minesweeper", + }, +} + +type GameKey = ComponentLabels | null; + +const BASE = "/games"; +const Games = () => { + const getKey = (p: string): GameKey => { + const m = p.match(/^\/games\/?([^/]+)?/i); + const k = (m?.[1] || '').toLowerCase() as GameKey; + return k && k in gameMap ? k : null; + }; + + const [game, setGame] = useState<GameKey>(() => getKey(location.pathname)); + + useEffect(() => { + const onPop = () => setGame(getKey(location.pathname)); + addEventListener('popstate', onPop); + return () => removeEventListener('popstate', onPop); + }, []); + + useEffect(() => { + history.pushState(null, '', game ? `${BASE}/${game}` : BASE); + }, [game]); + + const selected = game ? gameMap[game] : null; + + return ( + <main style={wrapperStyle}> + <section> + <h1 style={{ textAlign: "center" }}>MAI React Playground</h1> + + {selected?.LazyComponent ? ( + <Suspense fallback={<div>loading...</div>}> + <div style={ + { + display: "flex", + flexDirection: "column", + justifyContent: "center", + alignItems: "center", + gap: 10, + }}> + <selected.LazyComponent /> + </div> + </Suspense> + ) : ( + <ul style={menuStyle}> + {Object.entries(gameMap).map(([key, value]) => ( + <li key={key} style={menuItemStyle} onClick={() => setGame(key as GameKey)}> + {value.title} + </li> + ))} + </ul> + )} + + {game && ( + <button style={{ display: "flex", flexDirection: "column", justifyContent: "center", alignItems: "cetner", margin: "1.5rem auto 0" }} onClick={() => setGame(null)}> + Back to menu + </button> + )} + + </section> + </main> + ); +}; + +export { + Games, +} + +ReactDOM.createRoot(document.getElementById('root')!).render(<Games />);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/LightsOut/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,164 @@ +import { ActionDispatch, CSSProperties, memo, useCallback, useReducer } from 'react'; + +/** + * create lights out game + * + * - 5 x 5 grid + * - when click it will turn on lights on top left right bottom. + * - count number of moves + * - timers + * - when every thing is on then tthey win + */ + +interface Cell { + value: boolean; // true on and false off. +} + +type Board = Cell[][]; + +enum GameStatus { + PLAYABLE, + WON, +} + +interface GameState { + board: Board; + status: GameStatus; + moves: number; +} + +const MAX_COL = 5; +const MAX_ROW = 5; +const DIRECTION = [ + [0, 0], + [0, 1], + [1, 0], + [0, -1], + [-1, 0], +] +const constructGameState = (): GameState => { + const board = Array.from( + { length: MAX_ROW }, + () => Array.from({ length: MAX_COL}, + () => ({ value: false }) + ) + ); + + for (let i = 0; i < 30; i++) { + const r = Math.floor(Math.random() * MAX_ROW); + const c = Math.floor(Math.random() * MAX_COL); + for (const [dr, dc] of DIRECTION) { + if (board[r+dr]?.[c+dc]) { + board[r+dr][c+dc].value = !board[r+dr]?.[c+dc].value + } + } + } + return { + board, + status: GameStatus.PLAYABLE, + moves: 0, + } +} + + +interface Styles { + board: CSSProperties; + cell: (isLightOn: boolean) => CSSProperties; +} + +const styles: Styles = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`, + width: MAX_COL * 30, + }, + cell: (isLightOn: boolean) => ({ + width: "100%", + aspectRatio: "1 / 1", + border: `1px solid #222`, + backgroundColor: isLightOn ? "white" : "black", + transition: "background-color 120ms ease", + cursor: "pointer", + }) +} + +interface CellComponentProp { + cellValue: Cell; + rowPos: number; + colPos: number; + dispatch: ActionDispatch<[action: Action]>; +} + +const CellComponent = memo(({ cellValue, rowPos, colPos, dispatch }: CellComponentProp) => { + const onClickHandler = useCallback(()=>{ + dispatch({type: "place", newRowPos: rowPos, newColPos: colPos}); + }, [rowPos, colPos, dispatch]); + + return ( + <div onClick={onClickHandler} style={styles.cell(cellValue.value)}></div> + ) +}) + +type Action = + | { type: "place", newRowPos: number, newColPos: number } + | { type: "reset" } + +const gameStateReducer = (state: GameState, action: Action): GameState => { + if (state.status === GameStatus.WON) return state; + switch(action.type) { + case "place": + const allDirection: number[][] = []; + for (const [dr, dc] of DIRECTION) { + allDirection.push([action.newRowPos + dr, action.newColPos + dc]); + } + const newBoard: Board = state.board.map( + (row, rowIdx) => + row.map((col, colIdx) => + (allDirection.some( + ([nr, nc]) => rowIdx === nr && colIdx === nc + )) ? { ...col, value: !col.value } : col) + ) + const newStatus = + (newBoard.flat().filter((cell) => cell.value).length === MAX_COL * MAX_ROW) ? + GameStatus.WON : GameStatus.PLAYABLE; + + return { + ...state, + status: newStatus, + board: newBoard, + moves: state.moves + 1, + }; + case "reset": + return constructGameState(); + } +} + +const LightsOut = () => { + const [gameState, dispatch] = useReducer(gameStateReducer, null, constructGameState); + return ( + <> + <h1> Game Status {gameState.status}</h1> + <h2> Number of moves so far {gameState.moves}</h2> + <div style={styles.board}> + { + gameState.board.map( + (row, rowIdx) => + row.map( + (cellValue, colIdx) => + (<CellComponent + key={`${rowIdx}-${colIdx}`} + cellValue={cellValue} + rowPos={rowIdx} + colPos={colIdx} + dispatch={dispatch}/>) + ) + ) + } + </div> + </> + ); +} + +export { + LightsOut +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Minesweeper/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,285 @@ +import { CSSProperties, memo, useCallback, useReducer } from 'react'; + +/** + * + * Build a simplified Minesweeper game in React where the user can click cells to reveal them. + * Some cells contain mines, others show the number of adjacent mines. + * If a cell with zero adjacent mines is revealed, all connected zero-cells should be revealed + * automatically. + * The game ends if a mine is revealed, and the player wins if all non-mine cells are revealed. + * + * The board should be 10Ć10. + * + * Clicking a cell reveals it: + * + * If itās a mine, the game ends with a āGame Overā message. + * + * If itās not a mine, show the number of adjacent mines (0ā8). + * + * If the number is 0, automatically reveal all connected empty cells and their numbered border. + * + * The player wins when all non-mine cells are revealed. + * + * Include a Reset button to restart the game with a new random layout. + * + * Optional: Allow right-clicking a cell to toggle a flag icon (to mark suspected mines). + */ + +enum CellValue { + EMPTY, + BOMB, +} + +interface Cell { + value: CellValue; + numberOfAdjacentBomb: number; + isShown: boolean; + isFlag: boolean, +} + + +type Board = Cell[][]; + +enum GameStatus { + PLAYABLE="Reveal all the map while not clicking on mine", + WON="YOU WON", + LOST="YOU LOST" +} + +interface GameState { + board: Board; + status: GameStatus; +} + +const MAX_SIZE_LEN = 10; +const N_BOMBS = 10; +const DIRECTION = [ + [0,1], + [1,1], + [1,0], + [1,-1], + [0,-1], + [-1,-1], + [-1,0], + [-1,1], +] + +const constructGameState = (): GameState => { + let board: Board = Array.from( + { length: MAX_SIZE_LEN }, () => Array.from( + { length: MAX_SIZE_LEN }, (): Cell => ( + { + value: CellValue.EMPTY, numberOfAdjacentBomb: 0, isShown: false , + isFlag: false, + }) + ) + ); + + // Place the bombs + let placedBomb = 0; + const bombPlacments: number[][] = []; + while (placedBomb < N_BOMBS) { + const bombRowIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + const bombColIdx = Math.floor(Math.random() * MAX_SIZE_LEN); + if (board[bombRowIdx][bombColIdx].value === CellValue.EMPTY) { + board[bombRowIdx][bombColIdx] = { + ...board[bombRowIdx][bombColIdx], + value: CellValue.BOMB, + } + placedBomb++; + bombPlacments.push([bombRowIdx, bombColIdx]); + } + } + + // Find all adjacent cells and add values + for (const [bombR, bombC] of bombPlacments) { + for (const [dr, dc] of DIRECTION) { + if (board[bombR+dr]?.[bombC+dc]?.value === CellValue.EMPTY) { + board[bombR+dr][bombC+dc] = { + ...board[bombR+dr][bombC+dc], + numberOfAdjacentBomb: board[bombR+dr][bombC+dc].numberOfAdjacentBomb + 1 + } + } + } + } + + return { + board, + status: GameStatus.PLAYABLE, + } +} + +enum GameActionEnum { + CHECK, + RESET, + FLAG, +} + +interface Position { + row: number; + col: number; +} + +type GameAction = + | { type: GameActionEnum.CHECK, position: Position } + | { type: GameActionEnum.FLAG, position: Position } + | { type: GameActionEnum.RESET } + +const gameStateReducer = (state: GameState, action: GameAction): GameState => { + switch(action.type) { + case GameActionEnum.CHECK: + const {position} = action; + const board = state.board.map(row=>row.map(col=>({...col}))); + const start = board[position.row][position.col]; + + if (start.value === CellValue.BOMB) { + for (const row of board) for (const cell of row) cell.isShown = true; + return { board, status: GameStatus.LOST }; + } + + if (!start.isShown) start.isShown = true; + + if (start.numberOfAdjacentBomb === 0) { + const q: Position[] = [position]; + while (q.length) { + const { row, col } = q.shift()!; + for (const [dr, dc] of DIRECTION) { + const r = row + dr, c = col + dc; + const n = board[r]?.[c]; + if (!n || n.isShown || n.value === CellValue.BOMB) continue; + n.isShown = true; + if (n.numberOfAdjacentBomb === 0) q.push({ row: r, col: c }); + } + } + } + + const hidden = board.flat().filter(c => !c.isShown).length; + const status = hidden === N_BOMBS ? GameStatus.WON : GameStatus.PLAYABLE; + return { board, status }; + + case GameActionEnum.FLAG: + const newBoard = state.board.map( + (row, rowIdx) => rowIdx === action.position.row ? + row.map( + (col, colIdx): Cell => + colIdx === action.position.col ? + ({...col, isFlag: true }) : col + ) : row + ); + console.log(newBoard); + return { + ...state, + board: newBoard, + } + case GameActionEnum.RESET: + return constructGameState(); + } +} + +interface StylesProp { + board: CSSProperties; + cell: CSSProperties; +} + +const styles: StylesProp = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_SIZE_LEN}, 1fr)`, + width: 400, + }, + cell: { + display: "flex", + justifyContent: "center", + alignItems: "center", + width: "100%", + aspectRatio: "1 / 1", + border: "1px solid black", + backgroundColor: "#e6e6e6" + } +} + +interface CellComponentProp { + cellValue: Cell; + row: number; + col: number; + placeDispatch: (row: number, col: number) => void; + flagDispatch: (row: number, col: number) => void; +} + +const CellComponent = memo(({ + cellValue, row, + col, placeDispatch, + flagDispatch +}: CellComponentProp) => { + console.log("re-render"); + const handleOnClikck = useCallback(() => { + placeDispatch(row, col); + }, [row, col, placeDispatch]) + + const handleOnRightClikck = useCallback((event: React.MouseEvent<HTMLDivElement>) => { + event.preventDefault(); + flagDispatch(row, col); + }, [row, col, placeDispatch]) + + + return ( + <div + style={{ + ...styles.cell, + cursor: "pointer", + backgroundColor: cellValue.isShown ? "#fafafa" : "#e6e6e6", + }} + onClick={handleOnClikck} + onContextMenu={handleOnRightClikck} + > + {cellValue.isShown + ? cellValue.value === CellValue.BOMB + ? "š£" + : cellValue.numberOfAdjacentBomb || "" + : cellValue.isFlag + ? "š©" + : ""} + </div> + ) +}, (prev, next) => + prev.cellValue.isShown === next.cellValue.isShown && + prev.cellValue.isFlag === next.cellValue.isFlag) + +const Minesweeper = () => { + const [state, dispatch] = useReducer(gameStateReducer, null, constructGameState); + + const placeDispatch = useCallback( + (row: number, col: number) => { + dispatch({type: GameActionEnum.CHECK, position: { row, col }}) + }, [dispatch]) + + const flagDispatch = useCallback( + (row: number, col: number) => { + dispatch({type: GameActionEnum.FLAG, position: { row, col }}) + }, [dispatch]) + + return ( + <> + <h1> {state.status} </h1> + <div style={styles.board}> + {state.board.map( + (row, rowIdx) => row.map( + (cell, colIdx) => ( + <CellComponent + key={`${rowIdx}-${colIdx}`} + cellValue={cell} + row={rowIdx} + col={colIdx} + placeDispatch={placeDispatch} + flagDispatch={flagDispatch} />) + ) + )} + </div> + <button onClick={()=>{dispatch({type: GameActionEnum.RESET})}}> reset </button> + </> + ) +} + +export { + Minesweeper, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Robot/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,180 @@ +/** + * Scenario + * Design a miniature browser game in which a single ārobotā sprite navigates a + * rectangular grid to reach a goal while avoiding obstacles. Everythingāfrom bootstrapping the project + * to shipping a playable, restartable gameāmust be accomplished within one hour. + * + * + * Grid 10 x 10 + * Robot top left corner + * Obstical is going to be 10 + * + * one of the grid is going to be the goal + * + * Movement logic keyboard or WASD okay + */ + +import React, { CSSProperties, memo, useEffect, useReducer } from "react"; + +enum CellValue { + PLAYER, + GOAL, + OBSTICAL, + EMPTY +} + +interface Cell { + value: CellValue; +} + +interface RowProp { + rowValue: Cell[]; +} + +interface CellComponentProp { + cell: Cell; +} + +enum GameStatus { + PLAYABLE, + WON, +} + +interface RobotState { + x: number; + y: number, +} + +interface GameState { + board: Cell[][]; + status: GameStatus; + robotState: RobotState; +} + +enum GameActionType { + MOVE, + RESET, +} + +type GameAction = {type: GameActionType.MOVE, command: string } | { type: GameActionType.RESET } + +const MAX_WIDTH: number = 10; +const MAX_COLUMN: number = 10; +const BOARD: Cell[][] = Array.from( + { length: MAX_WIDTH }, + () => Array(MAX_COLUMN).fill({value: CellValue.EMPTY}) +); + +BOARD[0][0] = { + value: CellValue.PLAYER +} +BOARD[0][5] = { + value: CellValue.OBSTICAL +} +BOARD[6][5] = { + value: CellValue.GOAL +} + + +const getCellValue = (cell: Cell) => { + switch(cell.value) { + case CellValue.EMPTY: + return ( + <></> + ) + case CellValue.PLAYER: + return ( + <>š¤</> + ) + case CellValue.OBSTICAL: + return ( + <>š§±</> + ) + case CellValue.GOAL: + return ( + <>šŖ</> + ) + } +} + +const CellComponent = memo(({cell}: CellComponentProp) => { + const cellStyle: CSSProperties = { + padding: "10px", + width: "50px", + height: "50px", + border: "1px solid #ccc", + } + return ( + <div style={cellStyle}> + {getCellValue(cell)} + </div> + ) +}) + +const Row = memo(({rowValue}: RowProp) => { + const rowStyle: CSSProperties = { + display: "flex", + } + return ( + <div style={rowStyle}> + {rowValue.map((cell, idx) => {return <CellComponent key={idx} cell={cell} />})} + </div> + ) +}) + +function boardReducer(state: GameState, action: GameAction): GameState { + if (action.type === GameActionType.RESET) return INITIAL_GAME_STATE; + + const { x, y } = state.robotState; + let newX = x; + let newY = y; + + switch (action.command) { + case "W": newX = Math.max(0, x - 1); break; + case "A": newY = Math.max(0, y - 1); break; + case "S": newX = Math.min(MAX_WIDTH - 1, x + 1); break; + case "D": newY = Math.min(MAX_COLUMN - 1, y + 1); break; + default: return state; + } + + const newBoard = state.board.map(row => row.slice()); + + newBoard[x][y] = { value: CellValue.EMPTY }; // old spot + newBoard[newX][newY] = { value: CellValue.PLAYER }; // new spot + + return { + board: newBoard, + status: GameStatus.PLAYABLE, + robotState: { x: newX, y: newY }, + }; +} + +const INITIAL_GAME_STATE: GameState = { + board: BOARD, + status: GameStatus.PLAYABLE, + robotState: { x: 0, y: 0 }, +} + +const Current = () => { + const [state, dispatch] = useReducer(boardReducer, INITIAL_GAME_STATE); + + useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + dispatch({type: GameActionType.MOVE, command: event.key.toUpperCase()}) + }; + + document.addEventListener("keydown", handleKeyDown); + }, []) + + + + return ( + <> + {state.board.map((row, idx) => { return <Row key={idx} rowValue={row} />})} + </> + ); +} + +export { + Current +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/TODO/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,223 @@ +/* + * š React Todo App Challenge (1 Hour) + * āProblem + * Build a simple Todo application using React. The app should allow users to: + * + * - Add a new todo item. + * + * - Mark a todo as completed. + * + * - Delete a todo. + * + * Filter todos by: + * + * - All + * - Active + * - Completed + * + * š”Bonus (if time allows) + * Persist todos in localStorage. + * + * Use React Context + useReducer to manage global state. + * + * Add a clear completed button. + * + * š¦ Requirements + * Use functional components + hooks only. + * + * + * + * No styling is required, but if you have time, make it readable. + * + * Donāt use external state management libraries like Redux. + * + * Components + * + * TODOs + * Inputs + * buttons filtering + * + * TODO States + * - Active + * - Completed + * - Deleted + */ +import React, { CSSProperties, Dispatch, InputHTMLAttributes, memo, useMemo, useRef, useState } from "react"; + +enum TodoState { + ACTIVE="active", + COMPLETED="completed", + DELETED="deleted", +} + +interface Todo { + id: string; + value: string; + state: TodoState; +} + +const INITIAL_TODOS: Todo[] = [ + {id: "1", value: "I want to buy pizza", state: TodoState.ACTIVE}, + {id: "2", value: "I want to buy pizza completed", state: TodoState.COMPLETED}, + {id: "3", value: "I want to buy pizza deleted", state: TodoState.DELETED}, +] + +function changeStateTodo( + todoId: string, + todoState: TodoState, + setTodoCallback: Dispatch<React.SetStateAction<Todo[]>>, +): void { + setTodoCallback( + (todos: Todo[]) => todos.map((todo: Todo) => { + if (todo.id === todoId) { + return { + ...todo, + state: todoState + }; + } + return todo; + }) + ) +} + +interface TodoComponentProp { + todo: Todo; + setTodos: Dispatch<React.SetStateAction<Todo[]>>; +} + +const TodoComponent = memo(({todo, setTodos}: TodoComponentProp) => { + const tdStyle: CSSProperties = { + padding: "0.5rem", + borderBottom: "1px solid #ddd", + }; + + const rowStyle: CSSProperties = { + backgroundColor: "#fff", + }; + + return ( + <tr key={todo.id} style={rowStyle}> + <td style={tdStyle}>{todo.value}</td> + <td style={tdStyle}> + <span style={{ textTransform: "capitalize" }}>{todo.state}</span> + </td> + <td style={tdStyle}> + {todo.state !== TodoState.COMPLETED && ( + <button onClick={() => changeStateTodo(todo.id, TodoState.COMPLETED, setTodos)}> + ā + </button> + )} + {todo.state !== TodoState.DELETED && ( + <button onClick={() => changeStateTodo(todo.id, TodoState.DELETED, setTodos)}> + šļø + </button> + )} + {todo.state !== TodoState.ACTIVE && ( + <button onClick={() => changeStateTodo(todo.id, TodoState.ACTIVE, setTodos)}> + š¢ + </button> + )} + </td> + </tr> + ) +}) + +const TODO = () => { + const [todos, setTodos] = useState<Todo[]>(INITIAL_TODOS); + const [todoFilter, setTodoFilters] = useState<TodoState | null>(null); + const inputRef = useRef<HTMLInputElement>(null); + + const style: CSSProperties = { + display: "flex", + justifyContent: "center", + alignItems: "center", + height: "100vh", + width: "100vw", + } + + const filterTodos = useMemo(() => { + return todoFilter ? todos.filter((t) => t.state === todoFilter) : todos; + }, [todos, todoFilter]); + + const handleCreateTodo = (event: React.FormEvent) => { + event.preventDefault(); + const input = inputRef.current; + if (!input || !input.value.trim()) return; + + const newValue = input.value.trim(); + setTodos( + (todos) => [ + ...todos, + { + value: newValue, + id: crypto.randomUUID(), + state: TodoState.ACTIVE + } + ] + ); + input.value = ""; + } + + const thStyle: CSSProperties = { + textAlign: "left", + padding: "0.5rem", + backgroundColor: "#f0f0f0", + borderBottom: "2px solid #ddd", + }; + + const buttonStyle = (isActive: boolean): CSSProperties => { + return { + padding: "0.5rem 1rem", + borderRadius: "6px", + border: "1px solid #ccc", + backgroundColor: isActive ? "#efefef" : "#fff", + marginBottom: "1rem", + } + }; + + return ( + <div style={style}> + <div> + <h1> TODOs: </h1> + <h2> Filter by: {todoFilter != null ? todoFilter : "All"} </h2> + <div style={{display: "flex", width: "100%", justifyContent: "space-between"}}> + <button style={buttonStyle(todoFilter===TodoState.ACTIVE)} onClick={() => setTodoFilters(TodoState.ACTIVE)}> Active </button> + <button style={buttonStyle(todoFilter===TodoState.DELETED)} onClick={() => setTodoFilters(TodoState.DELETED)}> Deleted </button> + <button style={buttonStyle(todoFilter===TodoState.COMPLETED)} onClick={() => setTodoFilters(TodoState.COMPLETED)}> Completed </button> + <button style={buttonStyle(todoFilter===null)} onClick={() => setTodoFilters(null)}> ALL </button> + </div> + <table style={{ borderCollapse: "collapse", width: "100%", marginBottom: "1rem" }}> + <thead> + <tr> + <th style={thStyle}>Task</th> + <th style={thStyle}>Status</th> + <th style={thStyle}>Action</th> + </tr> + </thead> + <tbody> + { + filterTodos.map((todo) => ( + <TodoComponent key={todo.id} todo={todo} setTodos={setTodos}/> + )) + } + </tbody> + </table> + <form onSubmit={handleCreateTodo}> + <input ref={inputRef} placeholder={"Add a new todo..."} style={{ + padding: "0.5rem", + border: "1px solid #ccc", + borderRadius: "4px", + width: "300px", + marginRight: "0.5rem", + }} + /> + <button type="submit" style={{ padding: "0.5rem 1rem", borderRadius: "4px" }}>Add</button> + </form> + </div> + </div> + ); +} + +export { + TODO +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Tictactoe/example.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,115 @@ +import { useState } from 'react'; + +function Square({ value, onSquareClick }) { + return ( + <button className="square" onClick={onSquareClick}> + {value} + </button> + ); +} + +function Board({ xIsNext, squares, onPlay }) { + function handleClick(i) { + if (calculateWinner(squares) || squares[i]) { + return; + } + const nextSquares = squares.slice(); + if (xIsNext) { + nextSquares[i] = 'X'; + } else { + nextSquares[i] = 'O'; + } + onPlay(nextSquares); + } + + const winner = calculateWinner(squares); + let status; + if (winner) { + status = 'Winner: ' + winner; + } else { + status = 'Next player: ' + (xIsNext ? 'X' : 'O'); + } + + return ( + <> + <div className="status">{status}</div> + <div className="board-row"> + <Square value={squares[0]} onSquareClick={() => handleClick(0)} /> + <Square value={squares[1]} onSquareClick={() => handleClick(1)} /> + <Square value={squares[2]} onSquareClick={() => handleClick(2)} /> + </div> + <div className="board-row"> + <Square value={squares[3]} onSquareClick={() => handleClick(3)} /> + <Square value={squares[4]} onSquareClick={() => handleClick(4)} /> + <Square value={squares[5]} onSquareClick={() => handleClick(5)} /> + </div> + <div className="board-row"> + <Square value={squares[6]} onSquareClick={() => handleClick(6)} /> + <Square value={squares[7]} onSquareClick={() => handleClick(7)} /> + <Square value={squares[8]} onSquareClick={() => handleClick(8)} /> + </div> + </> + ); +} + +export default function Game() { + const [history, setHistory] = useState([Array(9).fill(null)]); + const [currentMove, setCurrentMove] = useState(0); + const xIsNext = currentMove % 2 === 0; + const currentSquares = history[currentMove]; + + function handlePlay(nextSquares) { + const nextHistory = [...history.slice(0, currentMove + 1), nextSquares]; + setHistory(nextHistory); + setCurrentMove(nextHistory.length - 1); + } + + function jumpTo(nextMove) { + setCurrentMove(nextMove); + } + + const moves = history.map((squares, move) => { + let description; + if (move > 0) { + description = 'Go to move #' + move; + } else { + description = 'Go to game start'; + } + return ( + <li key={move}> + <button onClick={() => jumpTo(move)}>{description}</button> + </li> + ); + }); + + return ( + <div className="game"> + <div className="game-board"> + <Board xIsNext={xIsNext} squares={currentSquares} onPlay={handlePlay} /> + </div> + <div className="game-info"> + <ol>{moves}</ol> + </div> + </div> + ); +} + +function calculateWinner(squares) { + const lines = [ + [0, 1, 2], + [3, 4, 5], + [6, 7, 8], + [0, 3, 6], + [1, 4, 7], + [2, 5, 8], + [0, 4, 8], + [2, 4, 6], + ]; + for (let i = 0; i < lines.length; i++) { + const [a, b, c] = lines[i]; + if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) { + return squares[a]; + } + } + return null; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Tictactoe/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,214 @@ +import { CSSProperties, memo, useCallback, useReducer } from 'react'; + +enum GameStatus { + PLAYABLE, + WON, + TIE, +} + +enum Player { + O = "O", + X = "X", +} + +type CellValue = Player | ""; + +interface Cell { + value: CellValue; + isWonSquare: boolean; +} + +type Board = Cell[][] + +interface GameState { + board: Board; + status: GameStatus; + player: Player; + winner?: Player | null; +} + +const MAX_ROW = 3; +const MAX_COL = 3; + +const getInitialGameState = (): GameState => { + return { + board: Array.from({ length: MAX_ROW }, + () => Array(MAX_COL).fill( + { + value: "", + isWonSquare: false, + }) as Cell[], + ), + status: GameStatus.PLAYABLE, + player: Player.X, + } +}; + +interface CellComponentProp { + cell: Cell; + row: number; + col: number; + moveDispatch: (r: number, c: number) => void; +} + +const cellCssStyle = (isWinningSquare: boolean): CSSProperties => ({ + display: "flex", + justifyContent: "center", + alignItems: "center", + width: "100%", + aspectRatio: "1 / 1", + background: isWinningSquare ? "blue" : "lightblue", + border: "1px solid black" +}) + +const CellComponent = memo(({ cell, row, col, moveDispatch }: CellComponentProp) => { + const handleOnClick = useCallback(() => { + moveDispatch(row, col); + }, [row,col]) + return ( + <div style={cellCssStyle(cell.isWonSquare)} onClick={handleOnClick}> + {cell.value} + </div> + ) +}) + +const boardCssStyle: CSSProperties = { + display: "grid", + gridTemplateColumns: `repeat(${MAX_COL}, 1fr)`, + width: 500, +} + +enum ActionType { + PLACE, + RESET, +}; + +type Action = + | { type: ActionType.PLACE, row: number, col: number } + | { type: ActionType.RESET }; + + +type GameStatusAndPosition = + | { newStatus: GameStatus.WON, winningPositions: number[][]} + | { newStatus: GameStatus.TIE } + | { newStatus: GameStatus.PLAYABLE } + + +const getGameStatus = (board: Board): GameStatusAndPosition => { + const direction = [ + [0, 1], + [1, 0], + [1, 1], + [1, -1], + ]; + let numberOfFilledValue = 0; + for (let row=0; row<MAX_ROW; row++) { + for (let col=0; col<MAX_COL; col++) { + if (board[row][col].value === "") continue; + numberOfFilledValue++; + for (const [dr, dc] of direction) { + if ( + board[row][col].value === board[row+dr]?.[col+dc]?.value && + board[row][col].value === board[row+(dr*2)]?.[col+(dc*2)]?.value + ) { + return { + newStatus: GameStatus.WON, + winningPositions: [ + [row, col], + [row+dr, col+dc], + [row+dr+dr, col+dc+dc], + ] + } + } + } + } + } + return numberOfFilledValue === MAX_ROW * MAX_COL + ? { newStatus: GameStatus.TIE } + : { newStatus: GameStatus.PLAYABLE }; +} + +const gameStateReducer = (state: GameState, action: Action): GameState => { + if (state.status === GameStatus.WON) return state; + + switch(action.type) { + case ActionType.PLACE: + if (state.board[action.row][action.col].value) return state; + + let newBoard: Board = state.board.map( + (row, rowIdx) => + rowIdx === action.row + ? row.map((col, c) => + c === action.col ? {...col, value: state.player} : col + ) + : row + ); + const res = getGameStatus(newBoard); + let winner: Player | null = null; + if (res.newStatus === GameStatus.WON) { + winner = state.player; + newBoard = newBoard.map((row, rowIdx) => + row.map((col, colIdx) => + res.winningPositions.some(([wr, wc]) => wr === rowIdx && wc === colIdx) + ? { ...col, isWonSquare: true } + : col + ) + ) + } + return { + ...state, + board: newBoard, + status: res.newStatus, + player: Player.X === state.player ? Player.O : Player.X, + winner, + }; + case ActionType.RESET: + return getInitialGameState(); + } +} + +const TicTacToe = () => { + const [state, dispatch] = useReducer( gameStateReducer, null, getInitialGameState); + const moveDispatch = useCallback( + (rowIdx: number, colIdx: number) => dispatch({type: ActionType.PLACE, row: rowIdx, col: colIdx}), []) + return ( + <> + <h1> TicTacToe </h1> + <h2> + { + state.status === GameStatus.PLAYABLE + ? `Player ${state.player} Turn!` + : state.status === GameStatus.TIE + ? "Game is tied! Please reset" + : `Player ${state.winner} has won!` + } + </h2> + <div style={boardCssStyle}> + { + state.board.map((row, rowIdx) => { + return row.map((cell, colIdx) => { + const cellComponentProp: CellComponentProp = { + cell, + row: rowIdx, + col: colIdx, + moveDispatch, + }; + + return ( + <CellComponent + key={`${rowIdx}-${colIdx}`} + {...cellComponentProp} + />) + }) + }) + } + </div> + <button onClick={() => dispatch({ type: ActionType.RESET })}>Reset</button> + </> + ); +} + +export { + TicTacToe, +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Todo.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,448 @@ +import ReactDOM from 'react-dom/client'; +import { ActionDispatch, CSSProperties, Dispatch, memo, SetStateAction, startTransition, useCallback, useEffect, useMemo, useReducer, useRef, useState } from 'react'; + +// Thank you chatGPT for colors lmao.... +const colors = { + bg: '#0b1220', + surface: '#0f172a', + card: '#111827', + border: '#1f2937', + text: '#e5e7eb', + muted: '#9ca3af', + accent: '#4f46e5', + accent2: '#10b981', + danger: '#ef4444', +}; + +const shadow = '0 10px 20px rgba(0,0,0,.25)'; + +type styleComponents = + | "page" + | "card" + | "header" + | "title" + | "form" + | "input" + | "btnPrimary" + | "btnSuccess" + | "btnDanger" + | "btnSm" + | "filterBar" + | "filterBtn" + | "filterActive" + | "list" + | "todo" + | "todoBusy" + | "todoText" + | "todoCompleted" + | "badge" + | "badgeDot" + | "actions" + | "btn" + | "page" + | "page" + | "page" + | "page" + | "page"; + +const styles: Record<styleComponents, CSSProperties> = { + page: { + minHeight: '100vh', + display: 'grid', + placeItems: 'center', + padding: 32, + background: colors.bg, + color: colors.text, + fontFamily: + "system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Apple Color Emoji','Segoe UI Emoji'", + }, + card: { + minWidth: 400, + maxWidth: '92vw', + background: colors.surface, + border: `1px solid ${colors.border}`, + borderRadius: 16, + boxShadow: shadow, + padding: '24px 24px 20px', + }, + header: { + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + gap: 12, + marginBottom: 16, + }, + title: { margin: 0, fontSize: 24, letterSpacing: 0.2 }, + + form: { display: 'flex', gap: 10, marginBottom: 14 }, + input: { + flex: 1, + height: 40, + padding: '0 12px', + border: `1px solid ${colors.border}`, + borderRadius: 10, + background: colors.card, + color: colors.text, + outline: 'none', + }, + + btn: { + appearance: 'none', + border: `1px solid ${colors.border}`, + background: colors.card, + color: colors.text, + padding: '10px 14px', + borderRadius: 10, + cursor: 'pointer', + fontSize: 14, + userSelect: 'none', + transition: 'transform .05s ease, background .15s, border-color .15s', + }, + btnPrimary: { background: colors.accent, borderColor: colors.accent, color: '#fff' }, + btnSuccess: { background: colors.accent2, borderColor: colors.accent2, color: '#fff' }, + btnDanger: { background: colors.danger, borderColor: colors.danger, color: '#fff' }, + btnSm: { padding: '8px 10px', fontSize: 13, borderRadius: 8 }, + + filterBar: { display: 'flex', gap: 8, marginTop: 8, marginBottom: 18 }, + filterBtn: { + appearance: 'none', + border: `1px solid ${colors.border}`, + background: colors.card, + color: colors.text, + padding: '8px 12px', + fontSize: 13, + borderRadius: 9999, + cursor: 'pointer', + }, + filterActive: { + background: '#1a2140', // subtle āactiveā fill + borderColor: '#2a3a8a', + }, + + list: { display: 'grid', gap: 10 }, + + todo: { + display: 'grid', + gridTemplateColumns: '1fr auto auto', + gap: 10, + alignItems: 'center', + background: colors.card, + border: `1px solid ${colors.border}`, + borderRadius: 12, + padding: '12px 12px', + }, + todoBusy: { opacity: 0.75 }, + + todoText: { display: 'flex', alignItems: 'center', gap: 8, fontSize: 16 }, + todoCompleted: { textDecoration: 'line-through', color: colors.muted }, + + badge: { + display: 'inline-flex', + alignItems: 'center', + gap: 6, + padding: '2px 8px', + fontSize: 12, + borderRadius: 9999, + border: `1px solid ${colors.border}`, + }, + badgeDot: { + width: 8, + height: 8, + borderRadius: 9999, + display: 'inline-block', + }, + actions: { display: 'flex', gap: 8 }, +}; + +enum TodoStatus { + IN_PROGRESS, + COMPLETED, + DELETED, +} + +interface Todo { + id: string; + value: string; + status: TodoStatus; + isOptimistic: boolean; +} + +interface TodoComponentProp { + todo: Todo; + handleOnClickButton: (todoId: string, status: TodoStatus, type: TodoActionEnum) => void; +} + +const TodoComponent = memo(({ todo, handleOnClickButton }: TodoComponentProp) => { + + const statusLabel = + todo.status === TodoStatus.IN_PROGRESS ? 'In progress' : + todo.status === TodoStatus.COMPLETED ? 'Completed' : 'Deleted'; + + const badgeDotColor = + todo.status === TodoStatus.IN_PROGRESS ? '#f59e0b' : + todo.status === TodoStatus.COMPLETED ? '#10b981' : + '#6b7280'; + + return ( + <div style={{ ...styles.todo, ...(todo.isOptimistic ? styles.todoBusy : null) }} aria-busy={todo.isOptimistic}> + <div + style={{ + ...styles.todoText, + ...(todo.status === TodoStatus.COMPLETED ? styles.todoCompleted : null), + }} + > + <span style={styles.badge}> + <span style={{ ...styles.badgeDot, background: badgeDotColor }} /> + {statusLabel} + </span> + <span style={ todo.isOptimistic ?{ fontSize: 12, color: colors.muted } : {}}>{todo.value}</span> + </div> + + <div style={styles.actions}> + {todo.status !== TodoStatus.COMPLETED && ( + <button style={{ ...styles.btn, ...styles.btnSm, ...styles.btnSuccess }} + onClick={() => handleOnClickButton(todo.id, TodoStatus.COMPLETED, TodoActionEnum.COMPLETED)}> + Complete + </button> + )} + {todo.status !== TodoStatus.DELETED && ( + <button style={{ ...styles.btn, ...styles.btnSm, ...styles.btnDanger }} + onClick={() => handleOnClickButton(todo.id, TodoStatus.DELETED, TodoActionEnum.REMOVED)}> + Delete + </button> + )} + </div> + </div> + ); +}); + +const todoTableCss: CSSProperties = { display: 'grid', gridTemplateColumns: '1fr', gap: 10, width: '100%' }; + +enum TodoActionEnum { + ADD, + COMPLETED, + REMOVED, + CONFRIM_FROM_BE, + REVERT_FROM_BE, + HYDRATE, +} + +type TodoAction = + | { type: TodoActionEnum.ADD; todo: Todo } + | { type: TodoActionEnum.COMPLETED; todoId: string } + | { type: TodoActionEnum.REMOVED; todoId: string } + | { type: TodoActionEnum.CONFRIM_FROM_BE; todoId: string } + | { type: TodoActionEnum.REVERT_FROM_BE; todoId: string } + | { type: TodoActionEnum.HYDRATE; todos: Todo[] }; + +const todoReducer = (state: Todo[], action: TodoAction): Todo[] => { + switch (action.type) { + case TodoActionEnum.ADD: + return [...state, action.todo]; + case TodoActionEnum.COMPLETED: + return state.map((t) => (t.id === action.todoId ? { ...t, status: TodoStatus.COMPLETED } : t)); + case TodoActionEnum.REMOVED: + return state.map((t) => (t.id === action.todoId ? { ...t, status: TodoStatus.DELETED } : t)); + case TodoActionEnum.CONFRIM_FROM_BE: + return state.map((t) => (t.id === action.todoId ? { ...t, isOptimistic: false } : t)); + case TodoActionEnum.REVERT_FROM_BE: + return state.filter((t) => t.id !== action.todoId); + case TodoActionEnum.HYDRATE: + return action.todos.map((todo) => ({ + ...todo, + isOptimistic: false, + })); + default: + return state; + } +}; + +type StatusBuckets = Record<TodoStatus, Todo[]>; + +interface TodoPageComponentProp { + userKeyword: string; +} + +const TodoPageComponent = ({userKeyword}: TodoPageComponentProp) => { + const [todos, dispatch] = useReducer(todoReducer, []); + const [todoTypes, setTodoTypes] = useState<TodoStatus>(TodoStatus.IN_PROGRESS); + const todoInputRef = useRef<HTMLInputElement>(null); + + useEffect(()=>{ + const ctrl = new AbortController(); + (async () => { + try { + const res = await fetch( + `/api/v1/todo?key=${userKeyword}`, { signal: ctrl.signal }); + if (!res.ok) return; + const todos = (await res.json()).todos; + dispatch({ type: TodoActionEnum.HYDRATE, todos }) + } catch (e) { + console.log(e); + } + })(); + return () => ctrl.abort(); + },[]); + + const buckets = useMemo<StatusBuckets>(() => { + const r: StatusBuckets = { + [TodoStatus.IN_PROGRESS]: [], + [TodoStatus.COMPLETED]: [], + [TodoStatus.DELETED]: [], + }; + for (const t of todos) r[t.status].push(t); + return r; + }, [todos]); + + const visibleTodos = buckets[todoTypes]; + + const handleSubmit = useCallback((event: React.FormEvent) => { + event.preventDefault(); + const todoInput = todoInputRef.current; + if (!todoInput) return; + const value = todoInput.value.trim(); + if (!value) return; + + const newTodo: Todo = { + id: crypto.randomUUID(), + value, + status: TodoStatus.IN_PROGRESS, + isOptimistic: true, + }; + dispatch({ type: TodoActionEnum.ADD, todo: newTodo }); + todoInput.value = ''; + + startTransition(async () => { + try { + const res = await fetch(`/api/v1/todo?key=${userKeyword}`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ newTodo }), + }); + if (res.ok) dispatch({ type: TodoActionEnum.CONFRIM_FROM_BE, todoId: newTodo.id }); + else dispatch({ type: TodoActionEnum.REVERT_FROM_BE, todoId: newTodo.id }); + } catch { + dispatch({ type: TodoActionEnum.REVERT_FROM_BE, todoId: newTodo.id }); + } + }); + }, []); + + const onClickUpdate = useCallback( + (todoId: string, status: TodoStatus, type: TodoActionEnum) => { + dispatch({ type, todoId } as TodoAction); + startTransition(async () => { + try { + const res = await fetch(`/api/v1/todo?key=${userKeyword}`, { + method: 'PATCH', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ todoId, status }), + }); + if (res.ok) dispatch({ type: TodoActionEnum.CONFRIM_FROM_BE, todoId }); + else dispatch({ type: TodoActionEnum.REVERT_FROM_BE, todoId }); + } catch { + dispatch({ type: TodoActionEnum.REVERT_FROM_BE, todoId }); + } + }) + }, [dispatch]); + + return ( + <> + <div style={styles.header}> + <h1 style={styles.title}>TODO!</h1> + <div style={styles.filterBar} role="tablist" aria-label="Filter"> + <button + style={{ ...styles.filterBtn, ...(todoTypes === TodoStatus.IN_PROGRESS ? styles.filterActive : null) }} + onClick={() => setTodoTypes(TodoStatus.IN_PROGRESS)} + > + In progress + </button> + <button + style={{ ...styles.filterBtn, ...(todoTypes === TodoStatus.DELETED ? styles.filterActive : null) }} + onClick={() => setTodoTypes(TodoStatus.DELETED)} + > + Deleted + </button> + <button + style={{ ...styles.filterBtn, ...(todoTypes === TodoStatus.COMPLETED ? styles.filterActive : null) }} + onClick={() => setTodoTypes(TodoStatus.COMPLETED)} + > + Completed + </button> + </div> + </div> + + <form style={styles.form} onSubmit={handleSubmit}> + <input ref={todoInputRef} style={styles.input} placeholder="Add a taskā¦" /> + <button style={{ ...styles.btn, ...styles.btnPrimary }} type="submit"> + Add + </button> + </form> + + <div style={todoTableCss}> + {visibleTodos.map((todo) => ( + <TodoComponent key={todo.id} todo={todo} handleOnClickButton={onClickUpdate} /> + ))} + </div> + </> + ); +}; + +interface SetUserKeywordInputProp { + setUserKeyword: Dispatch<SetStateAction<string>>; +} + +const SetUserKeywordInput = ( + {setUserKeyword}: SetUserKeywordInputProp +) => { + const inputRef = useRef<HTMLInputElement>(null); + + const handleSubmit = useCallback(() => { + const inputEle = inputRef.current; + if (!inputEle || !inputEle.value.trim()) return; + setUserKeyword(inputEle.value.trim()); + const params = new URLSearchParams(window.location.search); + params.set('key', inputEle.value.trim()); + history.replaceState(null, '', `${location.pathname}?${params}${location.hash}`); + inputEle.value = ""; + }, [setUserKeyword]) + + return ( + <> + <h1 style={styles.title}> + What is your keyword? + </h1> + <h3> + If it doesn't exist, it will start a new TODO list and used the keyword to encrypt the values. + </h3> + <form style={styles.form} onSubmit={handleSubmit}> + <input ref={inputRef} style={styles.input} placeholder="What is your Keyword?" /> + <button style={{ ...styles.btn, ...styles.btnPrimary }} type="submit"> + Confirm + </button> + </form> + </> + ) +} + +const Todo = () => { + const [userKeyword, setUserKeyword] = useState<string>(() => { + const params = new URLSearchParams(window.location.search); + console.log() + return params.get("key") || ""; + }); + + return ( + <div style={styles.page}> + <div style={styles.card}> + { + userKeyword ? + (<TodoPageComponent userKeyword={userKeyword}/>) : + (<SetUserKeywordInput setUserKeyword={setUserKeyword}/>) + } + </div> + </div> + ) + +} + +ReactDOM.createRoot(document.getElementById('root')!).render(<Todo />);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/Wordle/main.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,267 @@ +import { CSSProperties, useCallback, useEffect, useReducer } from 'react'; + +/** + * Question: + + * Create a playable Wordle game in the browser using React within one hour. The game should allow the player to guess a hidden 5-letter word in at most 6 tries. After each guess, display feedback for each letter: correct letter and position (green), correct letter wrong position (yellow), or not in the word (gray). The game ends when the player guesses the word or runs out of tries. + * + * Requirements: + * + * Choose a fixed 5-letter target word in your code. + * + * Render a grid showing guesses made and remaining attempts. + * + * Accept input from the user (keyboard or on-screen). + * + * Color letters according to correctness after each guess. + * + * Display a win or lose message at the end of the game. + */ + +const MAX_WORD_LEN = 5; +const MAX_ATTEMP_LEN = 6; + +interface Position { + letterPos: number; + attempPos: number; +} + +enum WordStatus { + CORRECT_IN_POSITION, + CORRECT_IN_WRONG_POSITION, + DEFAULT, +} + +interface Letter { + value: string; + status: WordStatus; +} + +type Word = Letter[] +type Board = Word[]; + +enum GameStatus { + PLAYABLE="Try to guess the word!", + WON="You won!", + LOST="You Lost!", +} + +interface GameState { + board: Board; + targetWord: string[]; + position: Position; + status: GameStatus; +} + +const constructGameState = (): GameState => { + const board: Board = Array.from( + { length: MAX_ATTEMP_LEN }, () => { + return Array.from({ length: MAX_WORD_LEN }, () => { + return { + value: "", + status: WordStatus.DEFAULT, + } + }) + } + ); + // dummy will get replace when it hits db + const targetWord: string[] = "hello".split(''); + const position: Position = { + letterPos: 0, + attempPos: 0, + } + return { + board, + status: GameStatus.PLAYABLE, + targetWord, + position, + } +} + +interface LetterComponentProp { + letter: Letter; +} + +interface StyleProp { + board: CSSProperties; + letter: (wordStatus: WordStatus) => CSSProperties; +} + +const styles: StyleProp = { + board: { + display: "grid", + gridTemplateColumns: `repeat(${MAX_WORD_LEN}, 1fr)`, + width: 400, + gap: 8, + }, + letter: (wordStatus: WordStatus): CSSProperties => { + let backgroundColor: string = "#e6e6e6"; + switch(wordStatus) { + case WordStatus.CORRECT_IN_POSITION: + backgroundColor = "green"; + break; + case WordStatus.CORRECT_IN_WRONG_POSITION: + backgroundColor = "yellow"; + break; + case WordStatus.DEFAULT: + break; + } + return { + display: "flex", + justifyContent: "center", + alignItems: "center", + backgroundColor, + width: "100%", + aspectRatio: "1 / 1", + border: "1px solid black", + } + } +} + +const LetterComponent = ({letter}: LetterComponentProp) => { + return ( + <div style={styles.letter(letter.status)}> + {letter.value} + </div> + ) +} + +enum GameActionEnum { + INITIALZE, + PLACE, +}; + +type GameAction = + | { type: GameActionEnum.PLACE, character: string } + | { type: GameActionEnum.INITIALZE, targetWord: string }; + +const gameStateReducer = (state: GameState, action: GameAction): GameState => { + if (state.status != GameStatus.PLAYABLE) return state; + + switch(action.type) { + case GameActionEnum.INITIALZE: + return { + ...state, + targetWord: action.targetWord.split(''), + }; + case GameActionEnum.PLACE: + const { character } = action; + let newBoard = state.board.map( + (word, attempIdx) => attempIdx === state.position.attempPos ? + word.map( + (letter, letterIdx) => letterIdx === state.position.letterPos ? + {...letter, value: character} : letter) : word); + const newPosition = calculatePosition(state.position); + let newStatus: GameStatus = state.status; + if (newPosition.letterPos === 0) { + const {correctLetterIdxes, correctWrongPositionLetterIndex} = gameLogic(newBoard[state.position.attempPos], state.targetWord); + newBoard = newBoard.map( + (word, attempIdx) => attempIdx === state.position.attempPos ? + word.map( + (letter, letterIdx) => correctLetterIdxes.some((value) => value === letterIdx) ? + {...letter, status: WordStatus.CORRECT_IN_POSITION } : + (correctWrongPositionLetterIndex.some((value) => value === letterIdx) ? + {...letter, status: WordStatus.CORRECT_IN_WRONG_POSITION} : letter) + ) + : word); + newStatus = correctLetterIdxes.length === MAX_WORD_LEN ? + GameStatus.WON : ( + state.position.attempPos + 1 === MAX_ATTEMP_LEN ? + GameStatus.LOST : GameStatus.PLAYABLE + ); + } + return { + ...state, + board: newBoard, + position: newPosition, + status: newStatus, + }; + } +} + +function gameLogic(word: Word, targetWord: string[]) { + const map: Record<string, number> = {}; + const correctLetterIdxes: number[] = [] + const correctWrongPositionLetterIndex: number[] = [] + for (let i = 0; i < MAX_WORD_LEN; i++) { + map[targetWord[i]] ? map[targetWord[i]]++ : map[targetWord[i]] = 1; + } + for (let i = 0; i < MAX_WORD_LEN; i++) { + if (word[i].value === targetWord[i]) { + correctLetterIdxes.push(i); + map[targetWord[i]]--; + } + } + for (let i = 0; i < MAX_WORD_LEN; i++) { + if (correctLetterIdxes.some((value) => value===i)) continue; + if ( + targetWord.some((value) => value===word[i].value && map[value] > 0) + ) { + correctWrongPositionLetterIndex.push(i); + map[word[i].value]--; + } + } + return { + correctLetterIdxes, + correctWrongPositionLetterIndex, + } +} + +function calculatePosition(position: Position): Position { + const letterPos = (position.letterPos + 1) % MAX_WORD_LEN; + const attempPos = ( + (position.letterPos + 1) === MAX_WORD_LEN ? + position.attempPos + 1 : position.attempPos) % MAX_ATTEMP_LEN; + return { + letterPos, + attempPos, + } +} + +const Wordle = () => { + const [gameState, gameDispatch] = useReducer(gameStateReducer, null, constructGameState); + + useEffect(() => { + (async() => { + const res = await fetch('/api/v1/wordle'); + if (!res.ok) return; + const response = await res.json(); + gameDispatch({ type: GameActionEnum.INITIALZE, targetWord: response.targetWord }); + })(); + }, []); + + const placeLetters = useCallback((event: KeyboardEvent) => { + const letters = event.key.trim().toLowerCase(); + const regex = new RegExp('[a-z]'); + if ( + !regex.exec(letters) || + letters === "enter" + ) { + return; + } + gameDispatch({ type: GameActionEnum.PLACE, character: event.key.trim() }) + }, [gameDispatch]); + + useEffect(() => { + document.addEventListener("keypress", placeLetters) + }, []) + + return ( + <> + <h1> Wordle </h1> + <h2> {gameState.status} </h2> + <div style={styles.board}> + {gameState.board.map( + (word, wordIdx) => word.map( + (letter, letterIdx) => ( + <LetterComponent key={`${wordIdx}-${letterIdx}`} letter={letter} /> + )) + )} + </div> + </> + ); +} + +export { + Wordle, +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/src/current.tsx Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,60 @@ +import ReactDOM from "react-dom/client"; + +const shaders = ` +struct VertexOut { + @builtin(position) position : vec4f, + @location(0) color : vec4f +} + +@vertex +fn vertex_main(@location(0) position: vec4f, + @location(1) color: vec4f) -> VertexOut +{ + var output : VertexOut; + output.position = position; + output.color = color; + return output; +} + +@fragment +fn fragment_main(fragData: VertexOut) -> @location(0) vec4f +{ + return fragData.color; +} +`; + +async function init() { + if (!navigator.gpu) { + throw Error("WebGPU not supported."); + } + + const adapter = await navigator.gpu.requestAdapter(); + if (!adapter) { + throw Error("Couldn't request WebGPU adapter."); + } + + const device = await adapter.requestDevice(); + + const shaderModule = device.createShaderModule({ + code: shaders, + }); + + const canvas = document.querySelector("#gpuCanvas"); + const context = canvas.getContext("webgpu"); + + context.configure({ + device, + format: navigator.gpu.getPreferredCanvasFormat(), + alphaMode: "premultiplied", + }); + + console.log(device) +} + +void init(); + +const Current = () => { + return (<>hello </>); +}; + +ReactDOM.createRoot(document.getElementById("root")!).render(<Current />);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/react_games/tsconfig.json Mon Dec 01 20:22:47 2025 -0800 @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "Node16", + "moduleResolution": "node16", + "jsx": "react-jsx", + "esModuleInterop": true, + "strict": true, + "lib": ["DOM", "ES2020"], + "allowImportingTsExtensions": true, + "types": ["@types/node", "@types/react", "@types/react-dom"] + }, + "include": ["src"] +} +