From 56bcb1772c1fa6dd7f6c69c6b7b59330db5400a6 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 12:53:36 -0400 Subject: [PATCH 01/12] Install Jupyterlite --- .gitignore | 3 + Pipfile | 24 ++ Pipfile.lock | 939 +++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 74 +++- 4 files changed, 1030 insertions(+), 10 deletions(-) create mode 100644 Pipfile create mode 100644 Pipfile.lock diff --git a/.gitignore b/.gitignore index 8cc5c5d..92928ee 100644 --- a/.gitignore +++ b/.gitignore @@ -77,6 +77,9 @@ target/ # Jupyter Notebook .ipynb_checkpoints +# JupyterLite +.jupyterlite.doit.db + # IPython profile_default/ ipython_config.py diff --git a/Pipfile b/Pipfile new file mode 100644 index 0000000..0972a34 --- /dev/null +++ b/Pipfile @@ -0,0 +1,24 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +awswrangler = "*" +boto3 = "*" +ipython = "*" +ipywidgets = "*" +matplotlib = "*" +numpy = "*" +pandas = "*" +plotly = "*" +python-dotenv = "*" +jupyterlite-core = "*" +jupyterlite-pyodide-kernel = "*" +jupyterlab-open-url-parameter = "*" + +[dev-packages] + +[requires] +python_version = "3.9" +python_full_version = "3.9.16" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..d858e33 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,939 @@ +{ + "_meta": { + "hash": { + "sha256": "e2f93363c1a56433a08f833bda980dd6447250dca175ad1fcf43d46180778663" + }, + "pipfile-spec": 6, + "requires": { + "python_full_version": "3.9.16", + "python_version": "3.9" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "appnope": { + "hashes": [ + "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24", + "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e" + ], + "markers": "sys_platform == 'darwin'", + "version": "==0.1.3" + }, + "asttokens": { + "hashes": [ + "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3", + "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c" + ], + "version": "==2.2.1" + }, + "awswrangler": { + "hashes": [ + "sha256:237041c856a29524bd1b58f48a95a88b4c5433c673d82bc193f13fbdea3abdcb", + "sha256:e19fda35f16313ec11b990823ece989d71977f0ea51a3ae5cbf61e1417a6349e" + ], + "index": "pypi", + "version": "==3.1.1" + }, + "backcall": { + "hashes": [ + "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", + "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" + ], + "version": "==0.2.0" + }, + "boto3": { + "hashes": [ + "sha256:0ab83f1b8f997527a513152bc64fd1873536b1d92bdc98cb40f927aca6af6325", + "sha256:be4e27d48744651fbd0898a6b51faaddd71936651167ba3c2e19855083ce137e" + ], + "index": "pypi", + "version": "==1.26.150" + }, + "botocore": { + "hashes": [ + "sha256:0e8c8f0dab008418e4e136ecf2a450fa01bae5b725b7b43ff7cc13beebbf33aa", + "sha256:9af58faa67c99d860eabba4cd030b5ee5f4e7e1c301edd6a9174419f75b39334" + ], + "markers": "python_version >= '3.7'", + "version": "==1.29.150" + }, + "cloudpickle": { + "hashes": [ + "sha256:61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f", + "sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5" + ], + "markers": "python_version >= '3.6'", + "version": "==2.2.1" + }, + "comm": { + "hashes": [ + "sha256:16613c6211e20223f215fc6d3b266a247b6e2641bf4e0a3ad34cb1aff2aa3f37", + "sha256:a61efa9daffcfbe66fd643ba966f846a624e4e6d6767eda9cf6e993aadaab93e" + ], + "markers": "python_version >= '3.6'", + "version": "==0.1.3" + }, + "contourpy": { + "hashes": [ + "sha256:031154ed61f7328ad7f97662e48660a150ef84ee1bc8876b6472af88bf5a9b98", + "sha256:0f9d350b639db6c2c233d92c7f213d94d2e444d8e8fc5ca44c9706cf72193772", + "sha256:130230b7e49825c98edf0b428b7aa1125503d91732735ef897786fe5452b1ec2", + "sha256:152fd8f730c31fd67fe0ffebe1df38ab6a669403da93df218801a893645c6ccc", + "sha256:1c71fdd8f1c0f84ffd58fca37d00ca4ebaa9e502fb49825484da075ac0b0b803", + "sha256:24847601071f740837aefb730e01bd169fbcaa610209779a78db7ebb6e6a7051", + "sha256:2e9ebb4425fc1b658e13bace354c48a933b842d53c458f02c86f371cecbedecc", + "sha256:30676ca45084ee61e9c3da589042c24a57592e375d4b138bd84d8709893a1ba4", + "sha256:31a55dccc8426e71817e3fe09b37d6d48ae40aae4ecbc8c7ad59d6893569c436", + "sha256:366a0cf0fc079af5204801786ad7a1c007714ee3909e364dbac1729f5b0849e5", + "sha256:38e2e577f0f092b8e6774459317c05a69935a1755ecfb621c0a98f0e3c09c9a5", + "sha256:3c184ad2433635f216645fdf0493011a4667e8d46b34082f5a3de702b6ec42e3", + "sha256:3caea6365b13119626ee996711ab63e0c9d7496f65641f4459c60a009a1f3e80", + "sha256:3e927b3868bd1e12acee7cc8f3747d815b4ab3e445a28d2e5373a7f4a6e76ba1", + "sha256:4ee3ee247f795a69e53cd91d927146fb16c4e803c7ac86c84104940c7d2cabf0", + "sha256:54d43960d809c4c12508a60b66cb936e7ed57d51fb5e30b513934a4a23874fae", + "sha256:57119b0116e3f408acbdccf9eb6ef19d7fe7baf0d1e9aaa5381489bc1aa56556", + "sha256:58569c491e7f7e874f11519ef46737cea1d6eda1b514e4eb5ac7dab6aa864d02", + "sha256:5a011cf354107b47c58ea932d13b04d93c6d1d69b8b6dce885e642531f847566", + "sha256:5caeacc68642e5f19d707471890f037a13007feba8427eb7f2a60811a1fc1350", + "sha256:5dd34c1ae752515318224cba7fc62b53130c45ac6a1040c8b7c1a223c46e8967", + "sha256:60835badb5ed5f4e194a6f21c09283dd6e007664a86101431bf870d9e86266c4", + "sha256:62398c80ef57589bdbe1eb8537127321c1abcfdf8c5f14f479dbbe27d0322e66", + "sha256:6381fa66866b0ea35e15d197fc06ac3840a9b2643a6475c8fff267db8b9f1e69", + "sha256:64757f6460fc55d7e16ed4f1de193f362104285c667c112b50a804d482777edd", + "sha256:69f8ff4db108815addd900a74df665e135dbbd6547a8a69333a68e1f6e368ac2", + "sha256:6c180d89a28787e4b73b07e9b0e2dac7741261dbdca95f2b489c4f8f887dd810", + "sha256:71b0bf0c30d432278793d2141362ac853859e87de0a7dee24a1cea35231f0d50", + "sha256:769eef00437edf115e24d87f8926955f00f7704bede656ce605097584f9966dc", + "sha256:7f6979d20ee5693a1057ab53e043adffa1e7418d734c1532e2d9e915b08d8ec2", + "sha256:87f4d8941a9564cda3f7fa6a6cd9b32ec575830780677932abdec7bcb61717b0", + "sha256:89ba9bb365446a22411f0673abf6ee1fea3b2cf47b37533b970904880ceb72f3", + "sha256:8acf74b5d383414401926c1598ed77825cd530ac7b463ebc2e4f46638f56cce6", + "sha256:9056c5310eb1daa33fc234ef39ebfb8c8e2533f088bbf0bc7350f70a29bde1ac", + "sha256:95c3acddf921944f241b6773b767f1cbce71d03307270e2d769fd584d5d1092d", + "sha256:9e20e5a1908e18aaa60d9077a6d8753090e3f85ca25da6e25d30dc0a9e84c2c6", + "sha256:a1e97b86f73715e8670ef45292d7cc033548266f07d54e2183ecb3c87598888f", + "sha256:a877ada905f7d69b2a31796c4b66e31a8068b37aa9b78832d41c82fc3e056ddd", + "sha256:a9d7587d2fdc820cc9177139b56795c39fb8560f540bba9ceea215f1f66e1566", + "sha256:abf298af1e7ad44eeb93501e40eb5a67abbf93b5d90e468d01fc0c4451971afa", + "sha256:ae90d5a8590e5310c32a7630b4b8618cef7563cebf649011da80874d0aa8f414", + "sha256:b6d0f9e1d39dbfb3977f9dd79f156c86eb03e57a7face96f199e02b18e58d32a", + "sha256:b8d587cc39057d0afd4166083d289bdeff221ac6d3ee5046aef2d480dc4b503c", + "sha256:c5210e5d5117e9aec8c47d9156d1d3835570dd909a899171b9535cb4a3f32693", + "sha256:cc331c13902d0f50845099434cd936d49d7a2ca76cb654b39691974cb1e4812d", + "sha256:ce41676b3d0dd16dbcfabcc1dc46090aaf4688fd6e819ef343dbda5a57ef0161", + "sha256:d8165a088d31798b59e91117d1f5fc3df8168d8b48c4acc10fc0df0d0bdbcc5e", + "sha256:e7281244c99fd7c6f27c1c6bfafba878517b0b62925a09b586d88ce750a016d2", + "sha256:e96a08b62bb8de960d3a6afbc5ed8421bf1a2d9c85cc4ea73f4bc81b4910500f", + "sha256:ed33433fc3820263a6368e532f19ddb4c5990855e4886088ad84fd7c4e561c71", + "sha256:efb8f6d08ca7998cf59eaf50c9d60717f29a1a0a09caa46460d33b2924839dbd", + "sha256:efe99298ba37e37787f6a2ea868265465410822f7bea163edcc1bd3903354ea9", + "sha256:f99e9486bf1bb979d95d5cffed40689cb595abb2b841f2991fc894b3452290e8", + "sha256:fc1464c97579da9f3ab16763c32e5c5d5bb5fa1ec7ce509a4ca6108b61b84fab", + "sha256:fd7dc0e6812b799a34f6d12fcb1000539098c249c8da54f3566c6a6461d0dbad" + ], + "markers": "python_version >= '3.8'", + "version": "==1.0.7" + }, + "cycler": { + "hashes": [ + "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3", + "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f" + ], + "markers": "python_version >= '3.6'", + "version": "==0.11.0" + }, + "debugpy": { + "hashes": [ + "sha256:0679b7e1e3523bd7d7869447ec67b59728675aadfc038550a63a362b63029d2c", + "sha256:279d64c408c60431c8ee832dfd9ace7c396984fd7341fa3116aee414e7dcd88d", + "sha256:33edb4afa85c098c24cc361d72ba7c21bb92f501104514d4ffec1fb36e09c01a", + "sha256:38ed626353e7c63f4b11efad659be04c23de2b0d15efff77b60e4740ea685d07", + "sha256:5224eabbbeddcf1943d4e2821876f3e5d7d383f27390b82da5d9558fd4eb30a9", + "sha256:53f7a456bc50706a0eaabecf2d3ce44c4d5010e46dfc65b6b81a518b42866267", + "sha256:9cd10cf338e0907fdcf9eac9087faa30f150ef5445af5a545d307055141dd7a4", + "sha256:aaf6da50377ff4056c8ed470da24632b42e4087bc826845daad7af211e00faad", + "sha256:b3e7ac809b991006ad7f857f016fa92014445085711ef111fdc3f74f66144096", + "sha256:bae1123dff5bfe548ba1683eb972329ba6d646c3a80e6b4c06cd1b1dd0205e9b", + "sha256:c0ff93ae90a03b06d85b2c529eca51ab15457868a377c4cc40a23ab0e4e552a3", + "sha256:c4c2f0810fa25323abfdfa36cbbbb24e5c3b1a42cb762782de64439c575d67f2", + "sha256:d71b31117779d9a90b745720c0eab54ae1da76d5b38c8026c654f4a066b0130a", + "sha256:dbe04e7568aa69361a5b4c47b4493d5680bfa3a911d1e105fbea1b1f23f3eb45", + "sha256:de86029696e1b3b4d0d49076b9eba606c226e33ae312a57a46dca14ff370894d", + "sha256:e3876611d114a18aafef6383695dfc3f1217c98a9168c1aaf1a02b01ec7d8d1e", + "sha256:ed6d5413474e209ba50b1a75b2d9eecf64d41e6e4501977991cdc755dc83ab0f", + "sha256:f90a2d4ad9a035cee7331c06a4cf2245e38bd7c89554fe3b616d90ab8aab89cc" + ], + "markers": "python_version >= '3.7'", + "version": "==1.6.7" + }, + "decorator": { + "hashes": [ + "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", + "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186" + ], + "markers": "python_version >= '3.5'", + "version": "==5.1.1" + }, + "doit": { + "hashes": [ + "sha256:71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc", + "sha256:ebc285f6666871b5300091c26eafdff3de968a6bd60ea35dd1e3fc6f2e32479a" + ], + "markers": "python_version >= '3.8'", + "version": "==0.36.0" + }, + "executing": { + "hashes": [ + "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc", + "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107" + ], + "version": "==1.2.0" + }, + "fonttools": { + "hashes": [ + "sha256:106caf6167c4597556b31a8d9175a3fdc0356fdcd70ab19973c3b0d4c893c461", + "sha256:dba8d7cdb8e2bac1b3da28c5ed5960de09e59a2fe7e63bb73f5a59e57b0430d2" + ], + "markers": "python_version >= '3.8'", + "version": "==4.39.4" + }, + "importlib-metadata": { + "hashes": [ + "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed", + "sha256:92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705" + ], + "markers": "python_version < '3.10'", + "version": "==6.6.0" + }, + "importlib-resources": { + "hashes": [ + "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6", + "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a" + ], + "markers": "python_version < '3.10'", + "version": "==5.12.0" + }, + "ipykernel": { + "hashes": [ + "sha256:1aba0ae8453e15e9bc6b24e497ef6840114afcdb832ae597f32137fa19d42a6f", + "sha256:77aeffab056c21d16f1edccdc9e5ccbf7d96eb401bd6703610a21be8b068aadc" + ], + "markers": "python_version >= '3.8'", + "version": "==6.23.1" + }, + "ipython": { + "hashes": [ + "sha256:1d197b907b6ba441b692c48cf2a3a2de280dc0ac91a3405b39349a50272ca0a1", + "sha256:248aca623f5c99a6635bc3857677b7320b9b8039f99f070ee0d20a5ca5a8e6bf" + ], + "index": "pypi", + "version": "==8.14.0" + }, + "ipywidgets": { + "hashes": [ + "sha256:a60bf8d2528997e05ac83fd19ea2fbe65f2e79fbe1b2b35779bdfc46c2941dcc", + "sha256:de7d779f2045d60de9f6c25f653fdae2dba57898e6a1284494b3ba20b6893bb8" + ], + "index": "pypi", + "version": "==8.0.6" + }, + "jedi": { + "hashes": [ + "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e", + "sha256:bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612" + ], + "markers": "python_version >= '3.6'", + "version": "==0.18.2" + }, + "jmespath": { + "hashes": [ + "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", + "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe" + ], + "markers": "python_version >= '3.7'", + "version": "==1.0.1" + }, + "jupyter-client": { + "hashes": [ + "sha256:9fe233834edd0e6c0aa5f05ca2ab4bdea1842bfd2d8a932878212fc5301ddaf0", + "sha256:b18219aa695d39e2ad570533e0d71fb7881d35a873051054a84ee2a17c4b7389" + ], + "markers": "python_version >= '3.8'", + "version": "==8.2.0" + }, + "jupyter-core": { + "hashes": [ + "sha256:6db75be0c83edbf1b7c9f91ec266a9a24ef945da630f3120e1a0046dc13713fc", + "sha256:d4201af84559bc8c70cead287e1ab94aeef3c512848dde077b7684b54d67730d" + ], + "markers": "python_version >= '3.8'", + "version": "==5.3.0" + }, + "jupyterlab-open-url-parameter": { + "hashes": [ + "sha256:07ec58e68e865896624bba445473796461820ec0165a06fb926e1e8e84a89fc4", + "sha256:81512b9cf893cdb67873d12a1063a58129d5f9ac0e1d67e0c26f1af68f39784d" + ], + "index": "pypi", + "version": "==0.1.0" + }, + "jupyterlab-widgets": { + "hashes": [ + "sha256:c3a50ed5bf528a0c7a869096503af54702f86dda1db469aee1c92dc0c01b43ca", + "sha256:c73f8370338ec19f1bec47254752d6505b03601cbd5a67e6a0b184532f73a459" + ], + "markers": "python_version >= '3.7'", + "version": "==3.0.7" + }, + "jupyterlite-core": { + "hashes": [ + "sha256:2f17afa282447594cb38f7a1d2619ceface28d8f4747e038790cac22c394e804", + "sha256:fea7ffe880f6efb16cd39855dd459ec3cf87b238de076dae518033926af1150a" + ], + "index": "pypi", + "version": "==0.1.0" + }, + "jupyterlite-pyodide-kernel": { + "hashes": [ + "sha256:32c83f99c4b8aebd5d351c6a8a4abc153c3a11f2d1ed62efc872d56224437ef6", + "sha256:f07501e521edcb56e0d04b9cc785c6f05690eb65f8301476aeefa820a82bdf86" + ], + "index": "pypi", + "version": "==0.0.8" + }, + "kiwisolver": { + "hashes": [ + "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b", + "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166", + "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c", + "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c", + "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0", + "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4", + "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9", + "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286", + "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767", + "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c", + "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6", + "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b", + "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004", + "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf", + "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494", + "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac", + "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626", + "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766", + "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514", + "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6", + "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f", + "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d", + "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191", + "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d", + "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51", + "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f", + "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8", + "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454", + "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb", + "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da", + "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8", + "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de", + "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a", + "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9", + "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008", + "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3", + "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32", + "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938", + "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1", + "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9", + "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d", + "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824", + "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b", + "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd", + "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2", + "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5", + "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69", + "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3", + "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae", + "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597", + "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e", + "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955", + "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca", + "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a", + "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea", + "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede", + "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4", + "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6", + "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686", + "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408", + "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871", + "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29", + "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750", + "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897", + "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0", + "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2", + "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09", + "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c" + ], + "markers": "python_version >= '3.7'", + "version": "==1.4.4" + }, + "matplotlib": { + "hashes": [ + "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353", + "sha256:14645aad967684e92fc349493fa10c08a6da514b3d03a5931a1bac26e6792bd1", + "sha256:21e9cff1a58d42e74d01153360de92b326708fb205250150018a52c70f43c290", + "sha256:28506a03bd7f3fe59cd3cd4ceb2a8d8a2b1db41afede01f66c42561b9be7b4b7", + "sha256:2bf092f9210e105f414a043b92af583c98f50050559616930d884387d0772aba", + "sha256:3032884084f541163f295db8a6536e0abb0db464008fadca6c98aaf84ccf4717", + "sha256:3a2cb34336110e0ed8bb4f650e817eed61fa064acbefeb3591f1b33e3a84fd96", + "sha256:3ba2af245e36990facf67fde840a760128ddd71210b2ab6406e640188d69d136", + "sha256:3d7bc90727351fb841e4d8ae620d2d86d8ed92b50473cd2b42ce9186104ecbba", + "sha256:438196cdf5dc8d39b50a45cb6e3f6274edbcf2254f85fa9b895bf85851c3a613", + "sha256:46a561d23b91f30bccfd25429c3c706afe7d73a5cc64ef2dfaf2b2ac47c1a5dc", + "sha256:4cf327e98ecf08fcbb82685acaf1939d3338548620ab8dfa02828706402c34de", + "sha256:4f99e1b234c30c1e9714610eb0c6d2f11809c9c78c984a613ae539ea2ad2eb4b", + "sha256:544764ba51900da4639c0f983b323d288f94f65f4024dc40ecb1542d74dc0500", + "sha256:56d94989191de3fcc4e002f93f7f1be5da476385dde410ddafbb70686acf00ea", + "sha256:57bfb8c8ea253be947ccb2bc2d1bb3862c2bccc662ad1b4626e1f5e004557042", + "sha256:617f14ae9d53292ece33f45cba8503494ee199a75b44de7717964f70637a36aa", + "sha256:6eb88d87cb2c49af00d3bbc33a003f89fd9f78d318848da029383bfc08ecfbfb", + "sha256:75d4725d70b7c03e082bbb8a34639ede17f333d7247f56caceb3801cb6ff703d", + "sha256:770a205966d641627fd5cf9d3cb4b6280a716522cd36b8b284a8eb1581310f61", + "sha256:7b73305f25eab4541bd7ee0b96d87e53ae9c9f1823be5659b806cd85786fe882", + "sha256:7c9a4b2da6fac77bcc41b1ea95fadb314e92508bf5493ceff058e727e7ecf5b0", + "sha256:81a6b377ea444336538638d31fdb39af6be1a043ca5e343fe18d0f17e098770b", + "sha256:83111e6388dec67822e2534e13b243cc644c7494a4bb60584edbff91585a83c6", + "sha256:8704726d33e9aa8a6d5215044b8d00804561971163563e6e6591f9dcf64340cc", + "sha256:89768d84187f31717349c6bfadc0e0d8c321e8eb34522acec8a67b1236a66332", + "sha256:8bf26ade3ff0f27668989d98c8435ce9327d24cffb7f07d24ef609e33d582439", + "sha256:8c587963b85ce41e0a8af53b9b2de8dddbf5ece4c34553f7bd9d066148dc719c", + "sha256:95cbc13c1fc6844ab8812a525bbc237fa1470863ff3dace7352e910519e194b1", + "sha256:97cc368a7268141afb5690760921765ed34867ffb9655dd325ed207af85c7529", + "sha256:a867bf73a7eb808ef2afbca03bcdb785dae09595fbe550e1bab0cd023eba3de0", + "sha256:b867e2f952ed592237a1828f027d332d8ee219ad722345b79a001f49df0936eb", + "sha256:c0bd19c72ae53e6ab979f0ac6a3fafceb02d2ecafa023c5cca47acd934d10be7", + "sha256:ce463ce590f3825b52e9fe5c19a3c6a69fd7675a39d589e8b5fbe772272b3a24", + "sha256:cf0e4f727534b7b1457898c4f4ae838af1ef87c359b76dcd5330fa31893a3ac7", + "sha256:def58098f96a05f90af7e92fd127d21a287068202aa43b2a93476170ebd99e87", + "sha256:e99bc9e65901bb9a7ce5e7bb24af03675cbd7c70b30ac670aa263240635999a4", + "sha256:eb7d248c34a341cd4c31a06fd34d64306624c8cd8d0def7abb08792a5abfd556", + "sha256:f67bfdb83a8232cb7a92b869f9355d677bce24485c460b19d01970b64b2ed476", + "sha256:f883a22a56a84dba3b588696a2b8a1ab0d2c3d41be53264115c71b0a942d8fdb", + "sha256:fbdeeb58c0cf0595efe89c05c224e0a502d1aa6a8696e68a73c3efc6bc354304" + ], + "index": "pypi", + "version": "==3.7.1" + }, + "matplotlib-inline": { + "hashes": [ + "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311", + "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304" + ], + "markers": "python_version >= '3.5'", + "version": "==0.1.6" + }, + "nest-asyncio": { + "hashes": [ + "sha256:b9a953fb40dceaa587d109609098db21900182b16440652454a146cffb06e8b8", + "sha256:d267cc1ff794403f7df692964d1d2a3fa9418ffea2a3f6859a439ff482fef290" + ], + "markers": "python_version >= '3.5'", + "version": "==1.5.6" + }, + "numpy": { + "hashes": [ + "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187", + "sha256:1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812", + "sha256:202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7", + "sha256:210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4", + "sha256:2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6", + "sha256:352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0", + "sha256:35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4", + "sha256:3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570", + "sha256:4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4", + "sha256:4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f", + "sha256:5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80", + "sha256:56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289", + "sha256:76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385", + "sha256:7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078", + "sha256:784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c", + "sha256:8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463", + "sha256:9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3", + "sha256:a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950", + "sha256:ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155", + "sha256:ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7", + "sha256:ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c", + "sha256:c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096", + "sha256:d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17", + "sha256:d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf", + "sha256:d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4", + "sha256:ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02", + "sha256:ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c", + "sha256:f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b" + ], + "index": "pypi", + "version": "==1.24.3" + }, + "packaging": { + "hashes": [ + "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", + "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f" + ], + "markers": "python_version >= '3.7'", + "version": "==23.1" + }, + "pandas": { + "hashes": [ + "sha256:02755de164da6827764ceb3bbc5f64b35cb12394b1024fdf88704d0fa06e0e2f", + "sha256:0a1e0576611641acde15c2322228d138258f236d14b749ad9af498ab69089e2d", + "sha256:1eb09a242184092f424b2edd06eb2b99d06dc07eeddff9929e8667d4ed44e181", + "sha256:30a89d0fec4263ccbf96f68592fd668939481854d2ff9da709d32a047689393b", + "sha256:50e451932b3011b61d2961b4185382c92cc8c6ee4658dcd4f320687bb2d000ee", + "sha256:51a93d422fbb1bd04b67639ba4b5368dffc26923f3ea32a275d2cc450f1d1c86", + "sha256:598e9020d85a8cdbaa1815eb325a91cfff2bb2b23c1442549b8a3668e36f0f77", + "sha256:66d00300f188fa5de73f92d5725ced162488f6dc6ad4cecfe4144ca29debe3b8", + "sha256:69167693cb8f9b3fc060956a5d0a0a8dbfed5f980d9fd2c306fb5b9c855c814c", + "sha256:6d6d10c2142d11d40d6e6c0a190b1f89f525bcf85564707e31b0a39e3b398e08", + "sha256:713f2f70abcdade1ddd68fc91577cb090b3544b07ceba78a12f799355a13ee44", + "sha256:7376e13d28eb16752c398ca1d36ccfe52bf7e887067af9a0474de6331dd948d2", + "sha256:77550c8909ebc23e56a89f91b40ad01b50c42cfbfab49b3393694a50549295ea", + "sha256:7b21cb72958fc49ad757685db1919021d99650d7aaba676576c9e88d3889d456", + "sha256:9ebb9f1c22ddb828e7fd017ea265a59d80461d5a79154b49a4207bd17514d122", + "sha256:a18e5c72b989ff0f7197707ceddc99828320d0ca22ab50dd1b9e37db45b010c0", + "sha256:a6b5f14cd24a2ed06e14255ff40fe2ea0cfaef79a8dd68069b7ace74bd6acbba", + "sha256:b42b120458636a981077cfcfa8568c031b3e8709701315e2bfa866324a83efa8", + "sha256:c4af689352c4fe3d75b2834933ee9d0ccdbf5d7a8a7264f0ce9524e877820c08", + "sha256:c7319b6e68de14e6209460f72a8d1ef13c09fb3d3ef6c37c1e65b35d50b5c145", + "sha256:cf3f0c361a4270185baa89ec7ab92ecaa355fe783791457077473f974f654df5", + "sha256:dd46bde7309088481b1cf9c58e3f0e204b9ff9e3244f441accd220dd3365ce7c", + "sha256:dd5476b6c3fe410ee95926873f377b856dbc4e81a9c605a0dc05aaccc6a7c6c6", + "sha256:e69140bc2d29a8556f55445c15f5794490852af3de0f609a24003ef174528b79", + "sha256:f908a77cbeef9bbd646bd4b81214cbef9ac3dda4181d5092a4aa9797d1bc7774" + ], + "index": "pypi", + "version": "==2.0.2" + }, + "parso": { + "hashes": [ + "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0", + "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75" + ], + "markers": "python_version >= '3.6'", + "version": "==0.8.3" + }, + "pexpect": { + "hashes": [ + "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", + "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" + ], + "markers": "sys_platform != 'win32'", + "version": "==4.8.0" + }, + "pickleshare": { + "hashes": [ + "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", + "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" + ], + "version": "==0.7.5" + }, + "pillow": { + "hashes": [ + "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1", + "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba", + "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a", + "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799", + "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51", + "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb", + "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5", + "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270", + "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6", + "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47", + "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf", + "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e", + "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b", + "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66", + "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865", + "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec", + "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c", + "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1", + "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38", + "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906", + "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705", + "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef", + "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc", + "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f", + "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf", + "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392", + "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d", + "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe", + "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32", + "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5", + "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7", + "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44", + "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d", + "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3", + "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625", + "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e", + "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829", + "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089", + "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3", + "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78", + "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96", + "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964", + "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597", + "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99", + "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a", + "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140", + "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7", + "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16", + "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903", + "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1", + "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296", + "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572", + "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115", + "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a", + "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd", + "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4", + "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1", + "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb", + "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa", + "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a", + "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569", + "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c", + "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf", + "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082", + "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062", + "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579" + ], + "markers": "python_version >= '3.7'", + "version": "==9.5.0" + }, + "pkginfo": { + "hashes": [ + "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546", + "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046" + ], + "markers": "python_version >= '3.6'", + "version": "==1.9.6" + }, + "platformdirs": { + "hashes": [ + "sha256:412dae91f52a6f84830f39a8078cecd0e866cb72294a5c66808e74d5e88d251f", + "sha256:e2378146f1964972c03c085bb5662ae80b2b8c06226c54b2ff4aa9483e8a13a5" + ], + "markers": "python_version >= '3.7'", + "version": "==3.5.1" + }, + "plotly": { + "hashes": [ + "sha256:3508876bbd6aefb8a692c21a7128ca87ce42498dd041efa5c933ee44b55aab24", + "sha256:822eabe53997d5ebf23c77e1d1fcbf3bb6aa745eb05d532afd4b6f9a2e2ab02f" + ], + "index": "pypi", + "version": "==5.15.0" + }, + "prompt-toolkit": { + "hashes": [ + "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b", + "sha256:45ea77a2f7c60418850331366c81cf6b5b9cf4c7fd34616f733c5427e6abbb1f" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==3.0.38" + }, + "psutil": { + "hashes": [ + "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d", + "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217", + "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4", + "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c", + "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f", + "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da", + "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4", + "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42", + "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5", + "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4", + "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9", + "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f", + "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30", + "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==5.9.5" + }, + "ptyprocess": { + "hashes": [ + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" + ], + "version": "==0.7.0" + }, + "pure-eval": { + "hashes": [ + "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350", + "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3" + ], + "version": "==0.2.2" + }, + "pyarrow": { + "hashes": [ + "sha256:0846ace49998825eda4722f8d7f83fa05601c832549c9087ea49d6d5397d8cec", + "sha256:0d8b90efc290e99a81d06015f3a46601c259ecc81ffb6d8ce288c91bd1b868c9", + "sha256:0e36425b1c1cbf5447718b3f1751bf86c58f2b3ad299f996cd9b1aa040967656", + "sha256:19c812d303610ab5d664b7b1de4051ae23565f9f94d04cbea9e50569746ae1ee", + "sha256:1b50bb9a82dca38a002d7cbd802a16b1af0f8c50ed2ec94a319f5f2afc047ee9", + "sha256:1d568acfca3faa565d663e53ee34173be8e23a95f78f2abfdad198010ec8f745", + "sha256:23a77d97f4d101ddfe81b9c2ee03a177f0e590a7e68af15eafa06e8f3cf05976", + "sha256:2466be046b81863be24db370dffd30a2e7894b4f9823fb60ef0a733c31ac6256", + "sha256:272f147d4f8387bec95f17bb58dcfc7bc7278bb93e01cb7b08a0e93a8921e18e", + "sha256:280289ebfd4ac3570f6b776515baa01e4dcbf17122c401e4b7170a27c4be63fd", + "sha256:2cc63e746221cddb9001f7281dee95fd658085dd5b717b076950e1ccc607059c", + "sha256:3b97649c8a9a09e1d8dc76513054f1331bd9ece78ee39365e6bf6bc7503c1e94", + "sha256:3d1733b1ea086b3c101427d0e57e2be3eb964686e83c2363862a887bb5c41fa8", + "sha256:5b0810864a593b89877120972d1f7af1d1c9389876dbed92b962ed81492d3ffc", + "sha256:7a7b6a765ee4f88efd7d8348d9a1f804487d60799d0428b6ddf3344eaef37282", + "sha256:7b5b9f60d9ef756db59bec8d90e4576b7df57861e6a3d6a8bf99538f68ca15b3", + "sha256:92fb031e6777847f5c9b01eaa5aa0c9033e853ee80117dce895f116d8b0c3ca3", + "sha256:993287136369aca60005ee7d64130f9466489c4f7425f5c284315b0a5401ccd9", + "sha256:a1c4fce253d5bdc8d62f11cfa3da5b0b34b562c04ce84abb8bd7447e63c2b327", + "sha256:a7cd32fe77f967fe08228bc100433273020e58dd6caced12627bcc0a7675a513", + "sha256:b99e559d27db36ad3a33868a475f03e3129430fc065accc839ef4daa12c6dab6", + "sha256:bc4ea634dacb03936f50fcf59574a8e727f90c17c24527e488d8ceb52ae284de", + "sha256:d8c26912607e26c2991826bbaf3cf2b9c8c3e17566598c193b492f058b40d3a4", + "sha256:e6be4d85707fc8e7a221c8ab86a40449ce62559ce25c94321df7c8500245888f", + "sha256:ea830d9f66bfb82d30b5794642f83dd0e4a718846462d22328981e9eb149cba8" + ], + "markers": "python_version >= '3.7'", + "version": "==12.0.0" + }, + "pygments": { + "hashes": [ + "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c", + "sha256:db2db3deb4b4179f399a09054b023b6a586b76499d36965813c71aa8ed7b5fd1" + ], + "markers": "python_version >= '3.7'", + "version": "==2.15.1" + }, + "pyparsing": { + "hashes": [ + "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", + "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" + ], + "markers": "python_full_version >= '3.6.8'", + "version": "==3.0.9" + }, + "python-dateutil": { + "hashes": [ + "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", + "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.8.2" + }, + "python-dotenv": { + "hashes": [ + "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba", + "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a" + ], + "index": "pypi", + "version": "==1.0.0" + }, + "pytz": { + "hashes": [ + "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588", + "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb" + ], + "version": "==2023.3" + }, + "pyzmq": { + "hashes": [ + "sha256:01f06f33e12497dca86353c354461f75275a5ad9eaea181ac0dc1662da8074fa", + "sha256:0b6b42f7055bbc562f63f3df3b63e3dd1ebe9727ff0f124c3aa7bcea7b3a00f9", + "sha256:0c4fc2741e0513b5d5a12fe200d6785bbcc621f6f2278893a9ca7bed7f2efb7d", + "sha256:108c96ebbd573d929740d66e4c3d1bdf31d5cde003b8dc7811a3c8c5b0fc173b", + "sha256:13bbe36da3f8aaf2b7ec12696253c0bf6ffe05f4507985a8844a1081db6ec22d", + "sha256:154bddda2a351161474b36dba03bf1463377ec226a13458725183e508840df89", + "sha256:19d0383b1f18411d137d891cab567de9afa609b214de68b86e20173dc624c101", + "sha256:1a6169e69034eaa06823da6a93a7739ff38716142b3596c180363dee729d713d", + "sha256:1fc56a0221bdf67cfa94ef2d6ce5513a3d209c3dfd21fed4d4e87eca1822e3a3", + "sha256:2a21fec5c3cea45421a19ccbe6250c82f97af4175bc09de4d6dd78fb0cb4c200", + "sha256:2b15247c49d8cbea695b321ae5478d47cffd496a2ec5ef47131a9e79ddd7e46c", + "sha256:2f5efcc29056dfe95e9c9db0dfbb12b62db9c4ad302f812931b6d21dd04a9119", + "sha256:2f666ae327a6899ff560d741681fdcdf4506f990595201ed39b44278c471ad98", + "sha256:332616f95eb400492103ab9d542b69d5f0ff628b23129a4bc0a2fd48da6e4e0b", + "sha256:33d5c8391a34d56224bccf74f458d82fc6e24b3213fc68165c98b708c7a69325", + "sha256:3575699d7fd7c9b2108bc1c6128641a9a825a58577775ada26c02eb29e09c517", + "sha256:3830be8826639d801de9053cf86350ed6742c4321ba4236e4b5568528d7bfed7", + "sha256:3a522510e3434e12aff80187144c6df556bb06fe6b9d01b2ecfbd2b5bfa5c60c", + "sha256:3bed53f7218490c68f0e82a29c92335daa9606216e51c64f37b48eb78f1281f4", + "sha256:414b8beec76521358b49170db7b9967d6974bdfc3297f47f7d23edec37329b00", + "sha256:442d3efc77ca4d35bee3547a8e08e8d4bb88dadb54a8377014938ba98d2e074a", + "sha256:47b915ba666c51391836d7ed9a745926b22c434efa76c119f77bcffa64d2c50c", + "sha256:48e5e59e77c1a83162ab3c163fc01cd2eebc5b34560341a67421b09be0891287", + "sha256:4a82faae00d1eed4809c2f18b37f15ce39a10a1c58fe48b60ad02875d6e13d80", + "sha256:4a983c8694667fd76d793ada77fd36c8317e76aa66eec75be2653cef2ea72883", + "sha256:4c2fc7aad520a97d64ffc98190fce6b64152bde57a10c704b337082679e74f67", + "sha256:4cb27ef9d3bdc0c195b2dc54fcb8720e18b741624686a81942e14c8b67cc61a6", + "sha256:4d67609b37204acad3d566bb7391e0ecc25ef8bae22ff72ebe2ad7ffb7847158", + "sha256:5482f08d2c3c42b920e8771ae8932fbaa0a67dff925fc476996ddd8155a170f3", + "sha256:5489738a692bc7ee9a0a7765979c8a572520d616d12d949eaffc6e061b82b4d1", + "sha256:5693dcc4f163481cf79e98cf2d7995c60e43809e325b77a7748d8024b1b7bcba", + "sha256:58416db767787aedbfd57116714aad6c9ce57215ffa1c3758a52403f7c68cff5", + "sha256:5873d6a60b778848ce23b6c0ac26c39e48969823882f607516b91fb323ce80e5", + "sha256:5af31493663cf76dd36b00dafbc839e83bbca8a0662931e11816d75f36155897", + "sha256:5e7fbcafa3ea16d1de1f213c226005fea21ee16ed56134b75b2dede5a2129e62", + "sha256:65346f507a815a731092421d0d7d60ed551a80d9b75e8b684307d435a5597425", + "sha256:6581e886aec3135964a302a0f5eb68f964869b9efd1dbafdebceaaf2934f8a68", + "sha256:69511d604368f3dc58d4be1b0bad99b61ee92b44afe1cd9b7bd8c5e34ea8248a", + "sha256:7018289b402ebf2b2c06992813523de61d4ce17bd514c4339d8f27a6f6809492", + "sha256:71c7b5896e40720d30cd77a81e62b433b981005bbff0cb2f739e0f8d059b5d99", + "sha256:75217e83faea9edbc29516fc90c817bc40c6b21a5771ecb53e868e45594826b0", + "sha256:7e23a8c3b6c06de40bdb9e06288180d630b562db8ac199e8cc535af81f90e64b", + "sha256:80c41023465d36280e801564a69cbfce8ae85ff79b080e1913f6e90481fb8957", + "sha256:831ba20b660b39e39e5ac8603e8193f8fce1ee03a42c84ade89c36a251449d80", + "sha256:851fb2fe14036cfc1960d806628b80276af5424db09fe5c91c726890c8e6d943", + "sha256:8751f9c1442624da391bbd92bd4b072def6d7702a9390e4479f45c182392ff78", + "sha256:8b45d722046fea5a5694cba5d86f21f78f0052b40a4bbbbf60128ac55bfcc7b6", + "sha256:8b697774ea8273e3c0460cf0bba16cd85ca6c46dfe8b303211816d68c492e132", + "sha256:90146ab578931e0e2826ee39d0c948d0ea72734378f1898939d18bc9c823fcf9", + "sha256:9301cf1d7fc1ddf668d0abbe3e227fc9ab15bc036a31c247276012abb921b5ff", + "sha256:95bd3a998d8c68b76679f6b18f520904af5204f089beebb7b0301d97704634dd", + "sha256:968b0c737797c1809ec602e082cb63e9824ff2329275336bb88bd71591e94a90", + "sha256:97d984b1b2f574bc1bb58296d3c0b64b10e95e7026f8716ed6c0b86d4679843f", + "sha256:9e68ae9864d260b18f311b68d29134d8776d82e7f5d75ce898b40a88df9db30f", + "sha256:adecf6d02b1beab8d7c04bc36f22bb0e4c65a35eb0b4750b91693631d4081c70", + "sha256:af56229ea6527a849ac9fb154a059d7e32e77a8cba27e3e62a1e38d8808cb1a5", + "sha256:b324fa769577fc2c8f5efcd429cef5acbc17d63fe15ed16d6dcbac2c5eb00849", + "sha256:b5a07c4f29bf7cb0164664ef87e4aa25435dcc1f818d29842118b0ac1eb8e2b5", + "sha256:bad172aba822444b32eae54c2d5ab18cd7dee9814fd5c7ed026603b8cae2d05f", + "sha256:bdca18b94c404af6ae5533cd1bc310c4931f7ac97c148bbfd2cd4bdd62b96253", + "sha256:be24a5867b8e3b9dd5c241de359a9a5217698ff616ac2daa47713ba2ebe30ad1", + "sha256:be86a26415a8b6af02cd8d782e3a9ae3872140a057f1cadf0133de685185c02b", + "sha256:c66b7ff2527e18554030319b1376d81560ca0742c6e0b17ff1ee96624a5f1afd", + "sha256:c8398a1b1951aaa330269c35335ae69744be166e67e0ebd9869bdc09426f3871", + "sha256:cad9545f5801a125f162d09ec9b724b7ad9b6440151b89645241d0120e119dcc", + "sha256:cb6d161ae94fb35bb518b74bb06b7293299c15ba3bc099dccd6a5b7ae589aee3", + "sha256:d40682ac60b2a613d36d8d3a0cd14fbdf8e7e0618fbb40aa9fa7b796c9081584", + "sha256:d6128d431b8dfa888bf51c22a04d48bcb3d64431caf02b3cb943269f17fd2994", + "sha256:dbc466744a2db4b7ca05589f21ae1a35066afada2f803f92369f5877c100ef62", + "sha256:ddbef8b53cd16467fdbfa92a712eae46dd066aa19780681a2ce266e88fbc7165", + "sha256:e21cc00e4debe8f54c3ed7b9fcca540f46eee12762a9fa56feb8512fd9057161", + "sha256:eb52e826d16c09ef87132c6e360e1879c984f19a4f62d8a935345deac43f3c12", + "sha256:f0d9e7ba6a815a12c8575ba7887da4b72483e4cfc57179af10c9b937f3f9308f", + "sha256:f1e931d9a92f628858a50f5bdffdfcf839aebe388b82f9d2ccd5d22a38a789dc", + "sha256:f45808eda8b1d71308c5416ef3abe958f033fdbb356984fabbfc7887bed76b3f", + "sha256:f6d39e42a0aa888122d1beb8ec0d4ddfb6c6b45aecb5ba4013c27e2f28657765", + "sha256:fc34fdd458ff77a2a00e3c86f899911f6f269d393ca5675842a6e92eea565bae" + ], + "markers": "python_version >= '3.6'", + "version": "==25.1.0" + }, + "s3transfer": { + "hashes": [ + "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346", + "sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9" + ], + "markers": "python_version >= '3.7'", + "version": "==0.6.1" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + }, + "stack-data": { + "hashes": [ + "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815", + "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8" + ], + "version": "==0.6.2" + }, + "tenacity": { + "hashes": [ + "sha256:2f277afb21b851637e8f52e6a613ff08734c347dc19ade928e519d7d2d8569b0", + "sha256:43af037822bd0029025877f3b2d97cc4d7bb0c2991000a3d59d71517c5c969e0" + ], + "markers": "python_version >= '3.6'", + "version": "==8.2.2" + }, + "tornado": { + "hashes": [ + "sha256:05615096845cf50a895026f749195bf0b10b8909f9be672f50b0fe69cba368e4", + "sha256:0c325e66c8123c606eea33084976c832aa4e766b7dff8aedd7587ea44a604cdf", + "sha256:29e71c847a35f6e10ca3b5c2990a52ce38b233019d8e858b755ea6ce4dcdd19d", + "sha256:4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba", + "sha256:5b17b1cf5f8354efa3d37c6e28fdfd9c1c1e5122f2cb56dac121ac61baa47cbe", + "sha256:6a0848f1aea0d196a7c4f6772197cbe2abc4266f836b0aac76947872cd29b411", + "sha256:7efcbcc30b7c654eb6a8c9c9da787a851c18f8ccd4a5a3a95b05c7accfa068d2", + "sha256:834ae7540ad3a83199a8da8f9f2d383e3c3d5130a328889e4cc991acc81e87a0", + "sha256:b46a6ab20f5c7c1cb949c72c1994a4585d2eaa0be4853f50a03b5031e964fc7c", + "sha256:c2de14066c4a38b4ecbbcd55c5cc4b5340eb04f1c5e81da7451ef555859c833f", + "sha256:c367ab6c0393d71171123ca5515c61ff62fe09024fa6bf299cd1339dc9456829" + ], + "markers": "python_version >= '3.8'", + "version": "==6.3.2" + }, + "traitlets": { + "hashes": [ + "sha256:9e6ec080259b9a5940c797d58b613b5e31441c2257b87c2e795c5228ae80d2d8", + "sha256:f6cde21a9c68cf756af02035f72d5a723bf607e862e7be33ece505abf4a3bad9" + ], + "markers": "python_version >= '3.7'", + "version": "==5.9.0" + }, + "typing-extensions": { + "hashes": [ + "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26", + "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5" + ], + "markers": "python_version >= '3.7'", + "version": "==4.6.3" + }, + "tzdata": { + "hashes": [ + "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a", + "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda" + ], + "markers": "python_version >= '2'", + "version": "==2023.3" + }, + "urllib3": { + "hashes": [ + "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f", + "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==1.26.16" + }, + "wcwidth": { + "hashes": [ + "sha256:795b138f6875577cd91bba52baf9e445cd5118fd32723b460e30a0af30ea230e", + "sha256:a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0" + ], + "version": "==0.2.6" + }, + "widgetsnbextension": { + "hashes": [ + "sha256:be3228a73bbab189a16be2d4a3cd89ecbd4e31948bfdc64edac17dcdee3cd99c", + "sha256:ea67c17a7cd4ae358f8f46c3b304c40698bc0423732e3f273321ee141232c8be" + ], + "markers": "python_version >= '3.7'", + "version": "==4.0.7" + }, + "zipp": { + "hashes": [ + "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b", + "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556" + ], + "markers": "python_version >= '3.7'", + "version": "==3.15.0" + } + }, + "develop": {} +} diff --git a/requirements.txt b/requirements.txt index bf030cd..74f45cd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,64 @@ -awswrangler -boto3 -IPython -ipywidgets -matplotlib -numpy -pandas -plotly -python-dotenv - +appnope==0.1.3 +asttokens==2.2.1 +awswrangler==3.1.1 +backcall==0.2.0 +boto3==1.26.150 +botocore==1.29.150 +cloudpickle==2.2.1 +comm==0.1.3 +contourpy==1.0.7 +cycler==0.11.0 +debugpy==1.6.7 +decorator==5.1.1 +doit==0.36.0 +executing==1.2.0 +fonttools==4.39.4 +importlib-metadata==6.6.0 +importlib-resources==5.12.0 +ipykernel==6.23.1 +ipython==8.14.0 +ipywidgets==8.0.6 +jedi==0.18.2 +jmespath==1.0.1 +jupyter_client==8.2.0 +jupyter_core==5.3.0 +jupyterlab-widgets==3.0.7 +jupyterlite-core==0.1.0 +jupyterlite-pyodide-kernel==0.0.8 +kiwisolver==1.4.4 +matplotlib==3.7.1 +matplotlib-inline==0.1.6 +nest-asyncio==1.5.6 +numpy==1.24.3 +packaging==23.1 +pandas==2.0.2 +parso==0.8.3 +pexpect==4.8.0 +pickleshare==0.7.5 +Pillow==9.5.0 +pkginfo==1.9.6 +platformdirs==3.5.1 +plotly==5.15.0 +prompt-toolkit==3.0.38 +psutil==5.9.5 +ptyprocess==0.7.0 +pure-eval==0.2.2 +pyarrow==12.0.0 +Pygments==2.15.1 +pyparsing==3.0.9 +python-dateutil==2.8.2 +python-dotenv==1.0.0 +pytz==2023.3 +pyzmq==25.1.0 +s3transfer==0.6.1 +six==1.16.0 +stack-data==0.6.2 +tenacity==8.2.2 +tornado==6.3.2 +traitlets==5.9.0 +typing_extensions==4.6.3 +tzdata==2023.3 +urllib3==1.26.16 +wcwidth==0.2.6 +widgetsnbextension==4.0.7 +zipp==3.15.0 From 3c51423975ebe25e7df4fcf11a2fbb1ba8cdbbc3 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 12:57:56 -0400 Subject: [PATCH 02/12] Initial build --- static/bootstrap.js | 93 +++++ static/config-utils.js | 267 ++++++++++++++ static/doc/workspaces/index.html | 14 + .../jupyterlab-manager/install.json | 5 + .../jupyterlab-manager/package.json | 99 ++++++ .../jupyterlab-manager/package.json.orig | 95 +++++ .../jupyterlab-manager/plugin.json | 14 + .../static/113.270dbb43db912c1b3723.js | 2 + .../113.270dbb43db912c1b3723.js.LICENSE.txt | 6 + .../static/134.402424ef4079078b2e0e.js | 1 + .../static/150.1a6d6a3a0542a41bec5a.js | 1 + .../static/291.0b98a9cbc7337e1749ed.js | 2 + .../291.0b98a9cbc7337e1749ed.js.LICENSE.txt | 24 ++ .../static/345.03be96cd091aac4797a5.js | 1 + .../static/495.ea5e18a84b54f152ae61.js | 1 + .../static/595.b7741b41fd98f8f3d844.js | 1 + .../static/596.340cb969418e72309eb4.js | 1 + .../static/61.21f571face17e35076c2.js | 1 + .../static/644.7d1bff49f8e38fac4070.js | 1 + .../static/699.2ea6ecfcddb8f3bb4732.js | 1 + .../static/965.b0caf50c6bbde92efb37.js | 1 + .../remoteEntry.35e76720037cafa02724.js | 1 + .../jupyterlab-manager/static/style.js | 4 + .../static/third-party-licenses.json | 196 +++++++++++ .../pyodide-kernel-extension/install.json | 5 + .../pyodide-kernel-extension/package.json | 93 +++++ .../static/518.a3c6a3ae7ee95e5158aa.js | 3 + .../518.a3c6a3ae7ee95e5158aa.js.LICENSE.txt | 5 + .../static/518.a3c6a3ae7ee95e5158aa.js.map | 1 + .../static/568.371c75f0cd43fa31532d.js | 3 + .../568.371c75f0cd43fa31532d.js.LICENSE.txt | 5 + .../static/568.371c75f0cd43fa31532d.js.map | 1 + .../static/652.07cda501733578161e13.js | 2 + .../static/652.07cda501733578161e13.js.map | 1 + .../static/951.b9fa6250974e699a3731.js | 3 + .../951.b9fa6250974e699a3731.js.LICENSE.txt | 9 + .../static/951.b9fa6250974e699a3731.js.map | 1 + .../static/pypi/all.json | 128 +++++++ .../pypi/ipykernel-6.9.2-py3-none-any.whl | Bin 0 -> 6512 bytes .../pypi/piplite-0.0.8-py3-none-any.whl | Bin 0 -> 6720 bytes .../pyodide_kernel-0.0.8-py3-none-any.whl | Bin 0 -> 8221 bytes .../widgetsnbextension-3.6.4-py3-none-any.whl | Bin 0 -> 2337 bytes .../widgetsnbextension-4.0.7-py3-none-any.whl | Bin 0 -> 2337 bytes .../remoteEntry.b340cae4b3c1bda6a7fd.js | 2 + .../remoteEntry.b340cae4b3c1bda6a7fd.js.map | 1 + .../static/schema/kernel.v0.schema.json | 29 ++ .../static/schema/piplite.v0.schema.json | 113 ++++++ .../pyodide-kernel-extension/static/style.js | 4 + .../static/third-party-licenses.json | 22 ++ .../install.json | 5 + .../package.json | 93 +++++ .../static/568.11e2a1073dedb0d7c64b.js | 1 + .../static/747.9a8b7abcd88da875bb07.js | 1 + .../remoteEntry.74a375733b4162d461a9.js | 1 + .../static/style.js | 4 + .../static/third-party-licenses.json | 16 + .../extensions/jupyterlab-plotly/package.json | 86 +++++ .../static/133.5342d9bec93d5de59ad2.js | 1 + .../static/423.d0d3e2912c33c7566484.js | 1 + .../static/478.247fddac0148cc4e151b.js | 2 + .../478.247fddac0148cc4e151b.js.LICENSE.txt | 53 +++ .../static/486.6450efe6168c2f8caddb.js | 2 + .../486.6450efe6168c2f8caddb.js.LICENSE.txt | 8 + .../static/657.d89469e0b1d5bb171fde.js | 1 + .../static/855.323c80e7298812d692e7.js | 1 + .../remoteEntry.f294278414d0a929e4ae.js | 1 + .../jupyterlab-plotly/static/style.js | 4 + .../static/third-party-licenses.json | 28 ++ static/icon-120x120.png | Bin 0 -> 4609 bytes static/icon-512x512.png | Bin 0 -> 20954 bytes static/index.html | 68 ++++ static/jupyter-lite.ipynb | 55 +++ static/jupyter-lite.json | 17 + static/jupyterlite.schema.v0.json | 331 ++++++++++++++++++ static/kernelspecs/javascript.svg | 1 + static/lab/favicon.ico | Bin 0 -> 324251 bytes static/lab/index.html | 36 ++ static/lab/jupyter-lite.ipynb | 55 +++ static/lab/jupyter-lite.json | 7 + static/lab/package.json | 265 ++++++++++++++ static/lab/tree/index.html | 14 + static/lab/workspaces/index.html | 14 + static/manifest.webmanifest | 32 ++ static/package.json | 50 +++ static/repl/index.html | 36 ++ static/repl/jupyter-lite.ipynb | 55 +++ static/repl/jupyter-lite.json | 7 + static/repl/package.json | 207 +++++++++++ static/retro/consoles/favicon.ico | Bin 0 -> 1150 bytes static/retro/consoles/index.html | 35 ++ static/retro/consoles/jupyter-lite.ipynb | 55 +++ static/retro/consoles/jupyter-lite.json | 8 + static/retro/edit/favicon.ico | Bin 0 -> 1150 bytes static/retro/edit/index.html | 35 ++ static/retro/edit/jupyter-lite.ipynb | 55 +++ static/retro/edit/jupyter-lite.json | 8 + static/retro/favicon.ico | Bin 0 -> 32038 bytes static/retro/index.html | 20 ++ static/retro/jupyter-lite.ipynb | 55 +++ static/retro/jupyter-lite.json | 8 + static/retro/notebooks/favicon.ico | Bin 0 -> 1150 bytes static/retro/notebooks/index.html | 36 ++ static/retro/notebooks/jupyter-lite.ipynb | 55 +++ static/retro/notebooks/jupyter-lite.json | 8 + static/retro/package.json | 232 ++++++++++++ static/retro/tree/index.html | 35 ++ static/retro/tree/jupyter-lite.ipynb | 55 +++ static/retro/tree/jupyter-lite.json | 7 + static/service-worker-b2fb40a.js | 1 + static/tree/index.html | 14 + 110 files changed, 3544 insertions(+) create mode 100644 static/bootstrap.js create mode 100644 static/config-utils.js create mode 100644 static/doc/workspaces/index.html create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/install.json create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/package.json create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js.LICENSE.txt create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/345.03be96cd091aac4797a5.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/495.ea5e18a84b54f152ae61.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/595.b7741b41fd98f8f3d844.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/596.340cb969418e72309eb4.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/61.21f571face17e35076c2.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/644.7d1bff49f8e38fac4070.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/699.2ea6ecfcddb8f3bb4732.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/965.b0caf50c6bbde92efb37.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.35e76720037cafa02724.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/style.js create mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/third-party-licenses.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/install.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/package.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js.LICENSE.txt create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js.map create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js.LICENSE.txt create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js.map create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/652.07cda501733578161e13.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/652.07cda501733578161e13.js.map create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js.LICENSE.txt create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js.map create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/ipykernel-6.9.2-py3-none-any.whl create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/piplite-0.0.8-py3-none-any.whl create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/pyodide_kernel-0.0.8-py3-none-any.whl create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/widgetsnbextension-3.6.4-py3-none-any.whl create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/widgetsnbextension-4.0.7-py3-none-any.whl create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.b340cae4b3c1bda6a7fd.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.b340cae4b3c1bda6a7fd.js.map create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js create mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json create mode 100644 static/extensions/jupyterlab-open-url-parameter/install.json create mode 100644 static/extensions/jupyterlab-open-url-parameter/package.json create mode 100644 static/extensions/jupyterlab-open-url-parameter/static/568.11e2a1073dedb0d7c64b.js create mode 100644 static/extensions/jupyterlab-open-url-parameter/static/747.9a8b7abcd88da875bb07.js create mode 100644 static/extensions/jupyterlab-open-url-parameter/static/remoteEntry.74a375733b4162d461a9.js create mode 100644 static/extensions/jupyterlab-open-url-parameter/static/style.js create mode 100644 static/extensions/jupyterlab-open-url-parameter/static/third-party-licenses.json create mode 100644 static/extensions/jupyterlab-plotly/package.json create mode 100644 static/extensions/jupyterlab-plotly/static/133.5342d9bec93d5de59ad2.js create mode 100644 static/extensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js create mode 100644 static/extensions/jupyterlab-plotly/static/478.247fddac0148cc4e151b.js create mode 100644 static/extensions/jupyterlab-plotly/static/478.247fddac0148cc4e151b.js.LICENSE.txt create mode 100644 static/extensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js create mode 100644 static/extensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js.LICENSE.txt create mode 100644 static/extensions/jupyterlab-plotly/static/657.d89469e0b1d5bb171fde.js create mode 100644 static/extensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js create mode 100644 static/extensions/jupyterlab-plotly/static/remoteEntry.f294278414d0a929e4ae.js create mode 100644 static/extensions/jupyterlab-plotly/static/style.js create mode 100644 static/extensions/jupyterlab-plotly/static/third-party-licenses.json create mode 100644 static/icon-120x120.png create mode 100644 static/icon-512x512.png create mode 100644 static/index.html create mode 100644 static/jupyter-lite.ipynb create mode 100644 static/jupyter-lite.json create mode 100644 static/jupyterlite.schema.v0.json create mode 100644 static/kernelspecs/javascript.svg create mode 100644 static/lab/favicon.ico create mode 100644 static/lab/index.html create mode 100644 static/lab/jupyter-lite.ipynb create mode 100644 static/lab/jupyter-lite.json create mode 100644 static/lab/package.json create mode 100644 static/lab/tree/index.html create mode 100644 static/lab/workspaces/index.html create mode 100644 static/manifest.webmanifest create mode 100644 static/package.json create mode 100644 static/repl/index.html create mode 100644 static/repl/jupyter-lite.ipynb create mode 100644 static/repl/jupyter-lite.json create mode 100644 static/repl/package.json create mode 100644 static/retro/consoles/favicon.ico create mode 100644 static/retro/consoles/index.html create mode 100644 static/retro/consoles/jupyter-lite.ipynb create mode 100644 static/retro/consoles/jupyter-lite.json create mode 100644 static/retro/edit/favicon.ico create mode 100644 static/retro/edit/index.html create mode 100644 static/retro/edit/jupyter-lite.ipynb create mode 100644 static/retro/edit/jupyter-lite.json create mode 100644 static/retro/favicon.ico create mode 100644 static/retro/index.html create mode 100644 static/retro/jupyter-lite.ipynb create mode 100644 static/retro/jupyter-lite.json create mode 100644 static/retro/notebooks/favicon.ico create mode 100644 static/retro/notebooks/index.html create mode 100644 static/retro/notebooks/jupyter-lite.ipynb create mode 100644 static/retro/notebooks/jupyter-lite.json create mode 100644 static/retro/package.json create mode 100644 static/retro/tree/index.html create mode 100644 static/retro/tree/jupyter-lite.ipynb create mode 100644 static/retro/tree/jupyter-lite.json create mode 100644 static/service-worker-b2fb40a.js create mode 100644 static/tree/index.html diff --git a/static/bootstrap.js b/static/bootstrap.js new file mode 100644 index 0000000..917b4f5 --- /dev/null +++ b/static/bootstrap.js @@ -0,0 +1,93 @@ +/*----------------------------------------------------------------------------- +| Copyright (c) Jupyter Development Team. +| Distributed under the terms of the Modified BSD License. +|----------------------------------------------------------------------------*/ + +// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils +// below, since this must run before any other files are loaded (including +// @jupyterlab/coreutils). + +/** + * Get global configuration data for the Jupyter application. + * + * @param name - The name of the configuration option. + * + * @returns The config value or an empty string if not found. + * + * #### Notes + * All values are treated as strings. For browser based applications, it is + * assumed that the page HTML includes a script tag with the id + * `jupyter-config-data` containing the configuration as valid JSON. + */ + +let _CONFIG_DATA = null; +function getOption(name) { + if (_CONFIG_DATA === null) { + let configData = {}; + // Use script tag if available. + if (typeof document !== 'undefined' && document) { + const el = document.getElementById('jupyter-config-data'); + + if (el) { + configData = JSON.parse(el.textContent || '{}'); + } + } + _CONFIG_DATA = configData; + } + + return _CONFIG_DATA[name] || ''; +} + +// eslint-disable-next-line no-undef +__webpack_public_path__ = getOption('fullStaticUrl') + '/'; + +function loadScript(url) { + return new Promise((resolve, reject) => { + const newScript = document.createElement('script'); + newScript.onerror = reject; + newScript.onload = resolve; + newScript.async = true; + document.head.appendChild(newScript); + newScript.src = url; + }); +} + +async function loadComponent(url, scope) { + await loadScript(url); + + // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers + await __webpack_init_sharing__('default'); + const container = window._JUPYTERLAB[scope]; + // Initialize the container, it may provide shared modules and may need ours + await container.init(__webpack_share_scopes__.default); +} + +void (async function bootstrap() { + // This is all the data needed to load and activate plugins. This should be + // gathered by the server and put onto the initial page template. + const extension_data = getOption('federated_extensions'); + + // We first load all federated components so that the shared module + // deduplication can run and figure out which shared modules from all + // components should be actually used. We have to do this before importing + // and using the module that actually uses these components so that all + // dependencies are initialized. + let labExtensionUrl = getOption('fullLabextensionsUrl'); + const extensions = await Promise.allSettled( + extension_data.map(async data => { + await loadComponent(`${labExtensionUrl}/${data.name}/${data.load}`, data.name); + }) + ); + + extensions.forEach(p => { + if (p.status === 'rejected') { + // There was an error loading the component + console.error(p.reason); + } + }); + + // Now that all federated containers are initialized with the main + // container, we can import the main function. + let main = (await import('./index.js')).main; + void main(); +})(); diff --git a/static/config-utils.js b/static/config-utils.js new file mode 100644 index 0000000..15867c6 --- /dev/null +++ b/static/config-utils.js @@ -0,0 +1,267 @@ +/** + * configuration utilities for jupyter-lite + * + * this file may not import anything else, and exposes no API + */ + +/* + * An `index.html` should `await import('../config-utils.js')` after specifying + * the key `script` tags... + * + * ```html + * + * ``` + */ +const JUPYTER_CONFIG_ID = 'jupyter-config-data'; + +/* + * The JS-mangled name for `data-jupyter-lite-root` + */ +const LITE_ROOT_ATTR = 'jupyterLiteRoot'; + +/** + * The well-known filename that contains `#jupyter-config-data` and other goodies + */ +const LITE_FILES = ['jupyter-lite.json', 'jupyter-lite.ipynb']; + +/** + * And this link tag, used like so to load a bundle after configuration. + * + * ```html + * + * ``` + */ +const LITE_MAIN = 'jupyter-lite-main'; + +/** + * The current page, with trailing server junk stripped + */ +const HERE = `${window.location.origin}${window.location.pathname.replace( + /(\/|\/index.html)?$/, + '' +)}/`; + +/** + * The computed composite configuration + */ +let _JUPYTER_CONFIG; + +/** + * A handle on the config script, must exist, and will be overridden + */ +const CONFIG_SCRIPT = document.getElementById(JUPYTER_CONFIG_ID); + +/** + * The relative path to the root of this JupyterLite + */ +const RAW_LITE_ROOT = CONFIG_SCRIPT.dataset[LITE_ROOT_ATTR]; + +/** + * The fully-resolved path to the root of this JupyterLite + */ +const FULL_LITE_ROOT = new URL(RAW_LITE_ROOT, HERE).toString(); + +/** + * Paths that are joined with baseUrl to derive full URLs + */ +const UNPREFIXED_PATHS = ['licensesUrl', 'themesUrl']; + +/* a DOM parser for reading html files */ +const parser = new DOMParser(); + +/** + * Merge `jupyter-config-data` on the current page with: + * - the contents of `.jupyter-lite#/jupyter-config-data` + * - parent documents, and their `.jupyter-lite#/jupyter-config-data` + * ...up to `jupyter-lite-root`. + */ +async function jupyterConfigData() { + /** + * Return the value if already cached for some reason + */ + if (_JUPYTER_CONFIG != null) { + return _JUPYTER_CONFIG; + } + + let parent = new URL(HERE).toString(); + let promises = [getPathConfig(HERE)]; + while (parent != FULL_LITE_ROOT) { + parent = new URL('..', parent).toString(); + promises.unshift(getPathConfig(parent)); + } + + const configs = (await Promise.all(promises)).flat(); + + let finalConfig = configs.reduce(mergeOneConfig); + + // apply any final patches + finalConfig = dedupFederatedExtensions(finalConfig); + + // hoist to cache + _JUPYTER_CONFIG = finalConfig; + + return finalConfig; +} + +/** + * Merge a new configuration on top of the existing config + */ +function mergeOneConfig(memo, config) { + for (const [k, v] of Object.entries(config)) { + switch (k) { + // this list of extension names is appended + case 'disabledExtensions': + case 'federated_extensions': + memo[k] = [...(memo[k] || []), ...v]; + break; + // these `@org/pkg:plugin` are merged at the first level of values + case 'litePluginSettings': + case 'settingsOverrides': + if (!memo[k]) { + memo[k] = {}; + } + for (const [plugin, defaults] of Object.entries(v || {})) { + memo[k][plugin] = { ...(memo[k][plugin] || {}), ...defaults }; + } + break; + default: + memo[k] = v; + } + } + return memo; +} + +function dedupFederatedExtensions(config) { + const originalList = Object.keys(config || {})['federated_extensions'] || []; + const named = {}; + for (const ext of originalList) { + named[ext.name] = ext; + } + let allExtensions = [...Object.values(named)]; + allExtensions.sort((a, b) => a.name.localeCompare(b.name)); + return config; +} + +/** + * Load jupyter config data from (this) page and merge with + * `jupyter-lite.json#jupyter-config-data` + */ +async function getPathConfig(url) { + let promises = [getPageConfig(url)]; + for (const fileName of LITE_FILES) { + promises.unshift(getLiteConfig(url, fileName)); + } + return Promise.all(promises); +} + +/** + * The current normalized location + */ +function here() { + return window.location.href.replace(/(\/|\/index.html)?$/, '/'); +} + +/** + * Maybe fetch an `index.html` in this folder, which must contain the trailing slash. + */ +export async function getPageConfig(url = null) { + let script = CONFIG_SCRIPT; + + if (url != null) { + const text = await (await window.fetch(`${url}index.html`)).text(); + const doc = parser.parseFromString(text, 'text/html'); + script = doc.getElementById(JUPYTER_CONFIG_ID); + } + return fixRelativeUrls(url, JSON.parse(script.textContent)); +} + +/** + * Fetch a jupyter-lite JSON or Notebook in this folder, which must contain the trailing slash. + */ +export async function getLiteConfig(url, fileName) { + let text = '{}'; + let config = {}; + const liteUrl = `${url || HERE}${fileName}`; + try { + text = await (await window.fetch(liteUrl)).text(); + const json = JSON.parse(text); + const liteConfig = fileName.endsWith('.ipynb') + ? json['metadata']['jupyter-lite'] + : json; + config = liteConfig[JUPYTER_CONFIG_ID] || {}; + } catch (err) { + console.warn(`failed get ${JUPYTER_CONFIG_ID} from ${liteUrl}`); + } + return fixRelativeUrls(url, config); +} + +export function fixRelativeUrls(url, config) { + let urlBase = new URL(url || here()).pathname; + for (const [k, v] of Object.entries(config)) { + config[k] = fixOneRelativeUrl(k, v, url, urlBase); + } + return config; +} + +export function fixOneRelativeUrl(key, value, url, urlBase) { + if (key === 'litePluginSettings' || key === 'settingsOverrides') { + // these are plugin id-keyed objects, fix each plugin + return Object.entries(value || {}).reduce((m, [k, v]) => { + m[k] = fixRelativeUrls(url, v); + return m; + }, {}); + } else if ( + !UNPREFIXED_PATHS.includes(key) && + key.endsWith('Url') && + value.startsWith('./') + ) { + // themesUrls, etc. are joined in code with baseUrl, leave as-is: otherwise, clean + return `${urlBase}${value.slice(2)}`; + } else if (key.endsWith('Urls') && Array.isArray(value)) { + return value.map((v) => (v.startsWith('./') ? `${urlBase}${v.slice(2)}` : v)); + } + return value; +} + +/** + * Update with the as-configured favicon + */ +function addFavicon(config) { + const favicon = document.createElement('link'); + favicon.rel = 'icon'; + favicon.type = 'image/x-icon'; + favicon.href = config.faviconUrl; + document.head.appendChild(favicon); +} + +/** + * The main entry point. + */ +async function main() { + const config = await jupyterConfigData(); + if (config.baseUrl === new URL(here()).pathname) { + window.location.href = config.appUrl.replace(/\/?$/, '/index.html'); + return; + } + // rewrite the config + CONFIG_SCRIPT.textContent = JSON.stringify(config, null, 2); + addFavicon(config); + const preloader = document.getElementById(LITE_MAIN); + const bundle = document.createElement('script'); + bundle.src = preloader.href; + bundle.main = preloader.attributes.main; + document.head.appendChild(bundle); +} + +/** + * TODO: consider better pattern for invocation. + */ +await main(); diff --git a/static/doc/workspaces/index.html b/static/doc/workspaces/index.html new file mode 100644 index 0000000..9849b72 --- /dev/null +++ b/static/doc/workspaces/index.html @@ -0,0 +1,14 @@ + + + + + + diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json new file mode 100644 index 0000000..40c68e5 --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json @@ -0,0 +1,5 @@ +{ + "packageManager": "python", + "packageName": "jupyterlab_widgets", + "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package jupyterlab_widgets" +} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json new file mode 100644 index 0000000..180acbe --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json @@ -0,0 +1,99 @@ +{ + "name": "@jupyter-widgets/jupyterlab-manager", + "version": "5.0.7", + "description": "The JupyterLab extension providing Jupyter widgets.", + "keywords": [ + "jupyter", + "jupyterlab", + "jupyterlab notebook", + "jupyterlab-extension" + ], + "homepage": "https://github.com/jupyter-widgets/ipywidgets", + "bugs": { + "url": "https://github.com/jupyter-widgets/ipywidgets/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/jupyter-widgets/ipywidgets" + }, + "license": "BSD-3-Clause", + "author": "Project Jupyter", + "sideEffects": [ + "style/*.css" + ], + "main": "lib/index.js", + "types": "lib/index.d.ts", + "files": [ + "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}", + "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}", + "dist/*.js", + "schema/*.json" + ], + "scripts": { + "build": "jlpm build:lib && jlpm build:labextension:dev", + "build:labextension": "jupyter labextension build .", + "build:labextension:dev": "jupyter labextension build --development True .", + "build:lib": "tsc -b", + "build:prod": "jlpm build:lib && jlpm build:labextension", + "clean": "jlpm clean:lib", + "clean:all": "jlpm clean:lib && jlpm clean:labextension", + "clean:labextension": "rimraf labextension", + "clean:lib": "rimraf lib tsconfig.tsbuildinfo", + "eslint": "eslint . --ext .ts,.tsx --fix", + "eslint:check": "eslint . --ext .ts,.tsx", + "install:extension": "jlpm build", + "prepare": "jlpm clean && jlpm build:prod", + "watch": "jupyter labextension watch ." + }, + "dependencies": { + "@jupyter-widgets/base": "^6.0.4", + "@jupyter-widgets/base-manager": "^1.0.5", + "@jupyter-widgets/controls": "^5.0.5", + "@jupyter-widgets/output": "^6.0.4", + "@jupyterlab/application": "^3.0.0", + "@jupyterlab/docregistry": "^3.0.0", + "@jupyterlab/logconsole": "^3.0.0", + "@jupyterlab/mainmenu": "^3.0.0", + "@jupyterlab/nbformat": "^3.0.0", + "@jupyterlab/notebook": "^3.0.0", + "@jupyterlab/outputarea": "^3.0.0", + "@jupyterlab/rendermime": "^3.0.0", + "@jupyterlab/rendermime-interfaces": "^3.0.0", + "@jupyterlab/services": "^6.0.0", + "@jupyterlab/settingregistry": "^3.0.0", + "@jupyterlab/translation": "^3.0.0", + "@lumino/algorithm": "^1.9.1", + "@lumino/coreutils": "^1.11.1", + "@lumino/disposable": "^1.10.1", + "@lumino/properties": "^1.8.1", + "@lumino/signaling": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "@types/backbone": "1.4.14", + "jquery": "^3.1.1", + "semver": "^7.3.5" + }, + "devDependencies": { + "@jupyterlab/builder": "^3.0.0", + "@jupyterlab/cells": "^3.0.0", + "@types/semver": "^7.3.6", + "@typescript-eslint/eslint-plugin": "^5.8.0", + "@typescript-eslint/parser": "^5.8.0", + "eslint": "^8.5.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.3.2", + "rimraf": "^3.0.2", + "typescript": "~4.9.4" + }, + "jupyterlab": { + "extension": true, + "outputDir": "labextension", + "schemaDir": "./schema", + "_build": { + "load": "static/remoteEntry.35e76720037cafa02724.js", + "extension": "./extension" + } + }, + "gitHead": "80cef4439d02cd4865fcc6e9a00aeef124f95e82" +} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig new file mode 100644 index 0000000..c2a474d --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig @@ -0,0 +1,95 @@ +{ + "name": "@jupyter-widgets/jupyterlab-manager", + "version": "5.0.7", + "description": "The JupyterLab extension providing Jupyter widgets.", + "keywords": [ + "jupyter", + "jupyterlab", + "jupyterlab notebook", + "jupyterlab-extension" + ], + "homepage": "https://github.com/jupyter-widgets/ipywidgets", + "bugs": { + "url": "https://github.com/jupyter-widgets/ipywidgets/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/jupyter-widgets/ipywidgets" + }, + "license": "BSD-3-Clause", + "author": "Project Jupyter", + "sideEffects": [ + "style/*.css" + ], + "main": "lib/index.js", + "types": "lib/index.d.ts", + "files": [ + "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}", + "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}", + "dist/*.js", + "schema/*.json" + ], + "scripts": { + "build": "jlpm build:lib && jlpm build:labextension:dev", + "build:labextension": "jupyter labextension build .", + "build:labextension:dev": "jupyter labextension build --development True .", + "build:lib": "tsc -b", + "build:prod": "jlpm build:lib && jlpm build:labextension", + "clean": "jlpm clean:lib", + "clean:all": "jlpm clean:lib && jlpm clean:labextension", + "clean:labextension": "rimraf labextension", + "clean:lib": "rimraf lib tsconfig.tsbuildinfo", + "eslint": "eslint . --ext .ts,.tsx --fix", + "eslint:check": "eslint . --ext .ts,.tsx", + "install:extension": "jlpm build", + "prepare": "jlpm clean && jlpm build:prod", + "watch": "jupyter labextension watch ." + }, + "dependencies": { + "@jupyter-widgets/base": "^6.0.4", + "@jupyter-widgets/base-manager": "^1.0.5", + "@jupyter-widgets/controls": "^5.0.5", + "@jupyter-widgets/output": "^6.0.4", + "@jupyterlab/application": "^3.0.0", + "@jupyterlab/docregistry": "^3.0.0", + "@jupyterlab/logconsole": "^3.0.0", + "@jupyterlab/mainmenu": "^3.0.0", + "@jupyterlab/nbformat": "^3.0.0", + "@jupyterlab/notebook": "^3.0.0", + "@jupyterlab/outputarea": "^3.0.0", + "@jupyterlab/rendermime": "^3.0.0", + "@jupyterlab/rendermime-interfaces": "^3.0.0", + "@jupyterlab/services": "^6.0.0", + "@jupyterlab/settingregistry": "^3.0.0", + "@jupyterlab/translation": "^3.0.0", + "@lumino/algorithm": "^1.9.1", + "@lumino/coreutils": "^1.11.1", + "@lumino/disposable": "^1.10.1", + "@lumino/properties": "^1.8.1", + "@lumino/signaling": "^1.10.1", + "@lumino/widgets": "^1.30.0", + "@types/backbone": "1.4.14", + "jquery": "^3.1.1", + "semver": "^7.3.5" + }, + "devDependencies": { + "@jupyterlab/builder": "^3.0.0", + "@jupyterlab/cells": "^3.0.0", + "@types/semver": "^7.3.6", + "@typescript-eslint/eslint-plugin": "^5.8.0", + "@typescript-eslint/parser": "^5.8.0", + "eslint": "^8.5.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "npm-run-all": "^4.1.5", + "prettier": "^2.3.2", + "rimraf": "^3.0.2", + "typescript": "~4.9.4" + }, + "jupyterlab": { + "extension": true, + "outputDir": "labextension", + "schemaDir": "./schema" + }, + "gitHead": "80cef4439d02cd4865fcc6e9a00aeef124f95e82" +} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json new file mode 100644 index 0000000..1c45d80 --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json @@ -0,0 +1,14 @@ +{ + "title": "Jupyter Widgets", + "description": "Jupyter widgets settings.", + "additionalProperties": false, + "properties": { + "saveState": { + "type": "boolean", + "title": "Save Jupyter widget state in notebooks", + "description": "Automatically save Jupyter widget state when a notebook is saved.", + "default": false + } + }, + "type": "object" +} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js new file mode 100644 index 0000000..0acd648 --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js @@ -0,0 +1,2 @@ +/*! For license information please see 113.270dbb43db912c1b3723.js.LICENSE.txt */ +(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[113],{5766:(t,e)=>{"use strict";e.b$=function(t){var e,r,s=function(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}(t),o=s[0],a=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,a)),c=0,u=a>0?o-4:o;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[c++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.JQ=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;ac?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},9714:t=>{"use strict";var e=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||function(t){return t.$$typeof===r}(t)}(t)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a((r=t,Array.isArray(r)?[]:{}),t,e):t;var r}function n(t,e,r){return t.concat(e).map((function(t){return i(t,r)}))}function s(t){return Object.keys(t).concat(function(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter((function(e){return t.propertyIsEnumerable(e)})):[]}(t))}function o(t,e){try{return e in t}catch(t){return!1}}function a(t,r,l){(l=l||{}).arrayMerge=l.arrayMerge||n,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=i;var c=Array.isArray(r);return c===Array.isArray(t)?c?l.arrayMerge(t,r,l):function(t,e,r){var n={};return r.isMergeableObject(t)&&s(t).forEach((function(e){n[e]=i(t[e],r)})),s(e).forEach((function(s){(function(t,e){return o(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))})(t,s)||(o(t,s)&&r.isMergeableObject(e[s])?n[s]=function(t,e){if(!e.customMerge)return a;var r=e.customMerge(t);return"function"==typeof r?r:a}(s,r)(t[s],e[s],r):n[s]=i(e[s],r))})),n}(t,r,l):i(r,l)}a.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,r){return a(t,r,e)}),{})};var l=a;t.exports=l},6594:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.attributeNames=e.elementNames=void 0,e.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),e.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},606:function(t,e,r){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,i=arguments.length;r";case a.Comment:return"\x3c!--"+t.data+"--\x3e";case a.CDATA:return function(t){return""}(t);case a.Script:case a.Style:case a.Tag:return function(t,e){var r;"foreign"===e.xmlMode&&(t.name=null!==(r=c.elementNames.get(t.name))&&void 0!==r?r:t.name,t.parent&&f.has(t.parent.name)&&(e=i(i({},e),{xmlMode:!1}))),!e.xmlMode&&m.has(t.name)&&(e=i(i({},e),{xmlMode:"foreign"}));var n="<"+t.name,s=function(t,e){if(t)return Object.keys(t).map((function(r){var i,n,s=null!==(i=t[r])&&void 0!==i?i:"";return"foreign"===e.xmlMode&&(r=null!==(n=c.attributeNames.get(r))&&void 0!==n?n:r),e.emptyAttrs||e.xmlMode||""!==s?r+'="'+(!1!==e.decodeEntities?l.encodeXML(s):s.replace(/"/g,"""))+'"':r})).join(" ")}(t.attribs,e);return s&&(n+=" "+s),0===t.children.length&&(e.xmlMode?!1!==e.selfClosingTags:e.selfClosingTags&&h.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=p(t.children,e)),!e.xmlMode&&h.has(t.name)||(n+="")),n}(t,e);case a.Text:return function(t,e){var r=t.data||"";return!1===e.decodeEntities||!e.xmlMode&&t.parent&&u.has(t.parent.name)||(r=l.encodeXML(r)),r}(t,e)}}e.default=p;var f=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),m=new Set(["svg","math"])},4821:(t,e)=>{"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.Doctype=e.CDATA=e.Tag=e.Style=e.Script=e.Comment=e.Directive=e.Text=e.Root=e.isTag=e.ElementType=void 0,function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(r=e.ElementType||(e.ElementType={})),e.isTag=function(t){return t.type===r.Tag||t.type===r.Script||t.type===r.Style},e.Root=r.Root,e.Text=r.Text,e.Directive=r.Directive,e.Comment=r.Comment,e.Script=r.Script,e.Style=r.Style,e.Tag=r.Tag,e.CDATA=r.CDATA,e.Doctype=r.Doctype},9959:function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.DomHandler=void 0;var s=r(4821),o=r(5538);n(r(5538),e);var a=/\s+/g,l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},c=function(){function t(t,e,r){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof e&&(r=e,e=l),"object"==typeof t&&(e=t,t=void 0),this.callback=null!=t?t:null,this.options=null!=e?e:l,this.elementCB=null!=r?r:null}return t.prototype.onparserinit=function(t){this.parser=t},t.prototype.onreset=function(){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},t.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},t.prototype.onerror=function(t){this.handleCallback(t)},t.prototype.onclosetag=function(){this.lastNode=null;var t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)},t.prototype.onopentag=function(t,e){var r=this.options.xmlMode?s.ElementType.Tag:void 0,i=new o.Element(t,e,void 0,r);this.addNode(i),this.tagStack.push(i)},t.prototype.ontext=function(t){var e=this.options.normalizeWhitespace,r=this.lastNode;if(r&&r.type===s.ElementType.Text)e?r.data=(r.data+t).replace(a," "):r.data+=t,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{e&&(t=t.replace(a," "));var i=new o.Text(t);this.addNode(i),this.lastNode=i}},t.prototype.oncomment=function(t){if(this.lastNode&&this.lastNode.type===s.ElementType.Comment)this.lastNode.data+=t;else{var e=new o.Comment(t);this.addNode(e),this.lastNode=e}},t.prototype.oncommentend=function(){this.lastNode=null},t.prototype.oncdatastart=function(){var t=new o.Text(""),e=new o.NodeWithChildren(s.ElementType.CDATA,[t]);this.addNode(e),t.parent=e,this.lastNode=t},t.prototype.oncdataend=function(){this.lastNode=null},t.prototype.onprocessinginstruction=function(t,e){var r=new o.ProcessingInstruction(t,e);this.addNode(r)},t.prototype.handleCallback=function(t){if("function"==typeof this.callback)this.callback(t,this.dom);else if(t)throw t},t.prototype.addNode=function(t){var e=this.tagStack[this.tagStack.length-1],r=e.children[e.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),e.children.push(t),r&&(t.prev=r,r.next=t),t.parent=e,this.lastNode=null},t}();e.DomHandler=c,e.default=c},5538:function(t,e,r){"use strict";var i,n=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__assign||function(){return s=Object.assign||function(t){for(var e,r=1,i=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"childNodes",{get:function(){return this.children},set:function(t){this.children=t},enumerable:!1,configurable:!0}),e}(l);e.NodeWithChildren=d;var f=function(t){function e(e){return t.call(this,o.ElementType.Root,e)||this}return n(e,t),e}(d);e.Document=f;var m=function(t){function e(e,r,i,n){void 0===i&&(i=[]),void 0===n&&(n="script"===e?o.ElementType.Script:"style"===e?o.ElementType.Style:o.ElementType.Tag);var s=t.call(this,n,i)||this;return s.name=e,s.attribs=r,s}return n(e,t),Object.defineProperty(e.prototype,"tagName",{get:function(){return this.name},set:function(t){this.name=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"attributes",{get:function(){var t=this;return Object.keys(this.attribs).map((function(e){var r,i;return{name:e,value:t.attribs[e],namespace:null===(r=t["x-attribsNamespace"])||void 0===r?void 0:r[e],prefix:null===(i=t["x-attribsPrefix"])||void 0===i?void 0:i[e]}}))},enumerable:!1,configurable:!0}),e}(d);function g(t){return(0,o.isTag)(t)}function b(t){return t.type===o.ElementType.CDATA}function y(t){return t.type===o.ElementType.Text}function v(t){return t.type===o.ElementType.Comment}function w(t){return t.type===o.ElementType.Directive}function x(t){return t.type===o.ElementType.Root}function S(t,e){var r;if(void 0===e&&(e=!1),y(t))r=new u(t.data);else if(v(t))r=new h(t.data);else if(g(t)){var i=e?_(t.children):[],n=new m(t.name,s({},t.attribs),i);i.forEach((function(t){return t.parent=n})),null!=t.namespace&&(n.namespace=t.namespace),t["x-attribsNamespace"]&&(n["x-attribsNamespace"]=s({},t["x-attribsNamespace"])),t["x-attribsPrefix"]&&(n["x-attribsPrefix"]=s({},t["x-attribsPrefix"])),r=n}else if(b(t)){i=e?_(t.children):[];var a=new d(o.ElementType.CDATA,i);i.forEach((function(t){return t.parent=a})),r=a}else if(x(t)){i=e?_(t.children):[];var l=new f(i);i.forEach((function(t){return t.parent=l})),t["x-mode"]&&(l["x-mode"]=t["x-mode"]),r=l}else{if(!w(t))throw new Error("Not implemented yet: ".concat(t.type));var c=new p(t.name,t.data);null!=t["x-name"]&&(c["x-name"]=t["x-name"],c["x-publicId"]=t["x-publicId"],c["x-systemId"]=t["x-systemId"]),r=c}return r.startIndex=t.startIndex,r.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(r.sourceCodeLocation=t.sourceCodeLocation),r}function _(t){for(var e=t.map((function(t){return S(t,!0)})),r=1;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFeed=void 0;var i=r(7559),n=r(5310);e.getFeed=function(t){var e=l(h,t);return e?"feed"===e.name?function(t){var e,r=t.children,i={type:"atom",items:(0,n.getElementsByTagName)("entry",r).map((function(t){var e,r=t.children,i={media:a(r)};u(i,"id","id",r),u(i,"title","title",r);var n=null===(e=l("link",r))||void 0===e?void 0:e.attribs.href;n&&(i.link=n);var s=c("summary",r)||c("content",r);s&&(i.description=s);var o=c("updated",r);return o&&(i.pubDate=new Date(o)),i}))};u(i,"id","id",r),u(i,"title","title",r);var s=null===(e=l("link",r))||void 0===e?void 0:e.attribs.href;s&&(i.link=s),u(i,"description","subtitle",r);var o=c("updated",r);return o&&(i.updated=new Date(o)),u(i,"author","email",r,!0),i}(e):function(t){var e,r,i=null!==(r=null===(e=l("channel",t.children))||void 0===e?void 0:e.children)&&void 0!==r?r:[],s={type:t.name.substr(0,3),id:"",items:(0,n.getElementsByTagName)("item",t.children).map((function(t){var e=t.children,r={media:a(e)};u(r,"id","guid",e),u(r,"title","title",e),u(r,"link","link",e),u(r,"description","description",e);var i=c("pubDate",e);return i&&(r.pubDate=new Date(i)),r}))};u(s,"title","title",i),u(s,"link","link",i),u(s,"description","description",i);var o=c("lastBuildDate",i);return o&&(s.updated=new Date(o)),u(s,"author","managingEditor",i,!0),s}(e):null};var s=["url","type","lang"],o=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function a(t){return(0,n.getElementsByTagName)("media:content",t).map((function(t){for(var e=t.attribs,r={medium:e.medium,isDefault:!!e.isDefault},i=0,n=s;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uniqueSort=e.compareDocumentPosition=e.removeSubsets=void 0;var i=r(9959);function n(t,e){var r=[],n=[];if(t===e)return 0;for(var s=(0,i.hasChildren)(t)?t:t.parent;s;)r.unshift(s),s=s.parent;for(s=(0,i.hasChildren)(e)?e:e.parent;s;)n.unshift(s),s=s.parent;for(var o=Math.min(r.length,n.length),a=0;ac.indexOf(h)?l===e?20:4:l===t?10:2}e.removeSubsets=function(t){for(var e=t.length;--e>=0;){var r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0)t.splice(e,1);else for(var i=r.parent;i;i=i.parent)if(t.includes(i)){t.splice(e,1);break}}return t},e.compareDocumentPosition=n,e.uniqueSort=function(t){return(t=t.filter((function(t,e,r){return!r.includes(t,e+1)}))).sort((function(t,e){var r=n(t,e);return 2&r?-1:4&r?1:0})),t}},4622:function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.hasChildren=e.isDocument=e.isComment=e.isText=e.isCDATA=e.isTag=void 0,n(r(7559),e),n(r(6304),e),n(r(7427),e),n(r(7853),e),n(r(5310),e),n(r(2880),e),n(r(7065),e);var s=r(9959);Object.defineProperty(e,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(e,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(e,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(e,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(e,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(e,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},5310:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getElementsByTagType=e.getElementsByTagName=e.getElementById=e.getElements=e.testElement=void 0;var i=r(9959),n=r(7853),s={tag_name:function(t){return"function"==typeof t?function(e){return(0,i.isTag)(e)&&t(e.name)}:"*"===t?i.isTag:function(e){return(0,i.isTag)(e)&&e.name===t}},tag_type:function(t){return"function"==typeof t?function(e){return t(e.type)}:function(e){return e.type===t}},tag_contains:function(t){return"function"==typeof t?function(e){return(0,i.isText)(e)&&t(e.data)}:function(e){return(0,i.isText)(e)&&e.data===t}}};function o(t,e){return"function"==typeof e?function(r){return(0,i.isTag)(r)&&e(r.attribs[t])}:function(r){return(0,i.isTag)(r)&&r.attribs[t]===e}}function a(t,e){return function(r){return t(r)||e(r)}}function l(t){var e=Object.keys(t).map((function(e){var r=t[e];return Object.prototype.hasOwnProperty.call(s,e)?s[e](r):o(e,r)}));return 0===e.length?null:e.reduce(a)}e.testElement=function(t,e){var r=l(t);return!r||r(e)},e.getElements=function(t,e,r,i){void 0===i&&(i=1/0);var s=l(t);return s?(0,n.filter)(s,e,r,i):[]},e.getElementById=function(t,e,r){return void 0===r&&(r=!0),Array.isArray(e)||(e=[e]),(0,n.findOne)(o("id",t),e,r)},e.getElementsByTagName=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),(0,n.filter)(s.tag_name(t),e,r,i)},e.getElementsByTagType=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),(0,n.filter)(s.tag_type(t),e,r,i)}},7427:(t,e)=>{"use strict";function r(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){var e=t.parent.children;e.splice(e.lastIndexOf(t),1)}}Object.defineProperty(e,"__esModule",{value:!0}),e.prepend=e.prependChild=e.append=e.appendChild=e.replaceElement=e.removeElement=void 0,e.removeElement=r,e.replaceElement=function(t,e){var r=e.prev=t.prev;r&&(r.next=e);var i=e.next=t.next;i&&(i.prev=e);var n=e.parent=t.parent;if(n){var s=n.children;s[s.lastIndexOf(t)]=e}},e.appendChild=function(t,e){if(r(e),e.next=null,e.parent=t,t.children.push(e)>1){var i=t.children[t.children.length-2];i.next=e,e.prev=i}else e.prev=null},e.append=function(t,e){r(e);var i=t.parent,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=i,n){if(n.prev=e,i){var s=i.children;s.splice(s.lastIndexOf(n),0,e)}}else i&&i.children.push(e)},e.prependChild=function(t,e){if(r(e),e.parent=t,e.prev=null,1!==t.children.unshift(e)){var i=t.children[1];i.prev=e,e.next=i}else e.next=null},e.prepend=function(t,e){r(e);var i=t.parent;if(i){var n=i.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=i,e.prev=t.prev,e.next=t,t.prev=e}},7853:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findAll=e.existsOne=e.findOne=e.findOneChild=e.find=e.filter=void 0;var i=r(9959);function n(t,e,r,s){for(var o=[],a=0,l=e;a0){var u=n(t,c.children,r,s);if(o.push.apply(o,u),(s-=u.length)<=0)break}}return o}e.filter=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),Array.isArray(e)||(e=[e]),n(t,e,r,i)},e.find=n,e.findOneChild=function(t,e){return e.find(t)},e.findOne=function t(e,r,n){void 0===n&&(n=!0);for(var s=null,o=0;o0&&(s=t(e,a.children)))}return s},e.existsOne=function t(e,r){return r.some((function(r){return(0,i.isTag)(r)&&(e(r)||r.children.length>0&&t(e,r.children))}))},e.findAll=function(t,e){for(var r,n,s=[],o=e.filter(i.isTag);n=o.shift();){var a=null===(r=n.children)||void 0===r?void 0:r.filter(i.isTag);a&&a.length>0&&o.unshift.apply(o,a),t(n)&&s.push(n)}return s}},7559:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.innerText=e.textContent=e.getText=e.getInnerHTML=e.getOuterHTML=void 0;var n=r(9959),s=i(r(606)),o=r(4821);function a(t,e){return(0,s.default)(t,e)}e.getOuterHTML=a,e.getInnerHTML=function(t,e){return(0,n.hasChildren)(t)?t.children.map((function(t){return a(t,e)})).join(""):""},e.getText=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.isTag)(e)?"br"===e.name?"\n":t(e.children):(0,n.isCDATA)(e)?t(e.children):(0,n.isText)(e)?e.data:""},e.textContent=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.hasChildren)(e)&&!(0,n.isComment)(e)?t(e.children):(0,n.isText)(e)?e.data:""},e.innerText=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.hasChildren)(e)&&(e.type===o.ElementType.Tag||(0,n.isCDATA)(e))?t(e.children):(0,n.isText)(e)?e.data:""}},6304:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.prevElementSibling=e.nextElementSibling=e.getName=e.hasAttrib=e.getAttributeValue=e.getSiblings=e.getParent=e.getChildren=void 0;var i=r(9959),n=[];function s(t){var e;return null!==(e=t.children)&&void 0!==e?e:n}function o(t){return t.parent||null}e.getChildren=s,e.getParent=o,e.getSiblings=function(t){var e=o(t);if(null!=e)return s(e);for(var r=[t],i=t.prev,n=t.next;null!=i;)r.unshift(i),i=i.prev;for(;null!=n;)r.push(n),n=n.next;return r},e.getAttributeValue=function(t,e){var r;return null===(r=t.attribs)||void 0===r?void 0:r[e]},e.hasAttrib=function(t,e){return null!=t.attribs&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&null!=t.attribs[e]},e.getName=function(t){return t.name},e.nextElementSibling=function(t){for(var e=t.next;null!==e&&!(0,i.isTag)(e);)e=e.next;return e},e.prevElementSibling=function(t){for(var e=t.prev;null!==e&&!(0,i.isTag)(e);)e=e.prev;return e}},3094:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.decodeHTML=e.decodeHTMLStrict=e.decodeXML=void 0;var n=i(r(2059)),s=i(r(2184)),o=i(r(1542)),a=i(r(105)),l=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function c(t){var e=h(t);return function(t){return String(t).replace(l,e)}}e.decodeXML=c(o.default),e.decodeHTMLStrict=c(n.default);var u=function(t,e){return t65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+String.fromCharCode(t)};e.default=function(t){return t>=55296&&t<=57343||t>1114111?"�":(t in n.default&&(t=n.default[t]),s(t))}},1029:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=void 0;var n=u(i(r(1542)).default),s=h(n);e.encodeXML=g(n);var o,a,l=u(i(r(2059)).default),c=h(l);function u(t){return Object.keys(t).sort().reduce((function(e,r){return e[t[r]]="&"+r+";",e}),{})}function h(t){for(var e=[],r=[],i=0,n=Object.keys(t);i1?d(t):t.charCodeAt(0)).toString(16).toUpperCase()+";"}var m=new RegExp(s.source+"|"+p.source,"g");function g(t){return function(e){return e.replace(m,(function(e){return t[e]||f(e)}))}}e.escape=function(t){return t.replace(m,f)},e.escapeUTF8=function(t){return t.replace(s,f)}},5924:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeXMLStrict=e.decodeHTML5Strict=e.decodeHTML4Strict=e.decodeHTML5=e.decodeHTML4=e.decodeHTMLStrict=e.decodeHTML=e.decodeXML=e.encodeHTML5=e.encodeHTML4=e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=e.encode=e.decodeStrict=e.decode=void 0;var i=r(3094),n=r(1029);e.decode=function(t,e){return(!e||e<=0?i.decodeXML:i.decodeHTML)(t)},e.decodeStrict=function(t,e){return(!e||e<=0?i.decodeXML:i.decodeHTMLStrict)(t)},e.encode=function(t,e){return(!e||e<=0?n.encodeXML:n.encodeHTML)(t)};var s=r(1029);Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return s.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(e,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return s.encodeNonAsciiHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return s.escape}}),Object.defineProperty(e,"escapeUTF8",{enumerable:!0,get:function(){return s.escapeUTF8}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return s.encodeHTML}});var o=r(3094);Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return o.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return o.decodeXML}})},4163:function(t,e,r){"use strict";var i,n=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return o(e,t),e},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.parseFeed=e.FeedHandler=void 0;var c,u,h=l(r(9959)),p=a(r(4622)),d=r(5233);!function(t){t[t.image=0]="image",t[t.audio=1]="audio",t[t.video=2]="video",t[t.document=3]="document",t[t.executable=4]="executable"}(c||(c={})),function(t){t[t.sample=0]="sample",t[t.full=1]="full",t[t.nonstop=2]="nonstop"}(u||(u={}));var f=function(t){function e(e,r){return"object"==typeof e&&(r=e=void 0),t.call(this,e,r)||this}return n(e,t),e.prototype.onend=function(){var t,e,r=b(x,this.dom);if(r){var i={};if("feed"===r.name){var n=r.children;i.type="atom",w(i,"id","id",n),w(i,"title","title",n);var s=v("href",b("link",n));s&&(i.link=s),w(i,"description","subtitle",n),(o=y("updated",n))&&(i.updated=new Date(o)),w(i,"author","email",n,!0),i.items=g("entry",n).map((function(t){var e={},r=t.children;w(e,"id","id",r),w(e,"title","title",r);var i=v("href",b("link",r));i&&(e.link=i);var n=y("summary",r)||y("content",r);n&&(e.description=n);var s=y("updated",r);return s&&(e.pubDate=new Date(s)),e.media=m(r),e}))}else{var o;n=null!==(e=null===(t=b("channel",r.children))||void 0===t?void 0:t.children)&&void 0!==e?e:[],i.type=r.name.substr(0,3),i.id="",w(i,"title","title",n),w(i,"link","link",n),w(i,"description","description",n),(o=y("lastBuildDate",n))&&(i.updated=new Date(o)),w(i,"author","managingEditor",n,!0),i.items=g("item",r.children).map((function(t){var e={},r=t.children;w(e,"id","guid",r),w(e,"title","title",r),w(e,"link","link",r),w(e,"description","description",r);var i=y("pubDate",r);return i&&(e.pubDate=new Date(i)),e.media=m(r),e}))}this.feed=i,this.handleCallback(null)}else this.handleCallback(new Error("couldn't find root of feed"))},e}(h.default);function m(t){return g("media:content",t).map((function(t){var e={medium:t.attribs.medium,isDefault:!!t.attribs.isDefault};return t.attribs.url&&(e.url=t.attribs.url),t.attribs.fileSize&&(e.fileSize=parseInt(t.attribs.fileSize,10)),t.attribs.type&&(e.type=t.attribs.type),t.attribs.expression&&(e.expression=t.attribs.expression),t.attribs.bitrate&&(e.bitrate=parseInt(t.attribs.bitrate,10)),t.attribs.framerate&&(e.framerate=parseInt(t.attribs.framerate,10)),t.attribs.samplingrate&&(e.samplingrate=parseInt(t.attribs.samplingrate,10)),t.attribs.channels&&(e.channels=parseInt(t.attribs.channels,10)),t.attribs.duration&&(e.duration=parseInt(t.attribs.duration,10)),t.attribs.height&&(e.height=parseInt(t.attribs.height,10)),t.attribs.width&&(e.width=parseInt(t.attribs.width,10)),t.attribs.lang&&(e.lang=t.attribs.lang),e}))}function g(t,e){return p.getElementsByTagName(t,e,!0)}function b(t,e){return p.getElementsByTagName(t,e,!0,1)[0]}function y(t,e,r){return void 0===r&&(r=!1),p.getText(p.getElementsByTagName(t,e,r,1)).trim()}function v(t,e){return e?e.attribs[t]:null}function w(t,e,r,i,n){void 0===n&&(n=!1);var s=y(r,i,n);s&&(t[e]=s)}function x(t){return"rss"===t||"feed"===t||"rdf:RDF"===t}e.FeedHandler=f,e.parseFeed=function(t,e){void 0===e&&(e={xmlMode:!0});var r=new f(e);return new d.Parser(r,e).end(t),r.feed}},5233:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=void 0;var n=i(r(9636)),s=new Set(["input","option","optgroup","select","button","datalist","textarea"]),o=new Set(["p"]),a={tr:new Set(["tr","th","td"]),th:new Set(["th"]),td:new Set(["thead","th","td"]),body:new Set(["head","link","script"]),li:new Set(["li"]),p:o,h1:o,h2:o,h3:o,h4:o,h5:o,h6:o,select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:new Set(["option"]),optgroup:new Set(["optgroup","option"]),dd:new Set(["dt","dd"]),dt:new Set(["dt","dd"]),address:o,article:o,aside:o,blockquote:o,details:o,div:o,dl:o,fieldset:o,figcaption:o,figure:o,footer:o,form:o,header:o,hr:o,main:o,nav:o,ol:o,pre:o,section:o,table:o,ul:o,rt:new Set(["rt","rp"]),rp:new Set(["rt","rp"]),tbody:new Set(["thead","tbody"]),tfoot:new Set(["thead","tbody"])},l=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),c=new Set(["math","svg"]),u=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),h=/\s|\//,p=function(){function t(t,e){var r,i,s,o,a;void 0===e&&(e={}),this.startIndex=0,this.endIndex=null,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.options=e,this.cbs=null!=t?t:{},this.lowerCaseTagNames=null!==(r=e.lowerCaseTags)&&void 0!==r?r:!e.xmlMode,this.lowerCaseAttributeNames=null!==(i=e.lowerCaseAttributeNames)&&void 0!==i?i:!e.xmlMode,this.tokenizer=new(null!==(s=e.Tokenizer)&&void 0!==s?s:n.default)(this.options,this),null===(a=(o=this.cbs).onparserinit)||void 0===a||a.call(o,this)}return t.prototype.updatePosition=function(t){null===this.endIndex?this.tokenizer.sectionStart<=t?this.startIndex=0:this.startIndex=this.tokenizer.sectionStart-t:this.startIndex=this.endIndex+1,this.endIndex=this.tokenizer.getAbsoluteIndex()},t.prototype.ontext=function(t){var e,r;this.updatePosition(1),this.endIndex--,null===(r=(e=this.cbs).ontext)||void 0===r||r.call(e,t)},t.prototype.onopentagname=function(t){var e,r;if(this.lowerCaseTagNames&&(t=t.toLowerCase()),this.tagname=t,!this.options.xmlMode&&Object.prototype.hasOwnProperty.call(a,t))for(var i=void 0;this.stack.length>0&&a[t].has(i=this.stack[this.stack.length-1]);)this.onclosetag(i);!this.options.xmlMode&&l.has(t)||(this.stack.push(t),c.has(t)?this.foreignContext.push(!0):u.has(t)&&this.foreignContext.push(!1)),null===(r=(e=this.cbs).onopentagname)||void 0===r||r.call(e,t),this.cbs.onopentag&&(this.attribs={})},t.prototype.onopentagend=function(){var t,e;this.updatePosition(1),this.attribs&&(null===(e=(t=this.cbs).onopentag)||void 0===e||e.call(t,this.tagname,this.attribs),this.attribs=null),!this.options.xmlMode&&this.cbs.onclosetag&&l.has(this.tagname)&&this.cbs.onclosetag(this.tagname),this.tagname=""},t.prototype.onclosetag=function(t){if(this.updatePosition(1),this.lowerCaseTagNames&&(t=t.toLowerCase()),(c.has(t)||u.has(t))&&this.foreignContext.pop(),!this.stack.length||!this.options.xmlMode&&l.has(t))this.options.xmlMode||"br"!==t&&"p"!==t||(this.onopentagname(t),this.closeCurrentTag());else{var e=this.stack.lastIndexOf(t);if(-1!==e)if(this.cbs.onclosetag)for(e=this.stack.length-e;e--;)this.cbs.onclosetag(this.stack.pop());else this.stack.length=e;else"p"!==t||this.options.xmlMode||(this.onopentagname(t),this.closeCurrentTag())}},t.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?this.closeCurrentTag():this.onopentagend()},t.prototype.closeCurrentTag=function(){var t,e,r=this.tagname;this.onopentagend(),this.stack[this.stack.length-1]===r&&(null===(e=(t=this.cbs).onclosetag)||void 0===e||e.call(t,r),this.stack.pop())},t.prototype.onattribname=function(t){this.lowerCaseAttributeNames&&(t=t.toLowerCase()),this.attribname=t},t.prototype.onattribdata=function(t){this.attribvalue+=t},t.prototype.onattribend=function(t){var e,r;null===(r=(e=this.cbs).onattribute)||void 0===r||r.call(e,this.attribname,this.attribvalue,t),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},t.prototype.getInstructionName=function(t){var e=t.search(h),r=e<0?t:t.substr(0,e);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},t.prototype.ondeclaration=function(t){if(this.cbs.onprocessinginstruction){var e=this.getInstructionName(t);this.cbs.onprocessinginstruction("!"+e,"!"+t)}},t.prototype.onprocessinginstruction=function(t){if(this.cbs.onprocessinginstruction){var e=this.getInstructionName(t);this.cbs.onprocessinginstruction("?"+e,"?"+t)}},t.prototype.oncomment=function(t){var e,r,i,n;this.updatePosition(4),null===(r=(e=this.cbs).oncomment)||void 0===r||r.call(e,t),null===(n=(i=this.cbs).oncommentend)||void 0===n||n.call(i)},t.prototype.oncdata=function(t){var e,r,i,n,s,o;this.updatePosition(1),this.options.xmlMode||this.options.recognizeCDATA?(null===(r=(e=this.cbs).oncdatastart)||void 0===r||r.call(e),null===(n=(i=this.cbs).ontext)||void 0===n||n.call(i,t),null===(o=(s=this.cbs).oncdataend)||void 0===o||o.call(s)):this.oncomment("[CDATA["+t+"]]")},t.prototype.onerror=function(t){var e,r;null===(r=(e=this.cbs).onerror)||void 0===r||r.call(e,t)},t.prototype.onend=function(){var t,e;if(this.cbs.onclosetag)for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r]));null===(e=(t=this.cbs).onend)||void 0===e||e.call(t)},t.prototype.reset=function(){var t,e,r,i;null===(e=(t=this.cbs).onreset)||void 0===e||e.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],null===(i=(r=this.cbs).onparserinit)||void 0===i||i.call(r,this)},t.prototype.parseComplete=function(t){this.reset(),this.end(t)},t.prototype.write=function(t){this.tokenizer.write(t)},t.prototype.end=function(t){this.tokenizer.end(t)},t.prototype.pause=function(){this.tokenizer.pause()},t.prototype.resume=function(){this.tokenizer.resume()},t.prototype.parseChunk=function(t){this.write(t)},t.prototype.done=function(t){this.end(t)},t}();e.Parser=p},9636:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var n=i(r(105)),s=i(r(2059)),o=i(r(2184)),a=i(r(1542));function l(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function c(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}function u(t,e,r){var i=t.toLowerCase();return t===i?function(t,n){n===i?t._state=e:(t._state=r,t._index--)}:function(n,s){s===i||s===t?n._state=e:(n._state=r,n._index--)}}function h(t,e){var r=t.toLowerCase();return function(i,n){n===r||n===t?i._state=e:(i._state=3,i._index--)}}var p=u("C",24,16),d=u("D",25,16),f=u("A",26,16),m=u("T",27,16),g=u("A",28,16),b=h("R",35),y=h("I",36),v=h("P",37),w=h("T",38),x=u("R",40,1),S=u("I",41,1),_=u("P",42,1),T=u("T",43,1),C=h("Y",45),O=h("L",46),k=h("E",47),A=u("Y",49,1),E=u("L",50,1),D=u("E",51,1),P=h("I",54),L=h("T",55),M=h("L",56),q=h("E",57),N=u("I",58,1),j=u("T",59,1),I=u("L",60,1),R=u("E",61,1),B=u("#",63,64),U=u("X",66,65),F=function(){function t(t,e){var r;this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1,this.cbs=e,this.xmlMode=!!(null==t?void 0:t.xmlMode),this.decodeEntities=null===(r=null==t?void 0:t.decodeEntities)||void 0===r||r}return t.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1},t.prototype.write=function(t){this.ended&&this.cbs.onerror(Error(".write() after done!")),this.buffer+=t,this.parse()},t.prototype.end=function(t){this.ended&&this.cbs.onerror(Error(".end() after done!")),t&&this.write(t),this.ended=!0,this.running&&this.finish()},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):!this.decodeEntities||"&"!==t||1!==this.special&&4!==this.special||(this._index>this.sectionStart&&this.cbs.ontext(this.getSection()),this.baseState=1,this._state=62,this.sectionStart=this._index)},t.prototype.isTagStartChar=function(t){return c(t)||this.xmlMode&&!l(t)&&"/"!==t&&">"!==t},t.prototype.stateBeforeTagName=function(t){"/"===t?this._state=5:"<"===t?(this.cbs.ontext(this.getSection()),this.sectionStart=this._index):">"===t||1!==this.special||l(t)?this._state=1:"!"===t?(this._state=15,this.sectionStart=this._index+1):"?"===t?(this._state=17,this.sectionStart=this._index+1):this.isTagStartChar(t)?(this._state=this.xmlMode||"s"!==t&&"S"!==t?this.xmlMode||"t"!==t&&"T"!==t?3:52:32,this.sectionStart=this._index):this._state=1},t.prototype.stateInTagName=function(t){("/"===t||">"===t||l(t))&&(this.emitToken("onopentagname"),this._state=8,this._index--)},t.prototype.stateBeforeClosingTagName=function(t){l(t)||(">"===t?this._state=1:1!==this.special?4===this.special||"s"!==t&&"S"!==t?4!==this.special||"t"!==t&&"T"!==t?(this._state=1,this._index--):this._state=53:this._state=33:this.isTagStartChar(t)?(this._state=6,this.sectionStart=this._index):(this._state=20,this.sectionStart=this._index))},t.prototype.stateInClosingTagName=function(t){(">"===t||l(t))&&(this.emitToken("onclosetag"),this._state=7,this._index--)},t.prototype.stateAfterClosingTagName=function(t){">"===t&&(this._state=1,this.sectionStart=this._index+1)},t.prototype.stateBeforeAttributeName=function(t){">"===t?(this.cbs.onopentagend(),this._state=1,this.sectionStart=this._index+1):"/"===t?this._state=4:l(t)||(this._state=9,this.sectionStart=this._index)},t.prototype.stateInSelfClosingTag=function(t){">"===t?(this.cbs.onselfclosingtag(),this._state=1,this.sectionStart=this._index+1,this.special=1):l(t)||(this._state=8,this._index--)},t.prototype.stateInAttributeName=function(t){("="===t||"/"===t||">"===t||l(t))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this._index--)},t.prototype.stateAfterAttributeName=function(t){"="===t?this._state=11:"/"===t||">"===t?(this.cbs.onattribend(void 0),this._state=8,this._index--):l(t)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},t.prototype.stateBeforeAttributeValue=function(t){'"'===t?(this._state=12,this.sectionStart=this._index+1):"'"===t?(this._state=13,this.sectionStart=this._index+1):l(t)||(this._state=14,this.sectionStart=this._index,this._index--)},t.prototype.handleInAttributeValue=function(t,e){t===e?(this.emitToken("onattribdata"),this.cbs.onattribend(e),this._state=8):this.decodeEntities&&"&"===t&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},t.prototype.stateInAttributeValueDoubleQuotes=function(t){this.handleInAttributeValue(t,'"')},t.prototype.stateInAttributeValueSingleQuotes=function(t){this.handleInAttributeValue(t,"'")},t.prototype.stateInAttributeValueNoQuotes=function(t){l(t)||">"===t?(this.emitToken("onattribdata"),this.cbs.onattribend(null),this._state=8,this._index--):this.decodeEntities&&"&"===t&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},t.prototype.stateBeforeDeclaration=function(t){this._state="["===t?23:"-"===t?18:16},t.prototype.stateInDeclaration=function(t){">"===t&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateInProcessingInstruction=function(t){">"===t&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateBeforeComment=function(t){"-"===t?(this._state=19,this.sectionStart=this._index+1):this._state=16},t.prototype.stateInComment=function(t){"-"===t&&(this._state=21)},t.prototype.stateInSpecialComment=function(t){">"===t&&(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index)),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateAfterComment1=function(t){this._state="-"===t?22:19},t.prototype.stateAfterComment2=function(t){">"===t?(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"-"!==t&&(this._state=19)},t.prototype.stateBeforeCdata6=function(t){"["===t?(this._state=29,this.sectionStart=this._index+1):(this._state=16,this._index--)},t.prototype.stateInCdata=function(t){"]"===t&&(this._state=30)},t.prototype.stateAfterCdata1=function(t){this._state="]"===t?31:29},t.prototype.stateAfterCdata2=function(t){">"===t?(this.cbs.oncdata(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"]"!==t&&(this._state=29)},t.prototype.stateBeforeSpecialS=function(t){"c"===t||"C"===t?this._state=34:"t"===t||"T"===t?this._state=44:(this._state=3,this._index--)},t.prototype.stateBeforeSpecialSEnd=function(t){2!==this.special||"c"!==t&&"C"!==t?3!==this.special||"t"!==t&&"T"!==t?this._state=1:this._state=48:this._state=39},t.prototype.stateBeforeSpecialLast=function(t,e){("/"===t||">"===t||l(t))&&(this.special=e),this._state=3,this._index--},t.prototype.stateAfterSpecialLast=function(t,e){">"===t||l(t)?(this.special=1,this._state=6,this.sectionStart=this._index-e,this._index--):this._state=1},t.prototype.parseFixedEntity=function(t){if(void 0===t&&(t=this.xmlMode?a.default:s.default),this.sectionStart+1=2;){var r=this.buffer.substr(t,e);if(Object.prototype.hasOwnProperty.call(o.default,r))return this.emitPartial(o.default[r]),void(this.sectionStart+=e+1);e--}},t.prototype.stateInNamedEntity=function(t){";"===t?(this.parseFixedEntity(),1===this.baseState&&this.sectionStart+1"9")&&!c(t)&&(this.xmlMode||this.sectionStart+1===this._index||(1!==this.baseState?"="!==t&&this.parseFixedEntity(o.default):this.parseLegacyEntity()),this._state=this.baseState,this._index--)},t.prototype.decodeNumericEntity=function(t,e,r){var i=this.sectionStart+t;if(i!==this._index){var s=this.buffer.substring(i,this._index),o=parseInt(s,e);this.emitPartial(n.default(o)),this.sectionStart=r?this._index+1:this._index}this._state=this.baseState},t.prototype.stateInNumericEntity=function(t){";"===t?this.decodeNumericEntity(2,10,!0):(t<"0"||t>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(2,10,!1),this._index--)},t.prototype.stateInHexEntity=function(t){";"===t?this.decodeNumericEntity(3,16,!0):(t<"a"||t>"f")&&(t<"A"||t>"F")&&(t<"0"||t>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(3,16,!1),this._index--)},t.prototype.cleanup=function(){this.sectionStart<0?(this.buffer="",this.bufferOffset+=this._index,this._index=0):this.running&&(1===this._state?(this.sectionStart!==this._index&&this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.buffer="",this.bufferOffset+=this._index,this._index=0):this.sectionStart===this._index?(this.buffer="",this.bufferOffset+=this._index,this._index=0):(this.buffer=this.buffer.substr(this.sectionStart),this._index-=this.sectionStart,this.bufferOffset+=this.sectionStart),this.sectionStart=0)},t.prototype.parse=function(){for(;this._index{"use strict";function r(t){return"[object Object]"===Object.prototype.toString.call(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPlainObject=function(t){var e,i;return!1!==r(t)&&(void 0===(e=t.constructor)||!1!==r(i=e.prototype)&&!1!==i.hasOwnProperty("isPrototypeOf"))}},8915:function(t,e){var r,i;void 0===(i="function"==typeof(r=function(){return function(t){function e(t){return" "===t||"\t"===t||"\n"===t||"\f"===t||"\r"===t}function r(e){var r,i=e.exec(t.substring(m));if(i)return r=i[0],m+=r.length,r}for(var i,n,s,o,a,l=t.length,c=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,p=/[,]+$/,d=/^\d+$/,f=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,m=0,g=[];;){if(r(u),m>=l)return g;i=r(h),n=[],","===i.slice(-1)?(i=i.replace(p,""),y()):b()}function b(){for(r(c),s="",o="in descriptor";;){if(a=t.charAt(m),"in descriptor"===o)if(e(a))s&&(n.push(s),s="",o="after descriptor");else{if(","===a)return m+=1,s&&n.push(s),void y();if("("===a)s+=a,o="in parens";else{if(""===a)return s&&n.push(s),void y();s+=a}}else if("in parens"===o)if(")"===a)s+=a,o="in descriptor";else{if(""===a)return n.push(s),void y();s+=a}else if("after descriptor"===o)if(e(a));else{if(""===a)return void y();o="in descriptor",m-=1}m+=1}}function y(){var e,r,s,o,a,l,c,u,h,p=!1,m={};for(o=0;o{var e=String,r=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};t.exports=r(),t.exports.createColors=r},4406:t=>{var e,r,i=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,l=[],c=!1,u=-1;function h(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&p())}function p(){if(!c){var t=o(h);c=!0;for(var e=l.length;e;){for(a=l,l=[];++u1)for(var r=1;r{const i=r(883),n=r(5555),{isPlainObject:s}=r(303),o=r(9714),a=r(8915),{parse:l}=r(9719),c=["img","audio","video","picture","svg","object","map","iframe","embed"],u=["script","style"];function h(t,e){t&&Object.keys(t).forEach((function(r){e(t[r],r)}))}function p(t,e){return{}.hasOwnProperty.call(t,e)}function d(t,e){const r=[];return h(t,(function(t){e(t)&&r.push(t)})),r}t.exports=m;const f=/^[^\0\t\n\f\r /<=>]+$/;function m(t,e,r){if(null==t)return"";let b="",y="";function v(t,e){const r=this;this.tag=t,this.attribs=e||{},this.tagPosition=b.length,this.text="",this.mediaChildren=[],this.updateParentNodeText=function(){E.length&&(E[E.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){E.length&&c.includes(this.tag)&&E[E.length-1].mediaChildren.push(this.tag)}}(e=Object.assign({},m.defaults,e)).parser=Object.assign({},g,e.parser),u.forEach((function(t){!1!==e.allowedTags&&(e.allowedTags||[]).indexOf(t)>-1&&!e.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${t}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)}));const w=e.nonTextTags||["script","style","textarea","option"];let x,S;e.allowedAttributes&&(x={},S={},h(e.allowedAttributes,(function(t,e){x[e]=[];const r=[];t.forEach((function(t){"string"==typeof t&&t.indexOf("*")>=0?r.push(n(t).replace(/\\\*/g,".*")):x[e].push(t)})),r.length&&(S[e]=new RegExp("^("+r.join("|")+")$"))})));const _={},T={},C={};h(e.allowedClasses,(function(t,e){x&&(p(x,e)||(x[e]=[]),x[e].push("class")),_[e]=[],C[e]=[];const r=[];t.forEach((function(t){"string"==typeof t&&t.indexOf("*")>=0?r.push(n(t).replace(/\\\*/g,".*")):t instanceof RegExp?C[e].push(t):_[e].push(t)})),r.length&&(T[e]=new RegExp("^("+r.join("|")+")$"))}));const O={};let k,A,E,D,P,L,M;h(e.transformTags,(function(t,e){let r;"function"==typeof t?r=t:"string"==typeof t&&(r=m.simpleTransform(t)),"*"===e?k=r:O[e]=r}));let q=!1;j();const N=new i.Parser({onopentag:function(t,r){if(e.enforceHtmlBoundary&&"html"===t&&j(),L)return void M++;const i=new v(t,r);E.push(i);let n=!1;const c=!!i.text;let u;if(p(O,t)&&(u=O[t](t,r),i.attribs=r=u.attribs,void 0!==u.text&&(i.innerText=u.text),t!==u.tagName&&(i.name=t=u.tagName,P[A]=u.tagName)),k&&(u=k(t,r),i.attribs=r=u.attribs,t!==u.tagName&&(i.name=t=u.tagName,P[A]=u.tagName)),(!1!==e.allowedTags&&-1===(e.allowedTags||[]).indexOf(t)||"recursiveEscape"===e.disallowedTagsMode&&!function(t){for(const e in t)if(p(t,e))return!1;return!0}(D)||null!=e.nestingLimit&&A>=e.nestingLimit)&&(n=!0,D[A]=!0,"discard"===e.disallowedTagsMode&&-1!==w.indexOf(t)&&(L=!0,M=1),D[A]=!0),A++,n){if("discard"===e.disallowedTagsMode)return;y=b,b=""}b+="<"+t,"script"===t&&(e.allowedScriptHostnames||e.allowedScriptDomains)&&(i.innerText=""),(!x||p(x,t)||x["*"])&&h(r,(function(r,n){if(!f.test(n))return void delete i.attribs[n];let c=!1;if(!x||p(x,t)&&-1!==x[t].indexOf(n)||x["*"]&&-1!==x["*"].indexOf(n)||p(S,t)&&S[t].test(n)||S["*"]&&S["*"].test(n))c=!0;else if(x&&x[t])for(const e of x[t])if(s(e)&&e.name&&e.name===n){c=!0;let t="";if(!0===e.multiple){const i=r.split(" ");for(const r of i)-1!==e.values.indexOf(r)&&(""===t?t=r:t+=" "+r)}else e.values.indexOf(r)>=0&&(t=r);r=t}if(c){if(-1!==e.allowedSchemesAppliedToAttributes.indexOf(n)&&R(t,r))return void delete i.attribs[n];if("script"===t&&"src"===n){let t=!0;try{const i=B(r);if(e.allowedScriptHostnames||e.allowedScriptDomains){const r=(e.allowedScriptHostnames||[]).find((function(t){return t===i.url.hostname})),n=(e.allowedScriptDomains||[]).find((function(t){return i.url.hostname===t||i.url.hostname.endsWith(`.${t}`)}));t=r||n}}catch(e){t=!1}if(!t)return void delete i.attribs[n]}if("iframe"===t&&"src"===n){let t=!0;try{const i=B(r);if(i.isRelativeUrl)t=p(e,"allowIframeRelativeUrls")?e.allowIframeRelativeUrls:!e.allowedIframeHostnames&&!e.allowedIframeDomains;else if(e.allowedIframeHostnames||e.allowedIframeDomains){const r=(e.allowedIframeHostnames||[]).find((function(t){return t===i.url.hostname})),n=(e.allowedIframeDomains||[]).find((function(t){return i.url.hostname===t||i.url.hostname.endsWith(`.${t}`)}));t=r||n}}catch(e){t=!1}if(!t)return void delete i.attribs[n]}if("srcset"===n)try{let t=a(r);if(t.forEach((function(t){R("srcset",t.url)&&(t.evil=!0)})),t=d(t,(function(t){return!t.evil})),!t.length)return void delete i.attribs[n];r=d(t,(function(t){return!t.evil})).map((function(t){if(!t.url)throw new Error("URL missing");return t.url+(t.w?` ${t.w}w`:"")+(t.h?` ${t.h}h`:"")+(t.d?` ${t.d}x`:"")})).join(", "),i.attribs[n]=r}catch(t){return void delete i.attribs[n]}if("class"===n){const e=_[t],s=_["*"],a=T[t],l=C[t],c=[a,T["*"]].concat(l).filter((function(t){return t}));if(!(u=r,h=e&&s?o(e,s):e||s,m=c,r=h?(u=u.split(/\s+/)).filter((function(t){return-1!==h.indexOf(t)||m.some((function(e){return e.test(t)}))})).join(" "):u).length)return void delete i.attribs[n]}if("style"===n)try{if(r=function(t){return t.nodes[0].nodes.reduce((function(t,e){return t.push(`${e.prop}:${e.value}${e.important?" !important":""}`),t}),[]).join(";")}(function(t,e){if(!e)return t;const r=t.nodes[0];let i;return i=e[r.selector]&&e["*"]?o(e[r.selector],e["*"]):e[r.selector]||e["*"],i&&(t.nodes[0].nodes=r.nodes.reduce(function(t){return function(e,r){return p(t,r.prop)&&t[r.prop].some((function(t){return t.test(r.value)}))&&e.push(r),e}}(i),[])),t}(l(t+" {"+r+"}"),e.allowedStyles)),0===r.length)return void delete i.attribs[n]}catch(t){return void delete i.attribs[n]}b+=" "+n,r&&r.length&&(b+='="'+I(r,!0)+'"')}else delete i.attribs[n];var u,h,m})),-1!==e.selfClosing.indexOf(t)?b+=" />":(b+=">",!i.innerText||c||e.textFilter||(b+=I(i.innerText),q=!0)),n&&(b=y+I(b),y="")},ontext:function(t){if(L)return;const r=E[E.length-1];let i;if(r&&(i=r.tag,t=void 0!==r.innerText?r.innerText:t),"discard"!==e.disallowedTagsMode||"script"!==i&&"style"!==i){const r=I(t,!1);e.textFilter&&!q?b+=e.textFilter(r,i):q||(b+=r)}else b+=t;E.length&&(E[E.length-1].text+=t)},onclosetag:function(t){if(L){if(M--,M)return;L=!1}const r=E.pop();if(!r)return;if(r.tag!==t)return void E.push(r);L=!!e.enforceHtmlBoundary&&"html"===t,A--;const i=D[A];if(i){if(delete D[A],"discard"===e.disallowedTagsMode)return void r.updateParentNodeText();y=b,b=""}P[A]&&(t=P[A],delete P[A]),e.exclusiveFilter&&e.exclusiveFilter(r)?b=b.substr(0,r.tagPosition):(r.updateParentNodeMediaChildren(),r.updateParentNodeText(),-1===e.selfClosing.indexOf(t)?(b+="",i&&(b=y+I(b),y=""),q=!1):i&&(b=y,y=""))}},e.parser);return N.write(t),N.end(),b;function j(){b="",A=0,E=[],D={},P={},L=!1,M=0}function I(t,r){return"string"!=typeof t&&(t+=""),e.parser.decodeEntities&&(t=t.replace(/&/g,"&").replace(//g,">"),r&&(t=t.replace(/"/g,"""))),t=t.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(t=t.replace(/"/g,""")),t}function R(t,r){for(r=r.replace(/[\x00-\x20]+/g,"");;){const t=r.indexOf("\x3c!--");if(-1===t)break;const e=r.indexOf("--\x3e",t+4);if(-1===e)break;r=r.substring(0,t)+r.substring(e+3)}const i=r.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!i)return!!r.match(/^[/\\]{2}/)&&!e.allowProtocolRelative;const n=i[1].toLowerCase();return p(e.allowedSchemesByTag,t)?-1===e.allowedSchemesByTag[t].indexOf(n):!e.allowedSchemes||-1===e.allowedSchemes.indexOf(n)}function B(t){if((t=t.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let e="relative://relative-site";for(let t=0;t<100;t++)e+=`/${t}`;const r=new URL(t,e);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const g={decodeEntities:!0};m.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1},m.simpleTransform=function(t,e,r){return r=void 0===r||r,e=e||{},function(i,n){let s;if(r)for(s in e)n[s]=e[s];else n=e;return{tagName:t,attribs:n}}}},5555:t=>{"use strict";t.exports=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1446:(t,e,r)=>{"use strict";let i=r(7044);class n extends i{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}}t.exports=n,n.default=n,i.registerAtRule(n)},6510:(t,e,r)=>{"use strict";let i=r(1254);class n extends i{constructor(t){super(t),this.type="comment"}}t.exports=n,n.default=n},7044:(t,e,r)=>{"use strict";let i,n,s,o,{isClean:a,my:l}=r(7140),c=r(954),u=r(6510),h=r(1254);function p(t){return t.map((t=>(t.nodes&&(t.nodes=p(t.nodes)),delete t.source,t)))}function d(t){if(t[a]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)d(e)}class f extends h{push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}each(t){if(!this.proxyOf.nodes)return;let e,r,i=this.getIterator();for(;this.indexes[i]{let i;try{i=t(e,r)}catch(t){throw e.addToError(t)}return!1!==i&&e.walk&&(i=e.walk(t)),i}))}walkDecls(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("decl"===r.type&&t.test(r.prop))return e(r,i)})):this.walk(((r,i)=>{if("decl"===r.type&&r.prop===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("decl"===t.type)return e(t,r)})))}walkRules(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("rule"===r.type&&t.test(r.selector))return e(r,i)})):this.walk(((r,i)=>{if("rule"===r.type&&r.selector===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("rule"===t.type)return e(t,r)})))}walkAtRules(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("atrule"===r.type&&t.test(r.name))return e(r,i)})):this.walk(((r,i)=>{if("atrule"===r.type&&r.name===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("atrule"===t.type)return e(t,r)})))}walkComments(t){return this.walk(((e,r)=>{if("comment"===e.type)return t(e,r)}))}append(...t){for(let e of t){let t=this.normalize(e,this.last);for(let e of t)this.proxyOf.nodes.push(e)}return this.markDirty(),this}prepend(...t){t=t.reverse();for(let e of t){let t=this.normalize(e,this.first,"prepend").reverse();for(let e of t)this.proxyOf.nodes.unshift(e);for(let e in this.indexes)this.indexes[e]=this.indexes[e]+t.length}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let e of this.nodes)e.cleanRaws(t)}insertBefore(t,e){let r,i=this.index(t),n=0===i&&"prepend",s=this.normalize(e,this.proxyOf.nodes[i],n).reverse();i=this.index(t);for(let t of s)this.proxyOf.nodes.splice(i,0,t);for(let t in this.indexes)r=this.indexes[t],i<=r&&(this.indexes[t]=r+s.length);return this.markDirty(),this}insertAfter(t,e){let r,i=this.index(t),n=this.normalize(e,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let t of n)this.proxyOf.nodes.splice(i+1,0,t);for(let t in this.indexes)r=this.indexes[t],i=t&&(this.indexes[r]=e-1);return this.markDirty(),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(t,e,r){return r||(r=e,e={}),this.walkDecls((i=>{e.props&&!e.props.includes(i.prop)||e.fast&&!i.value.includes(e.fast)||(i.value=i.value.replace(t,r))})),this.markDirty(),this}every(t){return this.nodes.every(t)}some(t){return this.nodes.some(t)}index(t){return"number"==typeof t?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(t,e){if("string"==typeof t)t=p(i(t).nodes);else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new c(t)]}else if(t.selector)t=[new n(t)];else if(t.name)t=[new s(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new u(t)]}return t.map((t=>(t[l]||f.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[a]&&d(t),void 0===t.raws.before&&e&&void 0!==e.raws.before&&(t.raws.before=e.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t)))}getProxyProcessor(){return{set:(t,e,r)=>(t[e]===r||(t[e]=r,"name"!==e&&"params"!==e&&"selector"!==e||t.markDirty()),!0),get:(t,e)=>"proxyOf"===e?t:t[e]?"each"===e||"string"==typeof e&&e.startsWith("walk")?(...r)=>t[e](...r.map((t=>"function"==typeof t?(e,r)=>t(e.toProxy(),r):t))):"every"===e||"some"===e?r=>t[e](((t,...e)=>r(t.toProxy(),...e))):"root"===e?()=>t.root().toProxy():"nodes"===e?t.nodes.map((t=>t.toProxy())):"first"===e||"last"===e?t[e].toProxy():t[e]:t[e]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}}f.registerParse=t=>{i=t},f.registerRule=t=>{n=t},f.registerAtRule=t=>{s=t},f.registerRoot=t=>{o=t},t.exports=f,f.default=f,f.rebuild=t=>{"atrule"===t.type?Object.setPrototypeOf(t,s.prototype):"rule"===t.type?Object.setPrototypeOf(t,n.prototype):"decl"===t.type?Object.setPrototypeOf(t,c.prototype):"comment"===t.type?Object.setPrototypeOf(t,u.prototype):"root"===t.type&&Object.setPrototypeOf(t,o.prototype),t[l]=!0,t.nodes&&t.nodes.forEach((t=>{f.rebuild(t)}))}},7397:(t,e,r)=>{"use strict";let i=r(4470),n=r(6527);class s extends Error{constructor(t,e,r,i,n,o){super(t),this.name="CssSyntaxError",this.reason=t,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),void 0!==e&&void 0!==r&&("number"==typeof e?(this.line=e,this.column=r):(this.line=e.line,this.column=e.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let e=this.source;null==t&&(t=i.isColorSupported),n&&t&&(e=n(e));let r,s,o=e.split(/\r?\n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),c=String(l).length;if(t){let{bold:t,red:e,gray:n}=i.createColors(!0);r=r=>t(e(r)),s=t=>n(t)}else r=s=t=>t;return o.slice(a,l).map(((t,e)=>{let i=a+1+e,n=" "+(" "+i).slice(-c)+" | ";if(i===this.line){let e=s(n.replace(/\d/g," "))+t.slice(0,this.column-1).replace(/[^\t]/g," ");return r(">")+s(n)+t+"\n "+e+r("^")}return" "+s(n)+t})).join("\n")}toString(){let t=this.showSourceCode();return t&&(t="\n\n"+t+"\n"),this.name+": "+this.message+t}}t.exports=s,s.default=s},954:(t,e,r)=>{"use strict";let i=r(1254);class n extends i{constructor(t){t&&void 0!==t.value&&"string"!=typeof t.value&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}}t.exports=n,n.default=n},5606:(t,e,r)=>{"use strict";let i,n,s=r(7044);class o extends s{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new i(new n,this,t).stringify()}}o.registerLazyResult=t=>{i=t},o.registerProcessor=t=>{n=t},t.exports=o,o.default=o},2598:(t,e,r)=>{"use strict";let i=r(954),n=r(7594),s=r(6510),o=r(1446),a=r(2065),l=r(3202),c=r(2527);function u(t,e){if(Array.isArray(t))return t.map((t=>u(t)));let{inputs:r,...h}=t;if(r){e=[];for(let t of r){let r={...t,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:n.prototype}),e.push(r)}}if(h.nodes&&(h.nodes=t.nodes.map((t=>u(t,e)))),h.source){let{inputId:t,...r}=h.source;h.source=r,null!=t&&(h.source.input=e[t])}if("root"===h.type)return new l(h);if("decl"===h.type)return new i(h);if("rule"===h.type)return new c(h);if("comment"===h.type)return new s(h);if("atrule"===h.type)return new o(h);throw new Error("Unknown node type: "+t.type)}t.exports=u,u.default=u},2065:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{fileURLToPath:s,pathToFileURL:o}=r(3443),{resolve:a,isAbsolute:l}=r(2232),{nanoid:c}=r(8864),u=r(6527),h=r(7397),p=r(7594),d=Symbol("fromOffsetCache"),f=Boolean(i&&n),m=Boolean(a&&l);class g{constructor(t,e={}){if(null==t||"object"==typeof t&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,e.from&&(!m||/^\w+:\/\//.test(e.from)||l(e.from)?this.file=e.from:this.file=a(e.from)),m&&f){let t=new p(this.css,e);if(t.text){this.map=t;let e=t.consumer().file;!this.file&&e&&(this.file=this.mapResolve(e))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(t){let e,r;if(this[d])r=this[d];else{let t=this.css.split("\n");r=new Array(t.length);let e=0;for(let i=0,n=t.length;i=e)i=r.length-1;else{let e,n=r.length-2;for(;i>1),t=r[e+1])){i=e;break}i=e+1}}return{line:i+1,col:t-r[i]+1}}error(t,e,r,i={}){let n,s,a;if(e&&"object"==typeof e){let t=e,i=r;if("number"==typeof t.offset){let i=this.fromOffset(t.offset);e=i.line,r=i.col}else e=t.line,r=t.column;if("number"==typeof i.offset){let t=this.fromOffset(i.offset);s=t.line,a=t.col}else s=i.line,a=i.column}else if(!r){let t=this.fromOffset(e);e=t.line,r=t.col}let l=this.origin(e,r,s,a);return n=l?new h(t,void 0===l.endLine?l.line:{line:l.line,column:l.column},void 0===l.endLine?l.column:{line:l.endLine,column:l.endColumn},l.source,l.file,i.plugin):new h(t,void 0===s?e:{line:e,column:r},void 0===s?r:{line:s,column:a},this.css,this.file,i.plugin),n.input={line:e,column:r,endLine:s,endColumn:a,source:this.css},this.file&&(o&&(n.input.url=o(this.file).toString()),n.input.file=this.file),n}origin(t,e,r,i){if(!this.map)return!1;let n,a,c=this.map.consumer(),u=c.originalPositionFor({line:t,column:e});if(!u.source)return!1;"number"==typeof r&&(n=c.originalPositionFor({line:r,column:i})),a=l(u.source)?o(u.source):new URL(u.source,this.map.consumer().sourceRoot||o(this.map.mapFile));let h={url:a.toString(),line:u.line,column:u.column,endLine:n&&n.line,endColumn:n&&n.column};if("file:"===a.protocol){if(!s)throw new Error("file: protocol is not available in this PostCSS build");h.file=s(a)}let p=c.sourceContentFor(u.source);return p&&(h.source=p),h}mapResolve(t){return/^\w+:\/\//.test(t)?t:a(this.map.consumer().sourceRoot||this.map.root||".",t)}get from(){return this.file||this.id}toJSON(){let t={};for(let e of["hasBOM","css","file","id"])null!=this[e]&&(t[e]=this[e]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}}t.exports=g,g.default=g,u&&u.registerInput&&u.registerInput(g)},4235:(t,e,r)=>{"use strict";let{isClean:i,my:n}=r(7140),s=r(2037),o=r(3557),a=r(7044),l=r(5606),c=(r(1095),r(271)),u=r(1429),h=r(3202);const p={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},d={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},f={postcssPlugin:!0,prepare:!0,Once:!0};function m(t){return"object"==typeof t&&"function"==typeof t.then}function g(t){let e=!1,r=p[t.type];return"decl"===t.type?e=t.prop.toLowerCase():"atrule"===t.type&&(e=t.name.toLowerCase()),e&&t.append?[r,r+"-"+e,0,r+"Exit",r+"Exit-"+e]:e?[r,r+"-"+e,r+"Exit",r+"Exit-"+e]:t.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function b(t){let e;return e="document"===t.type?["Document",0,"DocumentExit"]:"root"===t.type?["Root",0,"RootExit"]:g(t),{node:t,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function y(t){return t[i]=!1,t.nodes&&t.nodes.forEach((t=>y(t))),t}let v={};class w{constructor(t,e,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof e||null===e||"root"!==e.type&&"document"!==e.type)if(e instanceof w||e instanceof c)i=y(e.root),e.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=e.map);else{let t=u;r.syntax&&(t=r.syntax.parse),r.parser&&(t=r.parser),t.parse&&(t=t.parse);try{i=t(e,r)}catch(t){this.processed=!0,this.error=t}i&&!i[n]&&a.rebuild(i)}else i=y(e);this.result=new c(t,i,r),this.helpers={...v,result:this.result,postcss:v},this.plugins=this.processor.plugins.map((t=>"object"==typeof t&&t.prepare?{...t,...t.prepare(this.result)}:t))}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(t,e){return this.async().then(t,e)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins)if(m(this.runOnRoot(t)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[i];)t[i]=!0,this.walkSync(t);if(this.listeners.OnceExit)if("document"===t.type)for(let e of t.nodes)this.visitSync(this.listeners.OnceExit,e);else this.visitSync(this.listeners.OnceExit,t)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,e=o;t.syntax&&(e=t.syntax.stringify),t.stringifier&&(e=t.stringifier),e.stringify&&(e=e.stringify);let r=new s(e,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}walkSync(t){t[i]=!0;let e=g(t);for(let r of e)if(0===r)t.nodes&&t.each((t=>{t[i]||this.walkSync(t)}));else{let e=this.listeners[r];if(e&&this.visitSync(e,t.toProxy()))return}}visitSync(t,e){for(let[r,i]of t){let t;this.result.lastPlugin=r;try{t=i(e,this.helpers)}catch(t){throw this.handleError(t,e.proxyOf)}if("root"!==e.type&&"document"!==e.type&&!e.parent)return!0;if(m(t))throw this.getAsyncError()}}runOnRoot(t){this.result.lastPlugin=t;try{if("object"==typeof t&&t.Once){if("document"===this.result.root.type){let e=this.result.root.nodes.map((e=>t.Once(e,this.helpers)));return m(e[0])?Promise.all(e):e}return t.Once(this.result.root,this.helpers)}if("function"==typeof t)return t(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,e){let r=this.result.lastPlugin;try{e&&e.addToError(t),this.error=t,"CssSyntaxError"!==t.name||t.plugin?r.postcssVersion:(t.plugin=r.postcssPlugin,t.setMessage())}catch(t){console&&console.error&&console.error(t)}return t}async runAsync(){this.plugin=0;for(let t=0;t0;){let t=this.visitTick(e);if(m(t))try{await t}catch(t){let r=e[e.length-1].node;throw this.handleError(t,r)}}}if(this.listeners.OnceExit)for(let[e,r]of this.listeners.OnceExit){this.result.lastPlugin=e;try{if("document"===t.type){let e=t.nodes.map((t=>r(t,this.helpers)));await Promise.all(e)}else await r(t,this.helpers)}catch(t){throw this.handleError(t)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let t=(t,e,r)=>{this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push([t,r])};for(let e of this.plugins)if("object"==typeof e)for(let r in e){if(!d[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${e.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[r])if("object"==typeof e[r])for(let i in e[r])t(e,"*"===i?r:r+"-"+i.toLowerCase(),e[r][i]);else"function"==typeof e[r]&&t(e,r,e[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(t){let e=t[t.length-1],{node:r,visitors:n}=e;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void t.pop();if(n.length>0&&e.visitorIndex{v=t},t.exports=w,w.default=w,h.registerLazyResult(w),l.registerLazyResult(w)},2553:t=>{"use strict";let e={split(t,e,r){let i=[],n="",s=!1,o=0,a=!1,l="",c=!1;for(let r of t)c?c=!1:"\\"===r?c=!0:a?r===l&&(a=!1):'"'===r||"'"===r?(a=!0,l=r):"("===r?o+=1:")"===r?o>0&&(o-=1):0===o&&e.includes(r)&&(s=!0),s?(""!==n&&i.push(n.trim()),n="",s=!1):n+=r;return(r||""!==n)&&i.push(n.trim()),i},space:t=>e.split(t,[" ","\n","\t"]),comma:t=>e.split(t,[","],!0)};t.exports=e,e.default=e},2037:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{dirname:s,resolve:o,relative:a,sep:l}=r(2232),{pathToFileURL:c}=r(3443),u=r(2065),h=Boolean(i&&n),p=Boolean(s&&o&&a&&l);t.exports=class{constructor(t,e,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=e,this.opts=r,this.css=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk((t=>{if(t.source&&t.source.input.map){let e=t.source.input.map;this.previousMaps.includes(e)||this.previousMaps.push(e)}}));else{let t=new u(this.css,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let t=this.mapOpts.annotation;return(void 0===t||!0===t)&&(!this.previous().length||this.previous().some((t=>t.inline)))}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((t=>t.withContent()))}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let t;for(let e=this.root.nodes.length-1;e>=0;e--)t=this.root.nodes[e],"comment"===t.type&&0===t.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(e)}else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}setSourcesContent(){let t={};if(this.root)this.root.walk((e=>{if(e.source){let r=e.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,e.source.input.css)}}}));else if(this.css){let t=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(t,this.css)}}applyPrevMaps(){for(let t of this.previous()){let e,r=this.toUrl(this.path(t.file)),n=t.root||s(t.file);!1===this.mapOpts.sourcesContent?(e=new i(t.text),e.sourcesContent&&(e.sourcesContent=e.sourcesContent.map((()=>null)))):e=t.consumer(),this.map.applySourceMap(e,r,this.toUrl(this.path(n)))}}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((t=>t.annotation)))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}addAnnotation(){let t;t=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let e="\n";this.css.includes("\r\n")&&(e="\r\n"),this.css+=e+"/*# sourceMappingURL="+t+" */"}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=n.fromSourceMap(t)}else this.map=new n({file:this.outputFile()}),this.map.addMapping({source:this.opts.from?this.toUrl(this.path(this.opts.from)):"",generated:{line:1,column:0},original:{line:1,column:0}});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}path(t){if(0===t.indexOf("<"))return t;if(/^\w+:\/\//.test(t))return t;if(this.mapOpts.absolute)return t;let e=this.opts.to?s(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(e=s(o(e,this.mapOpts.annotation))),a(e,t)}toUrl(t){return"\\"===l&&(t=t.replace(/\\/g,"/")),encodeURI(t).replace(/[#?]/g,encodeURIComponent)}toFileUrl(t){if(c)return c(t).toString();throw new Error("`map.absolute` option is not available in this PostCSS build")}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}generateString(){this.css="",this.map=new n({file:this.outputFile()});let t,e,r=1,i=1,s="",o={source:"",generated:{line:0,column:0},original:{line:0,column:0}};this.stringify(this.root,((n,a,l)=>{if(this.css+=n,a&&"end"!==l&&(o.generated.line=r,o.generated.column=i-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,this.map.addMapping(o))),t=n.match(/\n/g),t?(r+=t.length,e=n.lastIndexOf("\n"),i=n.length-e):i+=n.length,a&&"start"!==l){let t=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===t.last&&!t.raws.semicolon||(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=r,o.generated.column=i-2,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,o.generated.line=r,o.generated.column=i-1,this.map.addMapping(o)))}}))}generate(){if(this.clearAnnotation(),p&&h&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,(e=>{t+=e})),[t]}}}},6905:(t,e,r)=>{"use strict";let i=r(2037),n=r(3557),s=(r(1095),r(1429));const o=r(271);class a{constructor(t,e,r){let s;e=e.toString(),this.stringified=!1,this._processor=t,this._css=e,this._opts=r,this._map=void 0;let a=n;this.result=new o(this._processor,s,this._opts),this.result.css=e;let l=this;Object.defineProperty(this.result,"root",{get:()=>l.root});let c=new i(a,s,this._opts,e);if(c.isMap()){let[t,e]=c.generate();t&&(this.result.css=t),e&&(this.result.map=e)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let t,e=s;try{t=e(this._css,this._opts)}catch(t){this.error=t}if(this.error)throw this.error;return this._root=t,t}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(t,e){return this.async().then(t,e)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}}t.exports=a,a.default=a},1254:(t,e,r)=>{"use strict";let{isClean:i,my:n}=r(7140),s=r(7397),o=r(166),a=r(3557);function l(t,e){let r=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if("proxyCache"===i)continue;let n=t[i],s=typeof n;"parent"===i&&"object"===s?e&&(r[i]=e):"source"===i?r[i]=n:Array.isArray(n)?r[i]=n.map((t=>l(t,r))):("object"===s&&null!==n&&(n=l(n)),r[i]=n)}return r}class c{constructor(t={}){this.raws={},this[i]=!1,this[n]=!0;for(let e in t)if("nodes"===e){this.nodes=[];for(let r of t[e])"function"==typeof r.clone?this.append(r.clone()):this.append(r)}else this[e]=t[e]}error(t,e={}){if(this.source){let{start:r,end:i}=this.rangeBy(e);return this.source.input.error(t,{line:r.line,column:r.column},{line:i.line,column:i.column},e)}return new s(t)}warn(t,e,r){let i={node:this};for(let t in r)i[t]=r[t];return t.warn(e,i)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(t=a){t.stringify&&(t=t.stringify);let e="";return t(this,(t=>{e+=t})),e}assign(t={}){for(let e in t)this[e]=t[e];return this}clone(t={}){let e=l(this);for(let r in t)e[r]=t[r];return e}cloneBefore(t={}){let e=this.clone(t);return this.parent.insertBefore(this,e),e}cloneAfter(t={}){let e=this.clone(t);return this.parent.insertAfter(this,e),e}replaceWith(...t){if(this.parent){let e=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(e,i),e=i):this.parent.insertBefore(e,i);r||this.remove()}return this}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}before(t){return this.parent.insertBefore(this,t),this}after(t){return this.parent.insertAfter(this,t),this}root(){let t=this;for(;t.parent&&"document"!==t.parent.type;)t=t.parent;return t}raw(t,e){return(new o).raw(this,t,e)}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}toJSON(t,e){let r={},i=null==e;e=e||new Map;let n=0;for(let t in this){if(!Object.prototype.hasOwnProperty.call(this,t))continue;if("parent"===t||"proxyCache"===t)continue;let i=this[t];if(Array.isArray(i))r[t]=i.map((t=>"object"==typeof t&&t.toJSON?t.toJSON(null,e):t));else if("object"==typeof i&&i.toJSON)r[t]=i.toJSON(null,e);else if("source"===t){let s=e.get(i.input);null==s&&(s=n,e.set(i.input,n),n++),r[t]={inputId:s,start:i.start,end:i.end}}else r[t]=i}return i&&(r.inputs=[...e.keys()].map((t=>t.toJSON()))),r}positionInside(t){let e=this.toString(),r=this.source.start.column,i=this.source.start.line;for(let n=0;n(t[e]===r||(t[e]=r,"prop"!==e&&"value"!==e&&"name"!==e&&"params"!==e&&"important"!==e&&"text"!==e||t.markDirty()),!0),get:(t,e)=>"proxyOf"===e?t:"root"===e?()=>t.root().toProxy():t[e]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let e=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${e.input.from}:${e.start.line}:${e.start.column}$&`)}return t}markDirty(){if(this[i]){this[i]=!1;let t=this;for(;t=t.parent;)t[i]=!1}}get proxyOf(){return this}}t.exports=c,c.default=c},1429:(t,e,r)=>{"use strict";let i=r(7044),n=r(909),s=r(2065);function o(t,e){let r=new s(t,e),i=new n(r);try{i.parse()}catch(t){throw t}return i.root}t.exports=o,o.default=o,i.registerParse(o)},909:(t,e,r)=>{"use strict";let i=r(954),n=r(7377),s=r(6510),o=r(1446),a=r(3202),l=r(2527);const c={empty:!0,space:!0};t.exports=class{constructor(t){this.input=t,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:t,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=n(this.input)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t)}this.endFile()}comment(t){let e=new s;this.init(e,t[2]),e.source.end=this.getPosition(t[3]||t[2]);let r=t[1].slice(2,-2);if(/^\s*$/.test(r))e.text="",e.raws.left=r,e.raws.right="";else{let t=r.match(/^(\s*)([^]*\S)(\s*)$/);e.text=t[2],e.raws.left=t[1],e.raws.right=t[3]}}emptyRule(t){let e=new l;this.init(e,t[2]),e.selector="",e.raws.between="",this.current=e}other(t){let e=!1,r=null,i=!1,n=null,s=[],o=t[1].startsWith("--"),a=[],l=t;for(;l;){if(r=l[0],a.push(l),"("===r||"["===r)n||(n=l),s.push("("===r?")":"]");else if(o&&i&&"{"===r)n||(n=l),s.push("}");else if(0===s.length){if(";"===r){if(i)return void this.decl(a,o);break}if("{"===r)return void this.rule(a);if("}"===r){this.tokenizer.back(a.pop()),e=!0;break}":"===r&&(i=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(n=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(e=!0),s.length>0&&this.unclosedBracket(n),e&&i){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}rule(t){t.pop();let e=new l;this.init(e,t[0][2]),e.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(e,"selector",t),this.current=e}decl(t,e){let r=new i;this.init(r,t[0][2]);let n,s=t[t.length-1];for(";"===s[0]&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(s[3]||s[2]||function(t){for(let e=t.length-1;e>=0;e--){let r=t[e],i=r[3]||r[2];if(i)return i}}(t));"word"!==t[0][0];)1===t.length&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let e=t[0][0];if(":"===e||"space"===e||"comment"===e)break;r.prop+=t.shift()[1]}for(r.raws.between="";t.length;){if(n=t.shift(),":"===n[0]){r.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),r.raws.between+=n[1]}"_"!==r.prop[0]&&"*"!==r.prop[0]||(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o,a=[];for(;t.length&&(o=t[0][0],"space"===o||"comment"===o);)a.push(t.shift());this.precheckMissedSemicolon(t);for(let e=t.length-1;e>=0;e--){if(n=t[e],"!important"===n[1].toLowerCase()){r.important=!0;let i=this.stringFrom(t,e);i=this.spacesFromEnd(t)+i," !important"!==i&&(r.raws.important=i);break}if("important"===n[1].toLowerCase()){let i=t.slice(0),n="";for(let t=e;t>0;t--){let e=i[t][0];if(0===n.trim().indexOf("!")&&"space"!==e)break;n=i.pop()[1]+n}0===n.trim().indexOf("!")&&(r.important=!0,r.raws.important=n,t=i)}if("space"!==n[0]&&"comment"!==n[0])break}t.some((t=>"space"!==t[0]&&"comment"!==t[0]))&&(r.raws.between+=a.map((t=>t[1])).join(""),a=[]),this.raw(r,"value",a.concat(t),e),r.value.includes(":")&&!e&&this.checkMissedSemicolon(t)}atrule(t){let e,r,i,n=new o;n.name=t[1].slice(1),""===n.name&&this.unnamedAtrule(n,t),this.init(n,t[2]);let s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=(t=this.tokenizer.nextToken())[0],"("===e||"["===e?c.push("("===e?")":"]"):"{"===e&&c.length>0?c.push("}"):e===c[c.length-1]&&c.pop(),0===c.length){if(";"===e){n.source.end=this.getPosition(t[2]),this.semicolon=!0;break}if("{"===e){a=!0;break}if("}"===e){if(l.length>0){for(i=l.length-1,r=l[i];r&&"space"===r[0];)r=l[--i];r&&(n.source.end=this.getPosition(r[3]||r[2]))}this.end(t);break}l.push(t)}else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(n.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(n,"params",l),s&&(t=l[l.length-1],n.source.end=this.getPosition(t[3]||t[2]),this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),a&&(n.nodes=[],this.current=n)}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let e=this.input.fromOffset(t);return{offset:t,line:e.line,column:e.col}}init(t,e){this.current.push(t),t.source={start:this.getPosition(e),input:this.input},t.raws.before=this.spaces,this.spaces="","comment"!==t.type&&(this.semicolon=!1)}raw(t,e,r,i){let n,s,o,a,l=r.length,u="",h=!0;for(let t=0;tt+e[1]),"");t.raws[e]={value:u,raw:i}}t[e]=u}spacesAndCommentsFromEnd(t){let e,r="";for(;t.length&&(e=t[t.length-1][0],"space"===e||"comment"===e);)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let e,r="";for(;t.length&&(e=t[0][0],"space"===e||"comment"===e);)r+=t.shift()[1];return r}spacesFromEnd(t){let e,r="";for(;t.length&&(e=t[t.length-1][0],"space"===e);)r=t.pop()[1]+r;return r}stringFrom(t,e){let r="";for(let i=e;i=0&&(r=t[n],"space"===r[0]||(i+=1,2!==i));n--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}}},9719:(t,e,r)=>{"use strict";var i=r(4406);let n=r(7397),s=r(954),o=r(4235),a=r(7044),l=r(4418),c=r(3557),u=r(2598),h=r(5606),p=r(8555),d=r(6510),f=r(1446),m=r(271),g=r(2065),b=r(1429),y=r(2553),v=r(2527),w=r(3202),x=r(1254);function S(...t){return 1===t.length&&Array.isArray(t[0])&&(t=t[0]),new l(t)}S.plugin=function(t,e){let r,n=!1;function s(...r){console&&console.warn&&!n&&(n=!0,console.warn(t+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),i.env.LANG&&i.env.LANG.startsWith("cn")&&console.warn(t+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226"));let s=e(...r);return s.postcssPlugin=t,s.postcssVersion=(new l).version,s}return Object.defineProperty(s,"postcss",{get:()=>(r||(r=s()),r)}),s.process=function(t,e,r){return S([s(r)]).process(t,e)},s},S.stringify=c,S.parse=b,S.fromJSON=u,S.list=y,S.comment=t=>new d(t),S.atRule=t=>new f(t),S.decl=t=>new s(t),S.rule=t=>new v(t),S.root=t=>new w(t),S.document=t=>new h(t),S.CssSyntaxError=n,S.Declaration=s,S.Container=a,S.Processor=l,S.Document=h,S.Comment=d,S.Warning=p,S.AtRule=f,S.Result=m,S.Input=g,S.Rule=v,S.Root=w,S.Node=x,o.registerPostcss(S),t.exports=S,S.default=S},7594:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{existsSync:s,readFileSync:o}=r(6969),{dirname:a,join:l}=r(2232);class c{constructor(t,e){if(!1===e.map)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=e.map?e.map.prev:void 0,i=this.loadMap(e.from,r);!this.mapFile&&e.from&&(this.mapFile=e.from),this.mapFile&&(this.root=a(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new i(this.text)),this.consumerCache}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}startWith(t,e){return!!t&&t.substr(0,e.length)===e}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}loadAnnotation(t){let e=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!e)return;let r=t.lastIndexOf(e.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}decodeInline(t){if(/^data:application\/json;charset=utf-?8,/.test(t)||/^data:application\/json,/.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(t)||/^data:application\/json;base64,/.test(t))return e=t.substr(RegExp.lastMatch.length),Buffer?Buffer.from(e,"base64").toString():window.atob(e);var e;let r=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+r)}loadFile(t){if(this.root=a(t),s(t))return this.mapFile=t,o(t,"utf-8").toString().trim()}loadMap(t,e){if(!1===e)return!1;if(e){if("string"==typeof e)return e;if("function"!=typeof e){if(e instanceof i)return n.fromSourceMap(e).toString();if(e instanceof n)return e.toString();if(this.isMap(e))return JSON.stringify(e);throw new Error("Unsupported previous source map format: "+e.toString())}{let r=e(t);if(r){let t=this.loadFile(r);if(!t)throw new Error("Unable to load previous source map: "+r.toString());return t}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let e=this.annotation;return t&&(e=l(a(t),e)),this.loadFile(e)}}}isMap(t){return"object"==typeof t&&("string"==typeof t.mappings||"string"==typeof t._mappings||Array.isArray(t.sections))}}t.exports=c,c.default=c},4418:(t,e,r)=>{"use strict";let i=r(6905),n=r(4235),s=r(5606),o=r(3202);class a{constructor(t=[]){this.version="8.4.21",this.plugins=this.normalize(t)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}process(t,e={}){return 0===this.plugins.length&&void 0===e.parser&&void 0===e.stringifier&&void 0===e.syntax?new i(this,t,e):new n(this,t,e)}normalize(t){let e=[];for(let r of t)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))e=e.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)e.push(r);else if("function"==typeof r)e.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return e}}t.exports=a,a.default=a,o.registerProcessor(a),s.registerProcessor(a)},271:(t,e,r)=>{"use strict";let i=r(8555);class n{constructor(t,e,r){this.processor=t,this.messages=[],this.root=e,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,e={}){e.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(e.plugin=this.lastPlugin.postcssPlugin);let r=new i(t,e);return this.messages.push(r),r}warnings(){return this.messages.filter((t=>"warning"===t.type))}get content(){return this.css}}t.exports=n,n.default=n},3202:(t,e,r)=>{"use strict";let i,n,s=r(7044);class o extends s{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}removeChild(t,e){let r=this.index(t);return!e&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}normalize(t,e,r){let i=super.normalize(t);if(e)if("prepend"===r)this.nodes.length>1?e.raws.before=this.nodes[1].raws.before:delete e.raws.before;else if(this.first!==e)for(let t of i)t.raws.before=e.raws.before;return i}toResult(t={}){return new i(new n,this,t).stringify()}}o.registerLazyResult=t=>{i=t},o.registerProcessor=t=>{n=t},t.exports=o,o.default=o,s.registerRoot(o)},2527:(t,e,r)=>{"use strict";let i=r(7044),n=r(2553);class s extends i{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return n.comma(this.selector)}set selectors(t){let e=this.selector?this.selector.match(/,\s*/):null,r=e?e[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}}t.exports=s,s.default=s,i.registerRule(s)},166:t=>{"use strict";const e={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};class r{constructor(t){this.builder=t}stringify(t,e){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,e)}document(t){this.body(t)}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}comment(t){let e=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder("/*"+e+t.text+r+"*/",t)}decl(t,e){let r=this.raw(t,"between","colon"),i=t.prop+r+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),e&&(i+=";"),this.builder(i,t)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}atrule(t,e){let r="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(void 0!==t.raws.afterName?r+=t.raws.afterName:i&&(r+=" "),t.nodes)this.block(t,r+i);else{let n=(t.raws.between||"")+(e?";":"");this.builder(r+i+n,t)}}body(t){let e=t.nodes.length-1;for(;e>0&&"comment"===t.nodes[e].type;)e-=1;let r=this.raw(t,"semicolon");for(let i=0;i{if(n=t.raws[r],void 0!==n)return!1}))}var a;return void 0===n&&(n=e[i]),o.rawCache[i]=n,n}rawSemicolon(t){let e;return t.walk((t=>{if(t.nodes&&t.nodes.length&&"decl"===t.last.type&&(e=t.raws.semicolon,void 0!==e))return!1})),e}rawEmptyBody(t){let e;return t.walk((t=>{if(t.nodes&&0===t.nodes.length&&(e=t.raws.after,void 0!==e))return!1})),e}rawIndent(t){if(t.raws.indent)return t.raws.indent;let e;return t.walk((r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&void 0!==r.raws.before){let t=r.raws.before.split("\n");return e=t[t.length-1],e=e.replace(/\S/g,""),!1}})),e}rawBeforeComment(t,e){let r;return t.walkComments((t=>{if(void 0!==t.raws.before)return r=t.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(e,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(t,e){let r;return t.walkDecls((t=>{if(void 0!==t.raws.before)return r=t.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(e,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeRule(t){let e;return t.walk((r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&void 0!==r.raws.before)return e=r.raws.before,e.includes("\n")&&(e=e.replace(/[^\n]+$/,"")),!1})),e&&(e=e.replace(/\S/g,"")),e}rawBeforeClose(t){let e;return t.walk((t=>{if(t.nodes&&t.nodes.length>0&&void 0!==t.raws.after)return e=t.raws.after,e.includes("\n")&&(e=e.replace(/[^\n]+$/,"")),!1})),e&&(e=e.replace(/\S/g,"")),e}rawBeforeOpen(t){let e;return t.walk((t=>{if("decl"!==t.type&&(e=t.raws.between,void 0!==e))return!1})),e}rawColon(t){let e;return t.walkDecls((t=>{if(void 0!==t.raws.between)return e=t.raws.between.replace(/[^\s:]/g,""),!1})),e}beforeAfter(t,e){let r;r="decl"===t.type?this.raw(t,null,"beforeDecl"):"comment"===t.type?this.raw(t,null,"beforeComment"):"before"===e?this.raw(t,null,"beforeRule"):this.raw(t,null,"beforeClose");let i=t.parent,n=0;for(;i&&"root"!==i.type;)n+=1,i=i.parent;if(r.includes("\n")){let e=this.raw(t,null,"indent");if(e.length)for(let t=0;t{"use strict";let i=r(166);function n(t,e){new i(e).stringify(t)}t.exports=n,n.default=n},7140:t=>{"use strict";t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")},7377:t=>{"use strict";const e="'".charCodeAt(0),r='"'.charCodeAt(0),i="\\".charCodeAt(0),n="/".charCodeAt(0),s="\n".charCodeAt(0),o=" ".charCodeAt(0),a="\f".charCodeAt(0),l="\t".charCodeAt(0),c="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),p="(".charCodeAt(0),d=")".charCodeAt(0),f="{".charCodeAt(0),m="}".charCodeAt(0),g=";".charCodeAt(0),b="*".charCodeAt(0),y=":".charCodeAt(0),v="@".charCodeAt(0),w=/[\t\n\f\r "#'()/;[\\\]{}]/g,x=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,S=/.[\n"'(/\\]/,_=/[\da-f]/i;t.exports=function(t,T={}){let C,O,k,A,E,D,P,L,M,q,N=t.css.valueOf(),j=T.ignoreErrors,I=N.length,R=0,B=[],U=[];function F(e){throw t.error("Unclosed "+e,R)}return{back:function(t){U.push(t)},nextToken:function(t){if(U.length)return U.pop();if(R>=I)return;let T=!!t&&t.ignoreUnclosed;switch(C=N.charCodeAt(R),C){case s:case o:case l:case c:case a:O=R;do{O+=1,C=N.charCodeAt(O)}while(C===o||C===s||C===l||C===c||C===a);q=["space",N.slice(R,O)],R=O-1;break;case u:case h:case f:case m:case y:case g:case d:{let t=String.fromCharCode(C);q=[t,t,R];break}case p:if(L=B.length?B.pop()[1]:"",M=N.charCodeAt(R+1),"url"===L&&M!==e&&M!==r&&M!==o&&M!==s&&M!==l&&M!==a&&M!==c){O=R;do{if(D=!1,O=N.indexOf(")",O+1),-1===O){if(j||T){O=R;break}F("bracket")}for(P=O;N.charCodeAt(P-1)===i;)P-=1,D=!D}while(D);q=["brackets",N.slice(R,O+1),R,O],R=O}else O=N.indexOf(")",R+1),A=N.slice(R,O+1),-1===O||S.test(A)?q=["(","(",R]:(q=["brackets",A,R,O],R=O);break;case e:case r:k=C===e?"'":'"',O=R;do{if(D=!1,O=N.indexOf(k,O+1),-1===O){if(j||T){O=R+1;break}F("string")}for(P=O;N.charCodeAt(P-1)===i;)P-=1,D=!D}while(D);q=["string",N.slice(R,O+1),R,O],R=O;break;case v:w.lastIndex=R+1,w.test(N),O=0===w.lastIndex?N.length-1:w.lastIndex-2,q=["at-word",N.slice(R,O+1),R,O],R=O;break;case i:for(O=R,E=!0;N.charCodeAt(O+1)===i;)O+=1,E=!E;if(C=N.charCodeAt(O+1),E&&C!==n&&C!==o&&C!==s&&C!==l&&C!==c&&C!==a&&(O+=1,_.test(N.charAt(O)))){for(;_.test(N.charAt(O+1));)O+=1;N.charCodeAt(O+1)===o&&(O+=1)}q=["word",N.slice(R,O+1),R,O],R=O;break;default:C===n&&N.charCodeAt(R+1)===b?(O=N.indexOf("*/",R+2)+1,0===O&&(j||T?O=N.length:F("comment")),q=["comment",N.slice(R,O+1),R,O],R=O):(x.lastIndex=R+1,x.test(N),O=0===x.lastIndex?N.length-1:x.lastIndex-2,q=["word",N.slice(R,O+1),R,O],B.push(q),R=O)}return R++,q},endOfFile:function(){return 0===U.length&&R>=I},position:function(){return R}}}},1095:t=>{"use strict";let e={};t.exports=function(t){e[t]||(e[t]=!0,"undefined"!=typeof console&&console.warn&&console.warn(t))}},8555:t=>{"use strict";class e{constructor(t,e={}){if(this.type="warning",this.text=t,e.node&&e.node.source){let t=e.node.rangeBy(e);this.line=t.start.line,this.column=t.start.column,this.endLine=t.end.line,this.endColumn=t.end.column}for(let t in e)this[t]=e[t]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}t.exports=e,e.default=e},8864:t=>{t.exports={nanoid:(t=21)=>{let e="",r=t;for(;r--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return e},customAlphabet:(t,e=21)=>(r=e)=>{let i="",n=r;for(;n--;)i+=t[Math.random()*t.length|0];return i}}},9388:t=>{"use strict";t.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},2059:t=>{"use strict";t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},2184:t=>{"use strict";t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},1542:t=>{"use strict";t.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt new file mode 100644 index 0000000..fe4c1fe --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt @@ -0,0 +1,6 @@ +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js new file mode 100644 index 0000000..e3938e8 --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[134,61],{937:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,"/* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jupyter-widgets-disconnected::before {\n content: '\\f127'; /* chain-broken */\n display: inline-block;\n font: normal normal 900 14px/1 'Font Awesome 5 Free', 'FontAwesome';\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n color: #d9534f;\n padding: 3px;\n align-self: flex-start;\n}\n\n.jupyter-widgets-error-widget {\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n border: solid 1px red;\n margin: 0 auto;\n}\n\n.jupyter-widgets-error-widget.icon-error {\n min-width: var(--jp-widgets-inline-width-short);\n}\n.jupyter-widgets-error-widget.text-error {\n min-width: calc(2 * var(--jp-widgets-inline-width));\n min-height: calc(3 * var(--jp-widgets-inline-height));\n}\n\n.jupyter-widgets-error-widget p {\n text-align: center;\n}\n\n.jupyter-widgets-error-widget.text-error pre::first-line {\n font-weight: bold;\n}\n",""]);const d=a},7117:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,"/* This file has code derived from Lumino CSS files, as noted below. The license for this Lumino code is:\n\nCopyright (c) 2019 Project Jupyter Contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nCopyright (c) 2014-2017, PhosphorJS Contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/*\n * The following section is derived from https://github.com/jupyterlab/lumino/blob/23b9d075ebc5b73ab148b6ebfc20af97f85714c4/packages/widgets/style/tabbar.css \n * We've scoped the rules so that they are consistent with exactly our code.\n */\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar[data-orientation='horizontal'], /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar[data-orientation='horizontal'], /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar[data-orientation='horizontal'] {\n flex-direction: row;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar[data-orientation='vertical'], /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar[data-orientation='vertical'], /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar[data-orientation='vertical'] {\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar > .p-TabBar-content, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar > .p-TabBar-content, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar > .lm-TabBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex: 1 1 auto;\n list-style-type: none;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar[data-orientation='horizontal']\n > .p-TabBar-content,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar[data-orientation='horizontal']\n> .p-TabBar-content,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar[data-orientation='horizontal']\n > .lm-TabBar-content {\n flex-direction: row;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar[data-orientation='vertical']\n > .p-TabBar-content,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar[data-orientation='vertical']\n> .p-TabBar-content,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar[data-orientation='vertical']\n > .lm-TabBar-content {\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabIcon,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabCloseIcon {\n flex: 0 0 auto;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabLabel {\n flex: 1 1 auto;\n overflow: hidden;\n white-space: nowrap;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-hidden, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-hidden, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-hidden {\n display: none !important;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar.lm-mod-dragging .lm-TabBar-tab {\n position: relative;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='horizontal']\n .p-TabBar-tab,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='horizontal']\n .p-TabBar-tab,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging[data-orientation='horizontal']\n .lm-TabBar-tab {\n left: 0;\n transition: left 150ms ease;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='vertical']\n .p-TabBar-tab,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar.p-mod-dragging[data-orientation='vertical']\n.p-TabBar-tab,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging[data-orientation='vertical']\n .lm-TabBar-tab {\n top: 0;\n transition: top 150ms ease;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging\n .p-TabBar-tab.p-mod-dragging,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar.p-mod-dragging\n.p-TabBar-tab.p-mod-dragging,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging\n .lm-TabBar-tab.lm-mod-dragging {\n transition: none;\n}\n\n/* End tabbar.css */\n",""]);const d=a},4788:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,'/*\n\nThe nouislider.css file is autogenerated from nouislider.less, which imports and wraps the nouislider/src/nouislider.less styles.\n\nMIT License\n\nCopyright (c) 2019 Léon Gersen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/* The .widget-slider class is deprecated */\n.widget-slider,\n.jupyter-widget-slider {\n /* Functional styling;\n * These styles are required for noUiSlider to function.\n * You don\'t need to change these rules to apply your design.\n */\n /* Wrapper for all connect elements.\n */\n /* Offset direction\n */\n /* Give origins 0 height/width so they don\'t interfere with clicking the\n * connect elements.\n */\n /* Slider size and handle placement;\n */\n /* Styling;\n * Giving the connect element a border radius causes issues with using transform: scale\n */\n /* Handles and cursors;\n */\n /* Handle stripes;\n */\n /* Disabled state;\n */\n /* Base;\n *\n */\n /* Values;\n *\n */\n /* Markings;\n *\n */\n /* Horizontal layout;\n *\n */\n /* Vertical layout;\n *\n */\n /* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n /* Custom CSS for nouislider */\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target,\n.widget-slider .noUi-target *,\n.jupyter-widget-slider .noUi-target * {\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-user-select: none;\n -ms-touch-action: none;\n touch-action: none;\n -ms-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n position: relative;\n}\n.widget-slider .noUi-base,\n.jupyter-widget-slider .noUi-base,\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n overflow: hidden;\n z-index: 0;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect,\n.widget-slider .noUi-origin,\n.jupyter-widget-slider .noUi-origin {\n will-change: transform;\n position: absolute;\n z-index: 1;\n top: 0;\n right: 0;\n -ms-transform-origin: 0 0;\n -webkit-transform-origin: 0 0;\n -webkit-transform-style: preserve-3d;\n transform-origin: 0 0;\n transform-style: flat;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n height: 100%;\n width: 100%;\n}\n.widget-slider .noUi-origin,\n.jupyter-widget-slider .noUi-origin {\n height: 10%;\n width: 10%;\n}\n.widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin,\n.jupyter-widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {\n left: 0;\n right: auto;\n}\n.widget-slider .noUi-vertical .noUi-origin,\n.jupyter-widget-slider .noUi-vertical .noUi-origin {\n width: 0;\n}\n.widget-slider .noUi-horizontal .noUi-origin,\n.jupyter-widget-slider .noUi-horizontal .noUi-origin {\n height: 0;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n position: absolute;\n}\n.widget-slider .noUi-touch-area,\n.jupyter-widget-slider .noUi-touch-area {\n height: 100%;\n width: 100%;\n}\n.widget-slider .noUi-state-tap .noUi-connect,\n.jupyter-widget-slider .noUi-state-tap .noUi-connect,\n.widget-slider .noUi-state-tap .noUi-origin,\n.jupyter-widget-slider .noUi-state-tap .noUi-origin {\n -webkit-transition: transform 0.3s;\n transition: transform 0.3s;\n}\n.widget-slider .noUi-state-drag *,\n.jupyter-widget-slider .noUi-state-drag * {\n cursor: inherit !important;\n}\n.widget-slider .noUi-horizontal,\n.jupyter-widget-slider .noUi-horizontal {\n height: 18px;\n}\n.widget-slider .noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-horizontal .noUi-handle {\n width: 34px;\n height: 28px;\n right: -17px;\n top: -6px;\n}\n.widget-slider .noUi-vertical,\n.jupyter-widget-slider .noUi-vertical {\n width: 18px;\n}\n.widget-slider .noUi-vertical .noUi-handle,\n.jupyter-widget-slider .noUi-vertical .noUi-handle {\n width: 28px;\n height: 34px;\n right: -6px;\n top: -17px;\n}\n.widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {\n left: -17px;\n right: auto;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n background: #FAFAFA;\n border-radius: 4px;\n border: 1px solid #D3D3D3;\n box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n border-radius: 3px;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n background: #3FB8AF;\n}\n.widget-slider .noUi-draggable,\n.jupyter-widget-slider .noUi-draggable {\n cursor: ew-resize;\n}\n.widget-slider .noUi-vertical .noUi-draggable,\n.jupyter-widget-slider .noUi-vertical .noUi-draggable {\n cursor: ns-resize;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n border: 1px solid #D9D9D9;\n border-radius: 3px;\n background: #FFF;\n cursor: default;\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;\n}\n.widget-slider .noUi-active,\n.jupyter-widget-slider .noUi-active {\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;\n}\n.widget-slider .noUi-handle:before,\n.jupyter-widget-slider .noUi-handle:before,\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n content: "";\n display: block;\n position: absolute;\n height: 14px;\n width: 1px;\n background: #E8E7E6;\n left: 14px;\n top: 6px;\n}\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n left: 17px;\n}\n.widget-slider .noUi-vertical .noUi-handle:before,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:before,\n.widget-slider .noUi-vertical .noUi-handle:after,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:after {\n width: 14px;\n height: 1px;\n left: 6px;\n top: 14px;\n}\n.widget-slider .noUi-vertical .noUi-handle:after,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:after {\n top: 17px;\n}\n.widget-slider [disabled] .noUi-connect,\n.jupyter-widget-slider [disabled] .noUi-connect {\n background: #B8B8B8;\n}\n.widget-slider [disabled].noUi-target,\n.jupyter-widget-slider [disabled].noUi-target,\n.widget-slider [disabled].noUi-handle,\n.jupyter-widget-slider [disabled].noUi-handle,\n.widget-slider [disabled] .noUi-handle,\n.jupyter-widget-slider [disabled] .noUi-handle {\n cursor: not-allowed;\n}\n.widget-slider .noUi-pips,\n.jupyter-widget-slider .noUi-pips,\n.widget-slider .noUi-pips *,\n.jupyter-widget-slider .noUi-pips * {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.widget-slider .noUi-pips,\n.jupyter-widget-slider .noUi-pips {\n position: absolute;\n color: #999;\n}\n.widget-slider .noUi-value,\n.jupyter-widget-slider .noUi-value {\n position: absolute;\n white-space: nowrap;\n text-align: center;\n}\n.widget-slider .noUi-value-sub,\n.jupyter-widget-slider .noUi-value-sub {\n color: #ccc;\n font-size: 10px;\n}\n.widget-slider .noUi-marker,\n.jupyter-widget-slider .noUi-marker {\n position: absolute;\n background: #CCC;\n}\n.widget-slider .noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-sub {\n background: #AAA;\n}\n.widget-slider .noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-large {\n background: #AAA;\n}\n.widget-slider .noUi-pips-horizontal,\n.jupyter-widget-slider .noUi-pips-horizontal {\n padding: 10px 0;\n height: 80px;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.widget-slider .noUi-value-horizontal,\n.jupyter-widget-slider .noUi-value-horizontal {\n -webkit-transform: translate(-50%, 50%);\n transform: translate(-50%, 50%);\n}\n.noUi-rtl .widget-slider .noUi-value-horizontal,\n.noUi-rtl .jupyter-widget-slider .noUi-value-horizontal {\n -webkit-transform: translate(50%, 50%);\n transform: translate(50%, 50%);\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker {\n margin-left: -1px;\n width: 2px;\n height: 5px;\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker-sub {\n height: 10px;\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker-large {\n height: 15px;\n}\n.widget-slider .noUi-pips-vertical,\n.jupyter-widget-slider .noUi-pips-vertical {\n padding: 0 10px;\n height: 100%;\n top: 0;\n left: 100%;\n}\n.widget-slider .noUi-value-vertical,\n.jupyter-widget-slider .noUi-value-vertical {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n padding-left: 25px;\n}\n.noUi-rtl .widget-slider .noUi-value-vertical,\n.noUi-rtl .jupyter-widget-slider .noUi-value-vertical {\n -webkit-transform: translate(0, 50%);\n transform: translate(0, 50%);\n}\n.widget-slider .noUi-marker-vertical.noUi-marker,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker {\n width: 5px;\n height: 2px;\n margin-top: -1px;\n}\n.widget-slider .noUi-marker-vertical.noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker-sub {\n width: 10px;\n}\n.widget-slider .noUi-marker-vertical.noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker-large {\n width: 15px;\n}\n.widget-slider .noUi-tooltip,\n.jupyter-widget-slider .noUi-tooltip {\n display: block;\n position: absolute;\n border: 1px solid #D9D9D9;\n border-radius: 3px;\n background: #fff;\n color: #000;\n padding: 5px;\n text-align: center;\n white-space: nowrap;\n}\n.widget-slider .noUi-horizontal .noUi-tooltip,\n.jupyter-widget-slider .noUi-horizontal .noUi-tooltip {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0);\n left: 50%;\n bottom: 120%;\n}\n.widget-slider .noUi-vertical .noUi-tooltip,\n.jupyter-widget-slider .noUi-vertical .noUi-tooltip {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n top: 50%;\n right: 120%;\n}\n.widget-slider .noUi-horizontal .noUi-origin > .noUi-tooltip,\n.jupyter-widget-slider .noUi-horizontal .noUi-origin > .noUi-tooltip {\n -webkit-transform: translate(50%, 0);\n transform: translate(50%, 0);\n left: auto;\n bottom: 10px;\n}\n.widget-slider .noUi-vertical .noUi-origin > .noUi-tooltip,\n.jupyter-widget-slider .noUi-vertical .noUi-origin > .noUi-tooltip {\n -webkit-transform: translate(0, -18px);\n transform: translate(0, -18px);\n top: auto;\n right: 28px;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n background: #2196f3;\n}\n.widget-slider .noUi-horizontal,\n.jupyter-widget-slider .noUi-horizontal {\n height: var(--jp-widgets-slider-track-thickness);\n}\n.widget-slider .noUi-vertical,\n.jupyter-widget-slider .noUi-vertical {\n width: var(--jp-widgets-slider-track-thickness);\n height: 100%;\n}\n.widget-slider .noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-horizontal .noUi-handle {\n width: var(--jp-widgets-slider-handle-size);\n height: var(--jp-widgets-slider-handle-size);\n border-radius: 50%;\n top: calc((var(--jp-widgets-slider-track-thickness) - var(--jp-widgets-slider-handle-size)) / 2);\n right: calc(var(--jp-widgets-slider-handle-size) / -2);\n}\n.widget-slider .noUi-vertical .noUi-handle,\n.jupyter-widget-slider .noUi-vertical .noUi-handle {\n height: var(--jp-widgets-slider-handle-size);\n width: var(--jp-widgets-slider-handle-size);\n border-radius: 50%;\n right: calc((var(--jp-widgets-slider-handle-size) - var(--jp-widgets-slider-track-thickness)) / -2);\n top: calc(var(--jp-widgets-slider-handle-size) / -2);\n}\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n content: none;\n}\n.widget-slider .noUi-handle:before,\n.jupyter-widget-slider .noUi-handle:before {\n content: none;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n background: #fafafa;\n border-radius: 4px;\n border: 1px;\n /* box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; */\n}\n.widget-slider .ui-slider,\n.jupyter-widget-slider .ui-slider {\n border: var(--jp-widgets-slider-border-width) solid var(--jp-layout-color3);\n background: var(--jp-layout-color3);\n box-sizing: border-box;\n position: relative;\n border-radius: 0px;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n width: var(--jp-widgets-slider-handle-size);\n border: 1px solid #d9d9d9;\n border-radius: 3px;\n background: #fff;\n cursor: default;\n box-shadow: none;\n outline: none;\n}\n.widget-slider .noUi-target:not([disabled]) .noUi-handle:hover,\n.jupyter-widget-slider .noUi-target:not([disabled]) .noUi-handle:hover,\n.widget-slider .noUi-target:not([disabled]) .noUi-handle:focus,\n.jupyter-widget-slider .noUi-target:not([disabled]) .noUi-handle:focus {\n background-color: var(--jp-widgets-slider-active-handle-color);\n border: var(--jp-widgets-slider-border-width) solid var(--jp-widgets-slider-active-handle-color);\n}\n.widget-slider [disabled].noUi-target,\n.jupyter-widget-slider [disabled].noUi-target {\n opacity: 0.35;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n overflow: visible;\n z-index: 0;\n background: var(--jp-layout-color3);\n}\n.widget-slider .noUi-vertical .noUi-connect,\n.jupyter-widget-slider .noUi-vertical .noUi-connect {\n width: calc(100% + 2px);\n right: -1px;\n}\n.widget-slider .noUi-horizontal .noUi-connect,\n.jupyter-widget-slider .noUi-horizontal .noUi-connect {\n height: calc(100% + 2px);\n top: -1px;\n}\n',""]);const d=a},5309:(e,n,t)=>{t.d(n,{Z:()=>w});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o),d=t(7117),s=t(4788),l=t(8991),g=t.n(l),p=new URL(t(584),t.b),c=a()(r());c.i(d.Z),c.i(s.Z);var u=g()(p);c.push([e.id,"/* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * We assume that the CSS variables in\n * https://github.com/jupyterlab/jupyterlab/blob/master/src/default-theme/variables.css\n * have been defined.\n */\n\n:root {\n --jp-widgets-color: var(--jp-content-font-color1);\n --jp-widgets-label-color: var(--jp-widgets-color);\n --jp-widgets-readout-color: var(--jp-widgets-color);\n --jp-widgets-font-size: var(--jp-ui-font-size1);\n --jp-widgets-margin: 2px;\n --jp-widgets-inline-height: 28px;\n --jp-widgets-inline-width: 300px;\n --jp-widgets-inline-width-short: calc(\n var(--jp-widgets-inline-width) / 2 - var(--jp-widgets-margin)\n );\n --jp-widgets-inline-width-tiny: calc(\n var(--jp-widgets-inline-width-short) / 2 - var(--jp-widgets-margin)\n );\n --jp-widgets-inline-margin: 4px; /* margin between inline elements */\n --jp-widgets-inline-label-width: 80px;\n --jp-widgets-border-width: var(--jp-border-width);\n --jp-widgets-vertical-height: 200px;\n --jp-widgets-horizontal-tab-height: 24px;\n --jp-widgets-horizontal-tab-width: 144px;\n --jp-widgets-horizontal-tab-top-border: 2px;\n --jp-widgets-progress-thickness: 20px;\n --jp-widgets-container-padding: 15px;\n --jp-widgets-input-padding: 4px;\n --jp-widgets-radio-item-height-adjustment: 8px;\n --jp-widgets-radio-item-height: calc(\n var(--jp-widgets-inline-height) -\n var(--jp-widgets-radio-item-height-adjustment)\n );\n --jp-widgets-slider-track-thickness: 4px;\n --jp-widgets-slider-border-width: var(--jp-widgets-border-width);\n --jp-widgets-slider-handle-size: 16px;\n --jp-widgets-slider-handle-border-color: var(--jp-border-color1);\n --jp-widgets-slider-handle-background-color: var(--jp-layout-color1);\n --jp-widgets-slider-active-handle-color: var(--jp-brand-color1);\n --jp-widgets-menu-item-height: 24px;\n --jp-widgets-dropdown-arrow: url("+u+");\n --jp-widgets-input-color: var(--jp-ui-font-color1);\n --jp-widgets-input-background-color: var(--jp-layout-color1);\n --jp-widgets-input-border-color: var(--jp-border-color1);\n --jp-widgets-input-focus-border-color: var(--jp-brand-color2);\n --jp-widgets-input-border-width: var(--jp-widgets-border-width);\n --jp-widgets-disabled-opacity: 0.6;\n\n /* From Material Design Lite */\n --md-shadow-key-umbra-opacity: 0.2;\n --md-shadow-key-penumbra-opacity: 0.14;\n --md-shadow-ambient-shadow-opacity: 0.12;\n}\n\n.jupyter-widgets {\n margin: var(--jp-widgets-margin);\n box-sizing: border-box;\n color: var(--jp-widgets-color);\n overflow: visible;\n}\n\n.jp-Output-result > .jupyter-widgets {\n margin-left: 0;\n margin-right: 0;\n}\n\n/* vbox and hbox */\n\n/* */\n.widget-inline-hbox, /* */\n .jupyter-widget-inline-hbox {\n /* Horizontal widgets */\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n\n/* */\n.widget-inline-vbox, /* */\n .jupyter-widget-inline-vbox {\n /* Vertical Widgets */\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n/* */\n.widget-box, /* */\n.jupyter-widget-box {\n box-sizing: border-box;\n display: flex;\n margin: 0;\n overflow: auto;\n}\n\n/* */\n.widget-gridbox, /* */\n.jupyter-widget-gridbox {\n box-sizing: border-box;\n display: grid;\n margin: 0;\n overflow: auto;\n}\n\n/* */\n.widget-hbox, /* */\n.jupyter-widget-hbox {\n flex-direction: row;\n}\n\n/* */\n.widget-vbox, /* */\n.jupyter-widget-vbox {\n flex-direction: column;\n}\n\n/* General Tags Styling */\n\n.jupyter-widget-tagsinput {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n overflow: auto;\n\n cursor: text;\n}\n\n.jupyter-widget-tag {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 0px;\n padding-bottom: 0px;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--jp-widgets-font-size);\n\n height: calc(var(--jp-widgets-inline-height) - 2px);\n border: 0px solid;\n line-height: calc(var(--jp-widgets-inline-height) - 2px);\n box-shadow: none;\n\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color2);\n border-color: var(--jp-border-color2);\n border: none;\n user-select: none;\n\n cursor: grab;\n transition: margin-left 200ms;\n margin: 1px 1px 1px 1px;\n}\n\n.jupyter-widget-tag.mod-active {\n /* MD Lite 4dp shadow */\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 1px 10px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity)),\n 0 2px 4px -1px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity));\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color3);\n}\n\n.jupyter-widget-colortag {\n color: var(--jp-inverse-ui-font-color1);\n}\n\n.jupyter-widget-colortag.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n}\n\n.jupyter-widget-taginput {\n color: var(--jp-ui-font-color0);\n background-color: var(--jp-layout-color0);\n\n cursor: text;\n text-align: left;\n}\n\n.jupyter-widget-taginput:focus {\n outline: none;\n}\n\n.jupyter-widget-tag-close {\n margin-left: var(--jp-widgets-inline-margin);\n padding: 2px 0px 2px 2px;\n}\n\n.jupyter-widget-tag-close:hover {\n cursor: pointer;\n}\n\n/* Tag \"Primary\" Styling */\n\n.jupyter-widget-tag.mod-primary {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-brand-color1);\n}\n\n.jupyter-widget-tag.mod-primary.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n/* Tag \"Success\" Styling */\n\n.jupyter-widget-tag.mod-success {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-success-color1);\n}\n\n.jupyter-widget-tag.mod-success.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n/* Tag \"Info\" Styling */\n\n.jupyter-widget-tag.mod-info {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-info-color1);\n}\n\n.jupyter-widget-tag.mod-info.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n/* Tag \"Warning\" Styling */\n\n.jupyter-widget-tag.mod-warning {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-warn-color1);\n}\n\n.jupyter-widget-tag.mod-warning.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n/* Tag \"Danger\" Styling */\n\n.jupyter-widget-tag.mod-danger {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-error-color1);\n}\n\n.jupyter-widget-tag.mod-danger.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n/* General Button Styling */\n\n.jupyter-button {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 0px;\n padding-bottom: 0px;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--jp-widgets-font-size);\n cursor: pointer;\n\n height: var(--jp-widgets-inline-height);\n border: 0px solid;\n line-height: var(--jp-widgets-inline-height);\n box-shadow: none;\n\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color2);\n border-color: var(--jp-border-color2);\n border: none;\n user-select: none;\n}\n\n.jupyter-button i.fa {\n margin-right: var(--jp-widgets-inline-margin);\n pointer-events: none;\n}\n\n.jupyter-button:empty:before {\n content: '\\200b'; /* zero-width space */\n}\n\n.jupyter-widgets.jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n.jupyter-button i.fa.center {\n margin-right: 0;\n}\n\n.jupyter-button:hover:enabled,\n.jupyter-button:focus:enabled {\n /* MD Lite 2dp shadow */\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 3px 1px -2px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity)),\n 0 1px 5px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity));\n}\n\n.jupyter-button:active,\n.jupyter-button.mod-active {\n /* MD Lite 4dp shadow */\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 1px 10px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity)),\n 0 2px 4px -1px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity));\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color3);\n}\n\n.jupyter-button:focus:enabled {\n outline: 1px solid var(--jp-widgets-input-focus-border-color);\n}\n\n/* Button \"Primary\" Styling */\n\n.jupyter-button.mod-primary {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-brand-color1);\n}\n\n.jupyter-button.mod-primary.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n.jupyter-button.mod-primary:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n/* Button \"Success\" Styling */\n\n.jupyter-button.mod-success {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-success-color1);\n}\n\n.jupyter-button.mod-success.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n.jupyter-button.mod-success:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n/* Button \"Info\" Styling */\n\n.jupyter-button.mod-info {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-info-color1);\n}\n\n.jupyter-button.mod-info.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n.jupyter-button.mod-info:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n/* Button \"Warning\" Styling */\n\n.jupyter-button.mod-warning {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-warn-color1);\n}\n\n.jupyter-button.mod-warning.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n.jupyter-button.mod-warning:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n/* Button \"Danger\" Styling */\n\n.jupyter-button.mod-danger {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-error-color1);\n}\n\n.jupyter-button.mod-danger.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n.jupyter-button.mod-danger:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n/* Widget Button, Widget Toggle Button, Widget Upload */\n\n/* */\n.widget-button, /* */\n/* */ .widget-toggle-button, /* */\n/* */ .widget-upload, /* */\n.jupyter-widget-button,\n.jupyter-widget-toggle-button,\n.jupyter-widget-upload {\n width: var(--jp-widgets-inline-width-short);\n}\n\n/* Widget Label Styling */\n\n/* Override Bootstrap label css */\n.jupyter-widgets label {\n margin-bottom: initial;\n}\n\n/* */\n.widget-label-basic, /* */\n.jupyter-widget-label-basic {\n /* Basic Label */\n color: var(--jp-widgets-label-color);\n font-size: var(--jp-widgets-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-label, /* */\n.jupyter-widget-label {\n /* Label */\n color: var(--jp-widgets-label-color);\n font-size: var(--jp-widgets-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-inline-hbox .widget-label, /* */\n.jupyter-widget-inline-hbox .jupyter-widget-label {\n /* Horizontal Widget Label */\n color: var(--jp-widgets-label-color);\n text-align: right;\n margin-right: calc(var(--jp-widgets-inline-margin) * 2);\n width: var(--jp-widgets-inline-label-width);\n flex-shrink: 0;\n}\n\n/* */\n.widget-inline-vbox .widget-label, /* */\n.jupyter-widget-inline-vbox .jupyter-widget-label {\n /* Vertical Widget Label */\n color: var(--jp-widgets-label-color);\n text-align: center;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* Widget Readout Styling */\n\n/* */\n.widget-readout, /* */\n.jupyter-widget-readout {\n color: var(--jp-widgets-readout-color);\n font-size: var(--jp-widgets-font-size);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n overflow: hidden;\n white-space: nowrap;\n text-align: center;\n}\n\n/* */\n.widget-readout.overflow, /* */\n.jupyter-widget-readout.overflow {\n /* Overflowing Readout */\n\n /* From Material Design Lite\n shadow-key-umbra-opacity: 0.2;\n shadow-key-penumbra-opacity: 0.14;\n shadow-ambient-shadow-opacity: 0.12;\n */\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),\n 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n\n -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),\n 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2), 0 3px 1px -2px rgba(0, 0, 0, 0.14),\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n\n/* */\n.widget-inline-hbox .widget-readout, /* */\n.jupyter-widget-inline-hbox .jupyter-widget-readout {\n /* Horizontal Readout */\n text-align: center;\n max-width: var(--jp-widgets-inline-width-short);\n min-width: var(--jp-widgets-inline-width-tiny);\n margin-left: var(--jp-widgets-inline-margin);\n}\n\n/* */\n.widget-inline-vbox .widget-readout, /* */\n.jupyter-widget-inline-vbox .jupyter-widget-readout {\n /* Vertical Readout */\n margin-top: var(--jp-widgets-inline-margin);\n /* as wide as the widget */\n width: inherit;\n}\n\n/* Widget Checkbox Styling */\n\n/* */\n.widget-checkbox, /* */\n.jupyter-widget-checkbox {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-checkbox input[type='checkbox'], /* */\n.jupyter-widget-checkbox input[type='checkbox'] {\n margin: 0px calc(var(--jp-widgets-inline-margin) * 2) 0px 0px;\n line-height: var(--jp-widgets-inline-height);\n font-size: large;\n flex-grow: 1;\n flex-shrink: 0;\n align-self: center;\n}\n\n/* Widget Valid Styling */\n\n/* */\n.widget-valid, /* */\n.jupyter-widget-valid {\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width-short);\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-valid i, /* */\n.jupyter-widget-valid i {\n line-height: var(--jp-widgets-inline-height);\n margin-right: var(--jp-widgets-inline-margin);\n margin-left: var(--jp-widgets-inline-margin);\n}\n\n/* */\n.widget-valid.mod-valid i, /* */\n.jupyter-widget-valid.mod-valid i {\n color: green;\n}\n\n/* */\n.widget-valid.mod-invalid i, /* */\n.jupyter-widget-valid.mod-invalid i {\n color: red;\n}\n\n/* */\n.widget-valid.mod-valid .widget-valid-readout, /* */\n.jupyter-widget-valid.mod-valid .jupyter-widget-valid-readout {\n display: none;\n}\n\n/* Widget Text and TextArea Styling */\n\n/* */\n.widget-textarea, /* */\n/* */ .widget-text, /* */\n.jupyter-widget-textarea,\n.jupyter-widget-text {\n width: var(--jp-widgets-inline-width);\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='number'], /* */\n/* */ .widget-text input[type='password'], /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='number'],\n.jupyter-widget-text input[type='password'] {\n height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-text input[type='text']:disabled, /* */\n/* */ .widget-text input[type='number']:disabled, /* */\n/* */ .widget-text input[type='password']:disabled, /* */\n/* */ .widget-textarea textarea:disabled, /* */\n.jupyter-widget-text input[type='text']:disabled,\n.jupyter-widget-text input[type='number']:disabled,\n.jupyter-widget-text input[type='password']:disabled,\n.jupyter-widget-textarea textarea:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='number'], /* */\n/* */ .widget-text input[type='password'], /* */\n/* */ .widget-textarea textarea, /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='number'],\n.jupyter-widget-text input[type='password'],\n.jupyter-widget-textarea textarea {\n box-sizing: border-box;\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n flex-grow: 1;\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n flex-shrink: 1;\n outline: none !important;\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='password'], /* */\n/* */ .widget-textarea textarea, /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='password'],\n.jupyter-widget-textarea textarea {\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n}\n\n/* */\n.widget-text input[type='number'], /* */\n.jupyter-widget-text input[type='number'] {\n padding: var(--jp-widgets-input-padding) 0 var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n}\n\n/* */\n.widget-textarea textarea, /* */\n.jupyter-widget-textarea textarea {\n height: inherit;\n width: inherit;\n}\n\n/* */\n.widget-text input:focus, /* */\n/* */ .widget-textarea textarea:focus, /* */\n.jupyter-widget-text input:focus,\n.jupyter-widget-textarea textarea:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* Horizontal Slider */\n/* */\n.widget-hslider, /* */\n.jupyter-widget-hslider {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n\n /* Override the align-items baseline. This way, the description and readout\n still seem to align their baseline properly, and we don't have to have\n align-self: stretch in the .slider-container. */\n align-items: center;\n}\n\n/* */\n.widgets-slider .slider-container, /* */\n.jupyter-widgets-slider .slider-container {\n overflow: visible;\n}\n\n/* */\n.widget-hslider .slider-container, /* */\n.jupyter-widget-hslider .slider-container {\n margin-left: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n margin-right: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n flex: 1 1 var(--jp-widgets-inline-width-short);\n}\n\n/* Vertical Slider */\n\n/* */\n.widget-vbox .widget-label, /* */\n.jupyter-widget-vbox .jupyter-widget-label {\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-vslider, /* */\n.jupyter-widget-vslider {\n /* Vertical Slider */\n height: var(--jp-widgets-vertical-height);\n width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-vslider .slider-container, /* */\n.jupyter-widget-vslider .slider-container {\n flex: 1 1 var(--jp-widgets-inline-width-short);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n margin-top: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n display: flex;\n flex-direction: column;\n}\n\n/* Widget Progress Styling */\n\n.progress-bar {\n -webkit-transition: none;\n -moz-transition: none;\n -ms-transition: none;\n -o-transition: none;\n transition: none;\n}\n\n.progress-bar {\n height: var(--jp-widgets-inline-height);\n}\n\n.progress-bar {\n background-color: var(--jp-brand-color1);\n}\n\n.progress-bar-success {\n background-color: var(--jp-success-color1);\n}\n\n.progress-bar-info {\n background-color: var(--jp-info-color1);\n}\n\n.progress-bar-warning {\n background-color: var(--jp-warn-color1);\n}\n\n.progress-bar-danger {\n background-color: var(--jp-error-color1);\n}\n\n.progress {\n background-color: var(--jp-layout-color2);\n border: none;\n box-shadow: none;\n}\n\n/* Horisontal Progress */\n\n/* */\n.widget-hprogress, /* */\n.jupyter-widget-hprogress {\n /* Progress Bar */\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width);\n align-items: center;\n}\n\n/* */\n.widget-hprogress .progress, /* */\n.jupyter-widget-hprogress .progress {\n flex-grow: 1;\n margin-top: var(--jp-widgets-input-padding);\n margin-bottom: var(--jp-widgets-input-padding);\n align-self: stretch;\n /* Override bootstrap style */\n height: initial;\n}\n\n/* Vertical Progress */\n\n/* */\n.widget-vprogress, /* */\n.jupyter-widget-vprogress {\n height: var(--jp-widgets-vertical-height);\n width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-vprogress .progress, /* */\n.jupyter-widget-vprogress .progress {\n flex-grow: 1;\n width: var(--jp-widgets-progress-thickness);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 0;\n}\n\n/* Select Widget Styling */\n\n/* */\n.widget-dropdown, /* */\n.jupyter-widget-dropdown {\n height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-dropdown > select, /* */\n.jupyter-widget-dropdown > select {\n padding-right: 20px;\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n border-radius: 0;\n height: inherit;\n flex: 1 1 var(--jp-widgets-inline-width-short);\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n box-sizing: border-box;\n outline: none !important;\n box-shadow: none;\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n vertical-align: top;\n padding-left: calc(var(--jp-widgets-input-padding) * 2);\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-repeat: no-repeat;\n background-size: 20px;\n background-position: right center;\n background-image: var(--jp-widgets-dropdown-arrow);\n}\n/* */\n.widget-dropdown > select:focus, /* */\n.jupyter-widget-dropdown > select:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-dropdown > select:disabled, /* */\n.jupyter-widget-dropdown > select:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* To disable the dotted border in Firefox around select controls.\n See http://stackoverflow.com/a/18853002 */\n/* */\n.widget-dropdown > select:-moz-focusring, /* */\n.jupyter-widget-dropdown > select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000;\n}\n\n/* Select and SelectMultiple */\n\n/* */\n.widget-select, /* */\n.jupyter-widget-select {\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n\n /* Because Firefox defines the baseline of a select as the bottom of the\n control, we align the entire control to the top and add padding to the\n select to get an approximate first line baseline alignment. */\n align-items: flex-start;\n}\n\n/* */\n.widget-select > select, /* */\n.jupyter-widget-select > select {\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n flex: 1 1 var(--jp-widgets-inline-width-short);\n outline: none !important;\n overflow: auto;\n height: inherit;\n\n /* Because Firefox defines the baseline of a select as the bottom of the\n control, we align the entire control to the top and add padding to the\n select to get an approximate first line baseline alignment. */\n padding-top: 5px;\n}\n\n/* */\n.widget-select > select:focus, /* */\n.jupyter-widget-select > select:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n.wiget-select > select > option,\n.jupyter-wiget-select > select > option {\n padding-left: var(--jp-widgets-input-padding);\n line-height: var(--jp-widgets-inline-height);\n /* line-height doesn't work on some browsers for select options */\n padding-top: calc(\n var(--jp-widgets-inline-height) - var(--jp-widgets-font-size) / 2\n );\n padding-bottom: calc(\n var(--jp-widgets-inline-height) - var(--jp-widgets-font-size) / 2\n );\n}\n\n/* Toggle Buttons Styling */\n\n/* */\n.widget-toggle-buttons, /* */\n.jupyter-widget-toggle-buttons {\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-toggle-buttons .widget-toggle-button, /* */\n.jupyter-widget-toggle-buttons .jupyter-widget-toggle-button {\n margin-left: var(--jp-widgets-margin);\n margin-right: var(--jp-widgets-margin);\n}\n\n/* */\n.widget-toggle-buttons .jupyter-button:disabled, /* */\n.jupyter-widget-toggle-buttons .jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Radio Buttons Styling */\n\n/* */\n.widget-radio, /* */\n.jupyter-widget-radio {\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-radio-box, /* */\n.jupyter-widget-radio-box {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n box-sizing: border-box;\n flex-grow: 1;\n margin-bottom: var(--jp-widgets-radio-item-height-adjustment);\n}\n\n/* */\n.widget-radio-box label, /* */\n.jupyter-widget-radio-box label {\n height: var(--jp-widgets-radio-item-height);\n line-height: var(--jp-widgets-radio-item-height);\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-radio-box input, /* */\n.jupyter-widget-radio-box input {\n height: var(--jp-widgets-radio-item-height);\n line-height: var(--jp-widgets-radio-item-height);\n margin: 0 calc(var(--jp-widgets-input-padding) * 2) 0 1px;\n float: left;\n}\n\n/* Color Picker Styling */\n\n/* */\n.widget-colorpicker, /* */\n.jupyter-widget-colorpicker {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-colorpicker > .widget-colorpicker-input, /* */\n.jupyter-widget-colorpicker > .jupyter-widget-colorpicker-input {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-colorpicker input[type='color'], /* */\n.jupyter-widget-colorpicker input[type='color'] {\n width: var(--jp-widgets-inline-height);\n height: var(--jp-widgets-inline-height);\n padding: 0 2px; /* make the color square actually square on Chrome on OS X */\n background: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n border-left: none;\n flex-grow: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n align-self: stretch;\n outline: none !important;\n}\n\n/* */\n.widget-colorpicker.concise input[type='color'], /* */\n.jupyter-widget-colorpicker.concise input[type='color'] {\n border-left: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n}\n\n/* */\n.widget-colorpicker input[type='color']:focus, /* */\n/* */ .widget-colorpicker input[type='text']:focus, /* */\n.jupyter-widget-colorpicker input[type='color']:focus,\n.jupyter-widget-colorpicker input[type='text']:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-colorpicker input[type='text'], /* */\n.jupyter-widget-colorpicker input[type='text'] {\n flex-grow: 1;\n outline: none !important;\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n background: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n font-size: var(--jp-widgets-font-size);\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n flex-shrink: 1;\n box-sizing: border-box;\n}\n\n/* */\n.widget-colorpicker input[type='text']:disabled, /* */\n.jupyter-widget-colorpicker input[type='text']:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Date Picker Styling */\n\n/* */\n.widget-datepicker, /* */\n.jupyter-widget-datepicker {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-datepicker input[type='date'], /* */\n.jupyter-widget-datepicker input[type='date'] {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n outline: none !important;\n height: var(--jp-widgets-inline-height);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n box-sizing: border-box;\n}\n\n/* */\n.widget-datepicker input[type='date']:focus, /* */\n.jupyter-widget-datepicker input[type='date']:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-datepicker input[type='date']:invalid, /* */\n.jupyter-widget-datepicker input[type='date']:invalid {\n border-color: var(--jp-warn-color1);\n}\n\n/* */\n.widget-datepicker input[type='date']:disabled, /* */\n.jupyter-widget-datepicker input[type='date']:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Play Widget */\n\n/* */\n.widget-play, /* */\n.jupyter-widget-play {\n width: var(--jp-widgets-inline-width-short);\n display: flex;\n align-items: stretch;\n}\n\n/* */\n.widget-play .jupyter-button, /* */\n.jupyter-widget-play .jupyter-button {\n flex-grow: 1;\n height: auto;\n}\n\n/* */\n.widget-play .jupyter-button:disabled, /* */\n.jupyter-widget-play .jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Tab Widget */\n\n/* */\n.jupyter-widgets.widget-tab, /* */\n.jupyter-widgets.jupyter-widget-tab {\n display: flex;\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n /* Necessary so that a tab can be shifted down to overlay the border of the box below. */\n overflow-x: visible;\n overflow-y: visible;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar > .p-TabBar-content, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar > .p-TabBar-content, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar > .lm-TabBar-content {\n /* Make sure that the tab grows from bottom up */\n align-items: flex-end;\n min-width: 0;\n min-height: 0;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .widget-tab-contents, /* */\n.jupyter-widgets.jupyter-widget-tab > .widget-tab-contents {\n width: 100%;\n box-sizing: border-box;\n margin: 0;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n padding: var(--jp-widgets-container-padding);\n flex-grow: 1;\n overflow: auto;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n font: var(--jp-widgets-font-size) Helvetica, Arial, sans-serif;\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + var(--jp-border-width)\n );\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab {\n flex: 0 1 var(--jp-widgets-horizontal-tab-width);\n min-width: 35px;\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + var(--jp-border-width)\n );\n line-height: var(--jp-widgets-horizontal-tab-height);\n margin-left: calc(-1 * var(--jp-border-width));\n padding: 0px 10px;\n background: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-bottom: none;\n position: relative;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-current {\n color: var(--jp-ui-font-color0);\n /* We want the background to match the tab content background */\n background: var(--jp-layout-color1);\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + 2 * var(--jp-border-width)\n );\n transform: translateY(var(--jp-border-width));\n overflow: visible;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current:before, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current:before, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-current:before {\n position: absolute;\n top: calc(-1 * var(--jp-border-width));\n left: calc(-1 * var(--jp-border-width));\n content: '';\n height: var(--jp-widgets-horizontal-tab-top-border);\n width: calc(100% + 2 * var(--jp-border-width));\n background: var(--jp-brand-color1);\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab:first-child, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab:first-child, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab:first-child {\n margin-left: 0;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-TabBar-tab:hover:not(.p-mod-current),\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .p-TabBar\n .p-TabBar-tab:hover:not(.p-mod-current),\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-TabBar-tab:hover:not(.lm-mod-current) {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-mod-closable\n > .p-TabBar-tabCloseIcon,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar\n.p-mod-closable\n> .p-TabBar-tabCloseIcon,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-mod-closable\n > .lm-TabBar-tabCloseIcon {\n margin-left: 4px;\n}\n\n/* This font-awesome strategy may not work across FA4 and FA5, but we don't\nactually support closable tabs, so it really doesn't matter */\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-mod-closable\n > .p-TabBar-tabCloseIcon:before,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-widget-tab\n> .p-TabBar\n.p-mod-closable\n> .p-TabBar-tabCloseIcon:before,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-mod-closable\n > .lm-TabBar-tabCloseIcon:before {\n font-family: FontAwesome;\n content: '\\f00d'; /* close */\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabIcon,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabLabel,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabCloseIcon {\n line-height: var(--jp-widgets-horizontal-tab-height);\n}\n\n/* Accordion Widget */\n\n.jupyter-widget-Collapse {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.jupyter-widget-Collapse-header {\n padding: var(--jp-widgets-input-padding);\n cursor: pointer;\n color: var(--jp-ui-font-color2);\n background-color: var(--jp-layout-color2);\n border: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n padding: calc(var(--jp-widgets-container-padding) * 2 / 3)\n var(--jp-widgets-container-padding);\n font-weight: bold;\n}\n\n.jupyter-widget-Collapse-header:hover {\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.jupyter-widget-Collapse-open > .jupyter-widget-Collapse-header {\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color0);\n cursor: default;\n border-bottom: none;\n}\n\n.jupyter-widget-Collapse-contents {\n padding: var(--jp-widgets-container-padding);\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border-left: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n border-right: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n border-bottom: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n overflow: auto;\n}\n\n.jupyter-widget-Accordion {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.jupyter-widget-Accordion .jupyter-widget-Collapse {\n margin-bottom: 0;\n}\n\n.jupyter-widget-Accordion .jupyter-widget-Collapse + .jupyter-widget-Collapse {\n margin-top: 4px;\n}\n\n/* HTML widget */\n\n/* */\n.widget-html, /* */\n/* */ .widget-htmlmath, /* */\n.jupyter-widget-html,\n.jupyter-widget-htmlmath {\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-html > .widget-html-content, /* */\n/* */.widget-htmlmath > .widget-html-content, /* */\n.jupyter-widget-html > .jupyter-widget-html-content,\n.jupyter-widget-htmlmath > .jupyter-widget-html-content {\n /* Fill out the area in the HTML widget */\n align-self: stretch;\n flex-grow: 1;\n flex-shrink: 1;\n /* Makes sure the baseline is still aligned with other elements */\n line-height: var(--jp-widgets-inline-height);\n /* Make it possible to have absolutely-positioned elements in the html */\n position: relative;\n}\n\n/* Image widget */\n\n/* */\n.widget-image, /* */\n.jupyter-widget-image {\n max-width: 100%;\n height: auto;\n}\n",""]);const w=c},2609:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",i=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),i&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),i&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var d=0;d0?" ".concat(g[5]):""," {").concat(g[1],"}")),g[5]=o),t&&(g[2]?(g[1]="@media ".concat(g[2]," {").concat(g[1],"}"),g[2]=t):g[2]=t),r&&(g[4]?(g[1]="@supports (".concat(g[4],") {").concat(g[1],"}"),g[4]=r):g[4]="".concat(r)),n.push(g))}},n}},8991:e=>{e.exports=function(e,n){return n||(n={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),n.hash&&(e+=n.hash),/["'() \t\n]|(%20)/.test(e)||n.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},9601:e=>{e.exports=function(e){return e[1]}},6062:e=>{var n=[];function t(e){for(var t=-1,i=0;i{var n={};e.exports=function(e,t){var i=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}},1173:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},7892:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},4036:e=>{e.exports=function(e){var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var i="";t.supports&&(i+="@supports (".concat(t.supports,") {")),t.media&&(i+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(i+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),i+=t.css,r&&(i+="}"),t.media&&(i+="}"),t.supports&&(i+="}");var o=t.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),n.styleTagTransform(i,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},2464:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},61:(e,n,t)=>{t.d(n,{N:()=>i});const i="2.0.0"},134:(e,n,t)=>{t.r(n),t.d(n,{KernelWidgetManager:()=>T,LabWidgetManager:()=>v,WidgetManager:()=>f,WidgetRenderer:()=>w,default:()=>ge,output:()=>i,registerWidgetManager:()=>te});var i={};t.r(i),t.d(i,{OUTPUT_WIDGET_VERSION:()=>P,OutputModel:()=>U,OutputView:()=>k});var r=t(4411),o=t(6165),a=t(2634),d=t(9101),s=t(8714),l=t(8918),g=t(5923),p=t(5658),c=t(1526),u=t(3992);class w extends u.Panel{constructor(e,n){super(),this._manager=new c.PromiseDelegate,this._rerenderMimeModel=null,this.mimeType=e.mimeType,n&&(this.manager=n)}set manager(e){e.restored.connect(this._rerender,this),this._manager.resolve(e)}async renderModel(e){const n=e.data[this.mimeType];this.node.textContent="Loading widget...";const t=await this._manager.promise;if(""===n.model_id)return this.hide(),Promise.resolve();let i,r;try{i=await t.get_model(n.model_id)}catch(n){return t.restoredStatus?(this.node.textContent="Error displaying widget: model not found",this.addClass("jupyter-widgets"),void console.error(n)):void(this._rerenderMimeModel=e)}this._rerenderMimeModel=null;try{r=(await t.create_view(i)).luminoWidget}catch(e){return this.node.textContent="Error displaying widget",this.addClass("jupyter-widgets"),void console.error(e)}this.node.textContent="",this.addWidget(r),r.disposed.connect((()=>{this.hide(),n.model_id=""}))}dispose(){this.isDisposed||(this._manager=null,super.dispose())}_rerender(){this._rerenderMimeModel&&(this.node.textContent="",this.removeClass("jupyter-widgets"),this.renderModel(this._rerenderMimeModel))}}var h=t(7193),E=t(183),b=t(1840),j=t(9e3);class y{constructor(){this._cache=Object.create(null)}set(e,n,t){if(e in this._cache||(this._cache[e]=Object.create(null)),n in this._cache[e])throw`Version ${n} of key ${e} already registered.`;this._cache[e][n]=t}get(e,n){if(e in this._cache){const t=this._cache[e],i=(0,j.maxSatisfying)(Object.keys(t),n);if(null!==i)return t[i]}}getAllVersions(e){if(e in this._cache)return this._cache[e]}}const m="application/vnd.jupyter.widget-view+json",D="application/vnd.jupyter.widget-state+json";class v extends E.ManagerBase{constructor(e){super(),this._handleCommOpen=async(e,n)=>{const t=new h.shims.services.Comm(e);await this.handle_comm_open(t,n)},this._restored=new b.Signal(this),this._restoredStatus=!1,this._kernelRestoreInProgress=!1,this._isDisposed=!1,this._registry=new y,this._modelsSync=new Map,this._onUnhandledIOPubMessage=new b.Signal(this),this._rendermime=e}callbacks(e){return{iopub:{output:e=>{this._onUnhandledIOPubMessage.emit(e)}}}}_handleKernelChanged({oldValue:e,newValue:n}){e&&e.removeCommTarget(this.comm_target_name,this._handleCommOpen),n&&n.registerCommTarget(this.comm_target_name,this._handleCommOpen)}disconnect(){super.disconnect(),this._restoredStatus=!1}async _loadFromKernel(){var e;if(!this.kernel)throw new Error("Kernel not set");if(!1!==(null===(e=this.kernel)||void 0===e?void 0:e.handleComms))return super._loadFromKernel()}async _create_comm(e,n,t,i,r){const o=this.kernel;if(!o)throw new Error("No current kernel");const a=o.createComm(e,n);return(t||i)&&a.open(t,i,r),new h.shims.services.Comm(a)}async _get_comm_info(){const e=this.kernel;if(!e)throw new Error("No current kernel");const n=await e.requestCommInfo({target_name:this.comm_target_name});return"ok"===n.content.status?n.content.comms:{}}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._commRegistration&&this._commRegistration.dispose())}async resolveUrl(e){return e}async loadClass(e,n,t){"@jupyter-widgets/base"!==n&&"@jupyter-widgets/controls"!==n||!(0,j.valid)(t)||(t=`^${t}`);const i=this._registry.getAllVersions(n);if(!i)throw new Error(`No version of module ${n} is registered`);const r=this._registry.get(n,t);if(!r){const e=Object.keys(i);throw new Error(`Module ${n}, version ${t} is not registered, however, ${e.join(",")} ${e.length>1?"are":"is"}`)}let o;o="function"==typeof r?await r():await r;const a=o[e];if(!a)throw new Error(`Class ${e} not found in module ${n}`);return a}get rendermime(){return this._rendermime}get restored(){return this._restored}get restoredStatus(){return this._restoredStatus}get onUnhandledIOPubMessage(){return this._onUnhandledIOPubMessage}register(e){this._registry.set(e.name,e.version,e.exports)}register_model(e,n){super.register_model(e,n),n.then((n=>{this._modelsSync.set(e,n),n.once("comm:close",(()=>{this._modelsSync.delete(e)}))}))}async clear_state(){await super.clear_state(),this._modelsSync=new Map}get_state_sync(e={}){const n=[];for(const e of this._modelsSync.values())e.comm_live&&n.push(e);return(0,E.serialize_state)(n,e)}}class T extends v{constructor(e,n){super(n),this._kernel=e,e.statusChanged.connect(((e,n)=>{this._handleKernelStatusChange(n)})),e.connectionStatusChanged.connect(((e,n)=>{this._handleKernelConnectionStatusChange(n)})),this._handleKernelChanged({name:"kernel",oldValue:null,newValue:e}),this.restoreWidgets()}_handleKernelConnectionStatusChange(e){"connected"===e&&(this._kernelRestoreInProgress||this.restoreWidgets())}_handleKernelStatusChange(e){"restarting"===e&&this.disconnect()}async restoreWidgets(){try{this._kernelRestoreInProgress=!0,await this._loadFromKernel(),this._restoredStatus=!0,this._restored.emit()}catch(e){}this._kernelRestoreInProgress=!1}dispose(){this.isDisposed||(this._kernel=null,super.dispose())}get kernel(){return this._kernel}}class f extends v{constructor(e,n,t){var i,r;super(n),this._context=e,e.sessionContext.kernelChanged.connect(((e,n)=>{this._handleKernelChanged(n)})),e.sessionContext.statusChanged.connect(((e,n)=>{this._handleKernelStatusChange(n)})),e.sessionContext.connectionStatusChanged.connect(((e,n)=>{this._handleKernelConnectionStatusChange(n)})),(null===(i=e.sessionContext.session)||void 0===i?void 0:i.kernel)&&this._handleKernelChanged({name:"kernel",oldValue:null,newValue:null===(r=e.sessionContext.session)||void 0===r?void 0:r.kernel}),this.restoreWidgets(this._context.model),this._settings=t,e.saveState.connect(((e,n)=>{"started"===n&&t.saveState&&this._saveState()}))}_saveState(){const e=this.get_state_sync({drop_defaults:!0});this._context.model.metadata.set("widgets",{"application/vnd.jupyter.widget-state+json":e})}_handleKernelConnectionStatusChange(e){"connected"===e&&(this._kernelRestoreInProgress||this.restoreWidgets(this._context.model,{loadKernel:!0,loadNotebook:!1}))}_handleKernelStatusChange(e){"restarting"===e&&this.disconnect()}async restoreWidgets(e,{loadKernel:n,loadNotebook:t}={loadKernel:!0,loadNotebook:!0}){try{if(n)try{this._kernelRestoreInProgress=!0,await this._loadFromKernel()}finally{this._kernelRestoreInProgress=!1}t&&await this._loadFromNotebook(e),this._restoredStatus=!0,this._restored.emit()}catch(e){}}async _loadFromNotebook(e){const n=e.metadata.get("widgets");if(n&&n[D]){let e=n[D];e=this.filterExistingModelState(e),await this.set_state(e)}}dispose(){this.isDisposed||(this._context=null,super.dispose())}async resolveUrl(e){const n=await this.context.urlResolver.resolveUrl(e);return this.context.urlResolver.getDownloadUrl(n)}get context(){return this._context}get kernel(){var e,n,t;return null!==(t=null===(n=null===(e=this._context.sessionContext)||void 0===e?void 0:e.session)||void 0===n?void 0:n.kernel)&&void 0!==t?t:null}register_model(e,n){super.register_model(e,n),this.setDirty()}async clear_state(){await super.clear_state(),this.setDirty()}setDirty(){this._settings.saveState&&(this._context.model.dirty=!0)}}var x=t(7787),C=t(8097),R=t(2994),A=t.n(R);const P=x.OUTPUT_WIDGET_VERSION;class U extends x.OutputModel{defaults(){return Object.assign(Object.assign({},super.defaults()),{msg_id:"",outputs:[]})}initialize(e,n){super.initialize(e,n),this._outputs=new C.OutputAreaModel({trusted:!0}),this._msgHook=e=>(this.add(e),!1),this.widget_manager instanceof f&&this.widget_manager.context.sessionContext.kernelChanged.connect(((e,n)=>{this._handleKernelChanged(n)})),this.listenTo(this,"change:msg_id",this.reset_msg_id),this.listenTo(this,"change:outputs",this.setOutputs),this.setOutputs()}_handleKernelChanged({oldValue:e}){const n=this.get("msg_id");n&&e&&(e.removeMessageHook(n,this._msgHook),this.set("msg_id",null))}reset_msg_id(){const e=this.widget_manager.kernel,n=this.get("msg_id"),t=this.previous("msg_id");t&&e&&e.removeMessageHook(t,this._msgHook),n&&e&&e.registerMessageHook(n,this._msgHook)}add(e){const n=e.header.msg_type;switch(n){case"execute_result":case"display_data":case"stream":case"error":{const t=e.content;t.output_type=n,this._outputs.add(t);break}case"clear_output":this.clear_output(e.content.wait)}this.set("outputs",this._outputs.toJSON(),{newMessage:!0}),this.save_changes()}clear_output(e=!1){this._outputs.clear(e)}get outputs(){return this._outputs}setOutputs(e,n,t){t&&t.newMessage||(this.clear_output(),this._outputs.fromJSON(JSON.parse(JSON.stringify(this.get("outputs")))))}}class k extends x.OutputView{_createElement(e){return this.luminoWidget=new h.JupyterLuminoPanelWidget({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=A()(this.luminoWidget.node)}render(){super.render(),this._outputView=new C.OutputArea({rendermime:this.model.widget_manager.rendermime,contentFactory:C.OutputArea.defaultContentFactory,model:this.model.outputs}),this.luminoWidget.insertWidget(0,this._outputView),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-output"),this.update()}remove(){return this._outputView.dispose(),super.remove()}}var I=t(61),S=t(6062),B=t.n(S),O=t(4036),_=t.n(O),z=t(6793),N=t.n(z),M=t(7892),L=t.n(M),W=t(1173),H=t.n(W),F=t(2464),V=t.n(F),G=t(937),Y={};Y.styleTagTransform=V(),Y.setAttributes=L(),Y.insert=N().bind(null,"head"),Y.domAPI=_(),Y.insertStyleElement=H(),B()(G.Z,Y),G.Z&&G.Z.locals&&G.Z.locals;var Z=t(5309),K={};K.styleTagTransform=V(),K.setAttributes=L(),K.insert=N().bind(null,"head"),K.domAPI=_(),K.insertStyleElement=H(),B()(Z.Z,K),Z.Z&&Z.Z.locals&&Z.Z.locals;var J=t(4579),$=t(2856);const X=[],q={saveState:!1};function*Q(e){for(const n of e.widgets)if("code"===n.model.type)for(const e of n.outputArea.widgets)for(const n of(0,l.toArray)(e.children()))n instanceof w&&(yield n)}function*ee(e,n){const t=(0,l.filter)(e.shell.widgets(),(e=>e.id.startsWith("LinkedOutputView-")&&e.path===n));for(const e of(0,l.toArray)(t))for(const n of(0,l.toArray)(e.children()))for(const e of(0,l.toArray)(n.children()))e instanceof w&&(yield e)}function*ne(...e){for(const n of e)yield*n}function te(e,n,t){let i=le.widgetManagerProperty.get(e);i||(i=new f(e,n,q),X.forEach((e=>i.register(e))),le.widgetManagerProperty.set(e,i));for(const e of t)e.manager=i;return n.removeMimeType(m),n.addFactory({safe:!1,mimeTypes:[m],createRenderer:e=>new w(e,i)},-10),new g.DisposableDelegate((()=>{n&&n.removeMimeType(m),i.dispose()}))}const ie={id:"@jupyter-widgets/jupyterlab-manager:plugin",requires:[d.IRenderMimeRegistry],optional:[o.INotebookTracker,r.ISettingRegistry,a.IMainMenu,s.ILoggerRegistry,$.ITranslator],provides:h.IJupyterWidgetRegistry,activate:function(e,n,t,i,r,o,a){const{commands:d}=e,s=(null!=a?a:$.nullTranslator).load("jupyterlab_widgets"),l=e=>{if(!o)return;const n=le.widgetManagerProperty.get(e.context);n&&n.onUnhandledIOPubMessage.connect(((n,t)=>{const i=o.getLogger(e.context.path);let r="warning";(J.KernelMessage.isErrorMsg(t)||J.KernelMessage.isStreamMsg(t)&&"stderr"===t.content.name)&&(r="error");const a=Object.assign(Object.assign({},t.content),{output_type:t.header.msg_type});i.rendermime=e.content.rendermime,i.log({type:"output",data:a,level:r})}))};return null!==i&&i.load(ie.id).then((e=>{e.changed.connect(re),re(e)})).catch((e=>{console.error(e.message)})),n.addFactory({safe:!1,mimeTypes:[m],createRenderer:e=>new w(e)},-10),null!==t&&(t.forEach((n=>{te(n.context,n.content.rendermime,ne(Q(n.content),ee(e,n.context.path))),l(n)})),t.widgetAdded.connect(((n,t)=>{te(t.context,t.content.rendermime,ne(Q(t.content),ee(e,t.context.path))),l(t)}))),null!==i&&d.addCommand("@jupyter-widgets/jupyterlab-manager:saveWidgetState",{label:s.__("Save Widget State Automatically"),execute:e=>i.set(ie.id,"saveState",!q.saveState).catch((e=>{console.error(`Failed to set ${ie.id}: ${e.message}`)})),isToggled:()=>q.saveState}),r&&r.settingsMenu.addGroup([{command:"@jupyter-widgets/jupyterlab-manager:saveWidgetState"}]),{registerWidget(e){X.push(e)}}},autoStart:!0};function re(e){q.saveState=e.get("saveState").composite}const oe={id:`@jupyter-widgets/jupyterlab-manager:base-${h.JUPYTER_WIDGETS_VERSION}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/base",version:h.JUPYTER_WIDGETS_VERSION,exports:{WidgetModel:h.WidgetModel,WidgetView:h.WidgetView,DOMWidgetView:h.DOMWidgetView,DOMWidgetModel:h.DOMWidgetModel,LayoutModel:h.LayoutModel,LayoutView:h.LayoutView,StyleModel:h.StyleModel,StyleView:h.StyleView,ErrorWidgetView:h.ErrorWidgetView}})}},ae={id:`@jupyter-widgets/jupyterlab-manager:controls-${I.N}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/controls",version:I.N,exports:()=>new Promise(((e,n)=>{t.e(863).then((n=>{e(t(2534))}).bind(null,t)).catch((e=>{n(e)}))}))})}},de={id:`@jupyter-widgets/jupyterlab-manager:output-${P}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/output",version:P,exports:{OutputModel:U,OutputView:k}})}},se=[ie,oe,ae,de];var le;!function(e){e.widgetManagerProperty=new p.AttachedProperty({name:"widgetManager",create:e=>{}})}(le||(le={}));const ge=se},584:e=>{e.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTggMTg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO30KPC9zdHlsZT4KPHBhdGggZD0iTTUuMiw1LjlMOSw5LjdsMy44LTMuOGwxLjIsMS4ybC00LjksNWwtNC45LTVMNS4yLDUuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTAtMC42aDE4djE4SDBWLTAuNnoiLz4KPC9zdmc+Cg"}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js new file mode 100644 index 0000000..6bd683c --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js @@ -0,0 +1 @@ +(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[150],{6110:(e,t,o)=>{"use strict";o.r(t),o.d(t,{CONTROL_COMM_PROTOCOL_VERSION:()=>g,CONTROL_COMM_TARGET:()=>f,CONTROL_COMM_TIMEOUT:()=>p,ManagerBase:()=>v,base64ToBuffer:()=>d,bufferToBase64:()=>m,bufferToHex:()=>a,hexToBuffer:()=>i,serialize_state:()=>b});var s=o(7193),n=o(1526),r=o(5766);const l=["00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F","10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F","30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F","40","41","42","43","44","45","46","47","48","49","4A","4B","4C","4D","4E","4F","50","51","52","53","54","55","56","57","58","59","5A","5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67","68","69","6A","6B","6C","6D","6E","6F","70","71","72","73","74","75","76","77","78","79","7A","7B","7C","7D","7E","7F","80","81","82","83","84","85","86","87","88","89","8A","8B","8C","8D","8E","8F","90","91","92","93","94","95","96","97","98","99","9A","9B","9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7","D8","D9","DA","DB","DC","DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7","F8","F9","FA","FB","FC","FD","FE","FF"];function a(e){const t=new Uint8Array(e),o=[];for(let e=0;e/g,">");for(navigator&&"Microsoft Internet Explorer"===navigator.appName&&(r=r.replace(/(%[^\n]*)\n/g,"$1
\n"));t>e;)n[t]="",t--;return n[e]="@@"+s.length+"@@",o&&(r=o(r)),s.push(r),n}var u=o(4330),h=o.n(u);const w=s.PROTOCOL_VERSION.split(".",1)[0],f="jupyter.widget.control",g="1.0.0",p=4e3;class v{constructor(){this.comm_target_name="jupyter.widget",this._models=Object.create(null)}setViewOptions(e={}){return e}create_view(e,t={}){const o=(0,s.uuid)(),n=e.state_change=e.state_change.then((async()=>{const n=e.get("_view_name"),r=e.get("_view_module");try{const s=new(await this.loadViewClass(n,r,e.get("_view_module_version")))({model:e,options:this.setViewOptions(t)});return s.listenTo(e,"destroy",s.remove),await s.render(),s.once("remove",(()=>{e.views&&delete e.views[o]})),s}catch(o){console.error(`Could not create a view for model id ${e.model_id}`);const l=`Failed to create view for '${n}' from module '${r}' with model '${e.name}' from module '${e.module}'`,a=new(s.createErrorWidgetModel(o,l)),i=new s.ErrorWidgetView({model:a,options:this.setViewOptions(t)});return await i.render(),i}}));return e.views&&(e.views[o]=n),n}callbacks(e){return{}}async get_model(e){const t=this._models[e];if(void 0===t)throw new Error("widget model not found");return t}has_model(e){return void 0!==this._models[e]}handle_comm_open(e,t){const o=(t.metadata||{}).version||"";if(o.split(".",1)[0]!==w){const e=`Wrong widget protocol version: received protocol version '${o}', but was expecting major version '${w}'`;return console.error(e),Promise.reject(e)}const n=t.content.data,r=n.buffer_paths||[],l=t.buffers||[];return(0,s.put_buffers)(n.state,r,l),this.new_model({model_name:n.state._model_name,model_module:n.state._model_module,model_module_version:n.state._model_module_version,comm:e},n.state).catch((0,s.reject)("Could not create a model.",!0))}new_widget(e,t={}){let o;if(void 0===e.view_name||void 0===e.view_module||void 0===e.view_module_version)return Promise.reject("new_widget(...) must be given view information in the options.");o=e.comm?Promise.resolve(e.comm):this._create_comm(this.comm_target_name,e.model_id,{state:{_model_module:e.model_module,_model_module_version:e.model_module_version,_model_name:e.model_name,_view_module:e.view_module,_view_module_version:e.view_module_version,_view_name:e.view_name}},{version:s.PROTOCOL_VERSION});const n=Object.assign({},e);return o.then((e=>(n.comm=e,this.new_model(n,t).then((e=>(e.sync("create",e),e))))),(()=>(n.model_id||(n.model_id=(0,s.uuid)()),this.new_model(n,t))))}register_model(e,t){this._models[e]=t,t.then((t=>{t.once("comm:close",(()=>{delete this._models[e]}))}))}async new_model(e,t={}){var o,s;const n=null!==(o=e.model_id)&&void 0!==o?o:null===(s=e.comm)||void 0===s?void 0:s.comm_id;if(!n)throw new Error("Neither comm nor model_id provided in options object. At least one must exist.");e.model_id=n;const r=this._make_model(e,t);return this.register_model(n,r),await r}async _loadFromKernel(){let e,t;try{const o=await this._create_comm(f,(0,s.uuid)(),{},{version:g});await new Promise(((s,n)=>{o.on_msg((o=>{e=o.content.data,"update_states"===e.method?(t=(o.buffers||[]).map((e=>e instanceof DataView?e:new DataView(e instanceof ArrayBuffer?e:e.buffer))),s(null)):console.warn(`\n Unknown ${e.method} message on the Control channel\n `)})),o.on_close((()=>n("Control comm was closed too early"))),o.send({method:"request_states"},{}),setTimeout((()=>n("Control comm did not respond in time")),p)})),o.close()}catch(e){return console.warn('Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason:',e),this._loadFromKernelModels()}const o=e.states,n={},r={};for(let o=0;o({widget_id:e,comm:this.has_model(e)?void 0:await this._create_comm("jupyter.widget",e)}))));await Promise.all(l.map((async({widget_id:e,comm:t})=>{const l=o[e];e in n&&(0,s.put_buffers)(l,n[e],r[e]);try{if(t)await this.new_model({model_name:l.model_name,model_module:l.model_module,model_module_version:l.model_module_version,model_id:e,comm:t},l.state);else{const t=await this.get_model(e),o=await t.constructor._deserialize_state(l.state,this);t.set_state(o)}}catch(e){console.error(e)}})))}async _loadFromKernelModels(){const e=await this._get_comm_info(),t=await Promise.all(Object.keys(e).map((async e=>{if(this.has_model(e))return;const t=await this._create_comm(this.comm_target_name,e);let o="";const r=new n.PromiseDelegate;return t.on_msg((e=>{if(e.parent_header.msg_id===o&&"comm_msg"===e.header.msg_type&&"update"===e.content.data.method){const o=e.content.data,n=o.buffer_paths||[],l=e.buffers||[];(0,s.put_buffers)(o.state,n,l),r.resolve({comm:t,msg:e})}})),o=t.send({method:"request_state"},this.callbacks(void 0)),r.promise})));await Promise.all(t.map((async e=>{if(!e)return;const t=e.msg.content;await this.new_model({model_name:t.data.state._model_name,model_module:t.data.state._model_module,model_module_version:t.data.state._model_module_version,comm:e.comm},t.data.state)})))}async _make_model(e,t={}){const o=e.model_id,n=this.loadModelClass(e.model_name,e.model_module,e.model_module_version);let r;const l=(e,t)=>new(s.createErrorWidgetModel(e,t));try{r=await n}catch(e){const t="Could not instantiate widget";return console.error(t),l(e,t)}if(!r){const t="Could not instantiate widget";return console.error(t),l(new Error(`Cannot find model module ${e.model_module}@${e.model_module_version}, ${e.model_name}`),t)}let a;try{const s=await r._deserialize_state(t,this);a=new r(s,{widget_manager:this,model_id:o,comm:e.comm})}catch(t){console.error(t),a=l(t,`Model class '${e.model_name}' from module '${e.model_module}' is loaded but can not be instantiated`)}return a.name=e.model_name,a.module=e.model_module,a}clear_state(){return(0,s.resolvePromisesDict)(this._models).then((e=>{Object.keys(e).forEach((t=>e[t].close())),this._models=Object.create(null)}))}get_state(e={}){const t=Object.keys(this._models).map((e=>this._models[e]));return Promise.all(t).then((t=>b(t,e)))}set_state(e){if(!(e.version_major&&e.version_major<=2))throw"Unsupported widget state format";const t=e.state;return this._get_comm_info().then((e=>Promise.all(Object.keys(t).map((o=>{const n={base64:d,hex:i},r=t[o],l=r.state;if(r.buffers){const e=r.buffers.map((e=>e.path)),t=r.buffers.map((e=>new DataView(n[e.encoding](e.data))));(0,s.put_buffers)(r.state,e,t)}if(this.has_model(o))return this.get_model(o).then((e=>e.constructor._deserialize_state(l||{},this).then((t=>(e.set_state(t),e)))));const a={model_id:o,model_name:r.model_name,model_module:r.model_module,model_module_version:r.model_module_version};return Object.prototype.hasOwnProperty.call(e,"model_id")?this._create_comm(this.comm_target_name,o).then((e=>(a.comm=e,this.new_model(a)))):this.new_model(a,l)})))))}disconnect(){Object.keys(this._models).forEach((e=>{this._models[e].then((e=>{e.comm_live=!1}))}))}resolveUrl(e){return Promise.resolve(e)}inline_sanitize(e){const t=function(e){const t=[];let o,s=null,n=null,r=null,l=0;/`/.test(e)?(e=e.replace(/~/g,"~T").replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,(e=>e.replace(/\$/g,"~D"))),o=e=>e.replace(/~([TD])/g,((e,t)=>"T"===t?"~":"$"))):o=e=>e;let a=e.replace(/\r\n?/g,"\n").split(c);for(let e=1,i=a.length;e{let o=n[t];return"\\\\("===o.substr(0,3)&&"\\\\)"===o.substr(o.length-3)?o="\\("+o.substring(3,o.length-3)+"\\)":"\\\\["===o.substr(0,3)&&"\\\\]"===o.substr(o.length-3)&&(o="\\["+o.substring(3,o.length-3)+"\\]"),o}))}async loadModelClass(e,t,o){try{const s=this.loadClass(e,t,o);return await s,s}catch(o){console.error(o);const n=`Failed to load model class '${e}' from module '${t}'`;return s.createErrorWidgetModel(o,n)}}async loadViewClass(e,t,o){try{const s=this.loadClass(e,t,o);return await s,s}catch(o){console.error(o);const n=`Failed to load view class '${e}' from module '${t}'`;return s.createErrorWidgetView(o,n)}}filterExistingModelState(e){let t=e.state;return t=Object.keys(t).filter((e=>!this.has_model(e))).reduce(((e,o)=>(e[o]=t[o],e)),{}),Object.assign(Object.assign({},e),{state:t})}}function b(e,t={}){const o={};return e.forEach((e=>{const n=e.model_id,r=(0,s.remove_buffers)(e.serialize(e.get_state(t.drop_defaults))),l=r.buffers.map(((e,t)=>({data:m(e),path:r.buffer_paths[t],encoding:"base64"})));o[n]={model_name:e.name,model_module:e.module,model_module_version:e.get("_model_module_version"),state:r.state},l.length>0&&(o[n].buffers=l)})),{version_major:2,version_minor:0,state:o}}},6527:()=>{},6969:()=>{},2232:()=>{},4195:()=>{},3443:()=>{}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js new file mode 100644 index 0000000..1091231 --- /dev/null +++ b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js @@ -0,0 +1,2 @@ +/*! For license information please see 291.0b98a9cbc7337e1749ed.js.LICENSE.txt */ +(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[291],{8291:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(r,i){"use strict";var o=[],a=Object.getPrototypeOf,s=o.slice,u=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},l=o.push,c=o.indexOf,f={},p=f.toString,d=f.hasOwnProperty,h=d.toString,g=h.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},m=function(e){return null!=e&&e===e.window},x=r.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,i,o=(n=n||x).createElement("script");if(o.text=e,t)for(r in b)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[p.call(e)]||"object":typeof e}var C="3.6.3",S=function(e,t){return new S.fn.init(e,t)};function E(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!y(e)&&!m(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}S.fn=S.prototype={jquery:C,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(e){return this.pushStack(S.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(S.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{if(n.cssSupportsSelector&&!CSS.supports("selector(:is("+y+"))"))throw new Error;return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.cssSupportsSelector=ce((function(){return CSS.supports("selector(*)")&&d.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)})),n.cssSupportsSelector||v.push(":has"),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(j),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&S(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Se(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),S=T+=null==w?1:Math.random()||.1,E=C.length;for(c&&(l=a==d||a||c);m!==E&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=S)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=S,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(j).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ce((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(r);S.find=k,S.expr=k.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=k.uniqueSort,S.text=k.getText,S.isXMLDoc=k.isXML,S.contains=k.contains,S.escapeSelector=k.escape;var A=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},j=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=S.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var q=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return y(t)?S.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?S.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?S.grep(e,(function(e){return c.call(t,e)>-1!==n})):S.filter(t,e,n)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,(function(e){return 1===e.nodeType})))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter((function(){for(t=0;t1?S.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&N.test(e)?S(e):e||[],!1).length}});var H,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||H,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:O.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),q.test(r[1])&&S.isPlainObject(t))for(r in t)y(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=x.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,H=S(x);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?c.call(S(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return A(e,"parentNode")},parentsUntil:function(e,t,n){return A(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return A(e,"nextSibling")},prevAll:function(e){return A(e,"previousSibling")},nextUntil:function(e,t,n){return A(e,"nextSibling",n)},prevUntil:function(e,t,n){return A(e,"previousSibling",n)},siblings:function(e){return j((e.parentNode||{}).firstChild,e)},children:function(e){return j(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(D(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},(function(e,t){S.fn[e]=function(n,r){var i=S.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=S.filter(r,i)),this.length>1&&(R[e]||S.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}}));var I=/[^\x20\t\r\n\f]+/g;function W(e){return e}function F(e){throw e}function $(e,t,n,r){var i;try{e&&y(i=e.promise)?i.call(e).done(t).fail(n):e&&y(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return S.each(e.match(I)||[],(function(e,n){t[n]=!0})),t}(e):S.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?S.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},S.extend({Deferred:function(e){var t=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return S.Deferred((function(n){S.each(t,(function(t,r){var i=y(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,i){var o=0;function a(e,t,n,i){return function(){var s=this,u=arguments,l=function(){var r,l;if(!(e=o&&(n!==F&&(s=void 0,u=[r]),t.rejectWith(s,u))}};e?c():(S.Deferred.getStackHook&&(c.stackTrace=S.Deferred.getStackHook()),r.setTimeout(c))}}return S.Deferred((function(r){t[0][3].add(a(0,r,y(i)?i:W,r.notifyWith)),t[1][3].add(a(0,r,y(e)?e:W)),t[2][3].add(a(0,r,y(n)?n:F))})).promise()},promise:function(e){return null!=e?S.extend(e,i):i}},o={};return S.each(t,(function(e,r){var a=r[2],s=r[5];i[r[1]]=a.add,s&&a.add((function(){n=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(r[3].fire),o[r[0]]=function(){return o[r[0]+"With"](this===o?void 0:this,arguments),this},o[r[0]+"With"]=a.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=S.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&($(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)$(i[n],a(n),o.reject);return o.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){r.console&&r.console.warn&&e&&B.test(e.name)&&r.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){r.setTimeout((function(){throw e}))};var _=S.Deferred();function z(){x.removeEventListener("DOMContentLoaded",z),r.removeEventListener("load",z),S.ready()}S.fn.ready=function(e){return _.then(e).catch((function(e){S.readyException(e)})),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0,!0!==e&&--S.readyWait>0||_.resolveWith(x,[S]))}}),S.ready.then=_.then,"complete"===x.readyState||"loading"!==x.readyState&&!x.documentElement.doScroll?r.setTimeout(S.ready):(x.addEventListener("DOMContentLoaded",z),r.addEventListener("load",z));var U=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)U(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,y(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Z.remove(this,e)}))}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){S.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:S.Callbacks("once memory").add((function(){K.remove(e,[t+"queue",n])}))})}}),S.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,me=/^$|^module$|\/(?:java|ecma)script/i;he=x.createDocumentFragment().appendChild(x.createElement("div")),(ge=x.createElement("input")).setAttribute("type","radio"),ge.setAttribute("checked","checked"),ge.setAttribute("name","t"),he.appendChild(ge),v.checkClone=he.cloneNode(!0).cloneNode(!0).lastChild.checked,he.innerHTML="",v.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue,he.innerHTML="",v.option=!!he.lastChild;var xe={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function be(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?S.merge([e],n):n}function we(e,t){for(var n=0,r=e.length;n",""]);var Te=/<|&#?\w+;/;function Ce(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=se(o),a=be(f.appendChild(o),"script"),l&&we(a),n)for(c=0;o=a[c++];)me.test(o.type||"")&&n.push(o);return f}var Se=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Ae(e,t){return e===function(){try{return x.activeElement}catch(e){}}()==("focus"===t)}function je(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)je(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,i=function(e){return S().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=S.guid++)),e.each((function(){S.event.add(this,t,i,r,n)}))}function Ne(e,t,n){n?(K.set(e,t,!1),S.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=K.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(S.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),K.set(this,t,o),r=n(this,t),this[t](),o!==(i=K.get(this,t))||r?K.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else o.length&&(K.set(this,t,{value:S.event.trigger(S.extend(o[0],S.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===K.get(e,t)&&S.event.add(e,t,Ee)}S.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=K.get(e);if(Q(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(ae,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==S&&S.event.triggered!==t.type?S.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;l--;)d=g=(s=Se.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=K.hasData(e)&&K.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(I)||[""]).length;l--;)if(d=g=(s=Se.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&K.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(K.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\s*$/g;function He(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Re(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(K.hasData(e)&&(s=K.get(e).events))for(i in K.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof h&&!v.checkClone&&qe.test(h))return e.each((function(i){var o=e.eq(i);g&&(t[0]=h.call(this,i,o.html())),Ie(o,t,n,r)}));if(p&&(o=(i=Ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=S.map(be(i,"script"),Oe)).length;f0&&we(a,!u&&be(e,"script")),s},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),S.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return U(this,(function(e){return void 0===e?S.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Ie(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||He(this,e).appendChild(e)}))},prepend:function(){return Ie(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=He(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Ie(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Ie(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(be(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return S.clone(this,e,t)}))},html:function(e){return U(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!xe[(ye.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function it(e,t,n){var r=Be(e),i=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Ve(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Fe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&D(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+rt(e,t,n||(i?"border":"content"),o,r,a)+"px"}function ot(e,t,n,r,i){return new ot.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ve(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=Y(t),u=$e.test(t),l=e.style;if(u||(t=Ke(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ce(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=Y(t);return $e.test(t)||(t=Ke(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ve(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],(function(e,t){S.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):_e(e,et,(function(){return it(e,t,r)}))},set:function(e,n,r){var i,o=Be(e),a=!v.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===S.css(e,"boxSizing",!1,o),u=r?rt(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-rt(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=S.css(e,t)),nt(0,n,u)}}})),S.cssHooks.marginLeft=Ge(v.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ve(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),S.each({margin:"",padding:"",border:"Width"},(function(e,t){S.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(S.cssHooks[e+t].set=nt)})),S.fn.extend({css:function(e,t){return U(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Be(e),i=t.length;a1)}}),S.Tween=ot,ot.prototype={constructor:ot,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=ot.propHooks[this.prop];return e&&e.get?e.get(this):ot.propHooks._default.get(this)},run:function(e){var t,n=ot.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ot.propHooks._default.set(this),this}},ot.prototype.init.prototype=ot.prototype,ot.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Ke(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}},ot.propHooks.scrollTop=ot.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=ot.prototype.init,S.fx.step={};var at,st,ut=/^(?:toggle|show|hide)$/,lt=/queueHooks$/;function ct(){st&&(!1===x.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(ct):r.setTimeout(ct,S.fx.interval),S.fx.tick())}function ft(){return r.setTimeout((function(){at=void 0})),at=Date.now()}function pt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function dt(e,t,n){for(var r,i=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){S.removeAttr(this,e)}))}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?gt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),gt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=vt[t]||S.find.attr;vt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=vt[a],vt[a]=i,i=null!=n(e,t,r)?a:null,vt[a]=o),i}}));var yt=/^(?:input|select|textarea|button)$/i,mt=/^(?:a|area)$/i;function xt(e){return(e.match(I)||[]).join(" ")}function bt(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}S.fn.extend({prop:function(e,t){return U(this,S.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[S.propFix[e]||e]}))}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||mt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){S.propFix[this.toLowerCase()]=this})),S.fn.extend({addClass:function(e){var t,n,r,i,o,a;return y(e)?this.each((function(t){S(this).addClass(e.call(this,t,bt(this)))})):(t=wt(e)).length?this.each((function(){if(r=bt(this),n=1===this.nodeType&&" "+xt(r)+" "){for(o=0;o-1;)n=n.replace(" "+i+" "," ");a=xt(n),r!==a&&this.setAttribute("class",a)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,r,i,o,a=typeof e,s="string"===a||Array.isArray(e);return y(e)?this.each((function(n){S(this).toggleClass(e.call(this,n,bt(this),t),t)})):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=wt(e),this.each((function(){if(s)for(o=S(this),i=0;i-1)return!0;return!1}});var Tt=/\r/g;S.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=y(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,S(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=S.map(i,(function(e){return null==e?"":e+""}))),(t=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=S.valHooks[i.type]||S.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(Tt,""):null==n?"":n:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:xt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],(function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=S.inArray(S(e).val(),t)>-1}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),v.focusin="onfocusin"in r;var Ct=/^(?:focusinfocus|focusoutblur)$/,St=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,i){var o,a,s,u,l,c,f,p,h=[n||x],g=d.call(e,"type")?e.type:e,v=d.call(e,"namespace")?e.namespace.split("."):[];if(a=p=s=n=n||x,3!==n.nodeType&&8!==n.nodeType&&!Ct.test(g+S.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),l=g.indexOf(":")<0&&"on"+g,(e=e[S.expando]?e:new S.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),f=S.event.special[g]||{},i||!f.trigger||!1!==f.trigger.apply(n,t))){if(!i&&!f.noBubble&&!m(n)){for(u=f.delegateType||g,Ct.test(u+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(n.ownerDocument||x)&&h.push(s.defaultView||s.parentWindow||r)}for(o=0;(a=h[o++])&&!e.isPropagationStopped();)p=a,e.type=o>1?u:f.bindType||g,(c=(K.get(a,"events")||Object.create(null))[e.type]&&K.get(a,"handle"))&&c.apply(a,t),(c=l&&a[l])&&c.apply&&Q(a)&&(e.result=c.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),t)||!Q(n)||l&&y(n[g])&&!m(n)&&((s=n[l])&&(n[l]=null),S.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,St),n[g](),e.isPropagationStopped()&&p.removeEventListener(g,St),S.event.triggered=void 0,s&&(n[l]=s)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each((function(){S.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),v.focusin||S.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){S.event.simulate(t,e.target,S.event.fix(e))};S.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}}));var Et=r.location,kt={guid:Date.now()},At=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new r.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var jt=/\[\]$/,Nt=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,qt=/^(?:input|select|textarea|keygen)/i;function Lt(e,t,n,r){var i;if(Array.isArray(t))S.each(t,(function(t,i){n||jt.test(e)?r(e,i):Lt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==T(t))r(e,t);else for(i in t)Lt(e+"["+i+"]",t[i],n,r)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=y(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,(function(){i(this.name,this.value)}));else for(n in e)Lt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&qt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!ve.test(e))})).map((function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,(function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}})):{name:t.name,value:n.replace(Nt,"\r\n")}})).get()}});var Ht=/%20/g,Ot=/#.*$/,Pt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,It=/^\/\//,Wt={},Ft={},$t="*/".concat("*"),Bt=x.createElement("a");function _t(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(I)||[];if(y(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function zt(e,t,n,r){var i={},o=e===Ft;function a(s){var u;return i[s]=!0,S.each(e[s]||[],(function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Ut(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Bt.href=Et.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ut(Ut(e,S.ajaxSettings),t):Ut(S.ajaxSettings,e)},ajaxPrefilter:_t(Wt),ajaxTransport:_t(Ft),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,o,a,s,u,l,c,f,p,d=S.ajaxSetup({},t),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?S(h):S.event,v=S.Deferred(),y=S.Callbacks("once memory"),m=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Rt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)m[t]=[m[t],e[t]];return this},abort:function(e){var t=e||T;return n&&n.abort(t),E(0,t),this}};if(v.promise(C),d.url=((e||d.url||Et.href)+"").replace(It,Et.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(I)||[""],null==d.crossDomain){u=x.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Bt.protocol+"//"+Bt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=S.param(d.data,d.traditional)),zt(Wt,d,t,C),l)return C;for(f in(c=S.event&&d.global)&&0==S.active++&&S.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Mt.test(d.type),i=d.url.replace(Ot,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Ht,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(At.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Pt,"$1"),p=(At.test(i)?"&":"?")+"_="+kt.guid+++p),d.url=i+p),d.ifModified&&(S.lastModified[i]&&C.setRequestHeader("If-Modified-Since",S.lastModified[i]),S.etag[i]&&C.setRequestHeader("If-None-Match",S.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+$t+"; q=0.01":""):d.accepts["*"]),d.headers)C.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,C,d)||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),n=zt(Ft,d,t,C)){if(C.readyState=1,c&&g.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(s=r.setTimeout((function(){C.abort("timeout")}),d.timeout));try{l=!1,n.send(b,E)}catch(e){if(l)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,a,u){var f,p,x,b,w,T=t;l||(l=!0,s&&r.clearTimeout(s),n=void 0,o=u||"",C.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,C,a)),!f&&S.inArray("script",d.dataTypes)>-1&&S.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,b,C,f),f?(d.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(S.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(S.etag[i]=w)),204===e||"HEAD"===d.type?T="nocontent":304===e?T="notmodified":(T=b.state,p=b.data,f=!(x=b.error))):(x=T,!e&&T||(T="error",e<0&&(e=0))),C.status=e,C.statusText=(t||T)+"",f?v.resolveWith(h,[p,T,C]):v.rejectWith(h,[C,T,x]),C.statusCode(m),m=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[C,d,f?p:x]),y.fireWith(h,[C,T]),c&&(g.trigger("ajaxComplete",[C,d]),--S.active||S.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],(function(e,t){S[t]=function(e,n,r,i){return y(n)&&(i=i||r,r=n,n=void 0),S.ajax(S.extend({url:e,type:t,dataType:i,data:n,success:r},S.isPlainObject(e)&&e))}})),S.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return y(e)?this.each((function(t){S(this).wrapInner(e.call(this,t))})):this.each((function(){var t=S(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=y(e);return this.each((function(n){S(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){S(this).replaceWith(this.childNodes)})),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(e){}};var Xt={0:200,1223:204},Vt=S.ajaxSettings.xhr();v.cors=!!Vt&&"withCredentials"in Vt,v.ajax=Vt=!!Vt,S.ajaxTransport((function(e){var t,n;if(v.cors||Vt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=n=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Xt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),n=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=n:s.onreadystatechange=function(){4===s.readyState&&r.setTimeout((function(){t&&n()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),S.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),S.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=S(" + + + + + diff --git a/static/jupyter-lite.ipynb b/static/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/jupyter-lite.json b/static/jupyter-lite.json new file mode 100644 index 0000000..058bf9b --- /dev/null +++ b/static/jupyter-lite.json @@ -0,0 +1,17 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "appName": "JupyterLite", + "appVersion": "0.1.0", + "baseUrl": "./", + "appUrl": "./lab", + "defaultKernelName": "python", + "faviconUrl": "./lab/favicon.ico", + "federated_extensions": [], + "fullLabextensionsUrl": "./extensions", + "fullMathjaxUrl": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js", + "fullStaticUrl": "./build", + "licensesUrl": "./lab/api/licenses", + "mathjaxConfig": "TeX-AMS_CHTML-full,Safe" + } +} diff --git a/static/jupyterlite.schema.v0.json b/static/jupyterlite.schema.v0.json new file mode 100644 index 0000000..288793c --- /dev/null +++ b/static/jupyterlite.schema.v0.json @@ -0,0 +1,331 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://jupyterlite.readthedocs.org/en/latest/reference/schema-v0.html#", + "title": "JupyterLite Schema v0", + "description": "a schema for user-serviceable customizaton of a JupyterLite", + "$ref": "#/definitions/top", + "definitions": { + "top": { + "title": "JupyterLite Configuration", + "description": "a user-serviceable file for customizing a JupyterLite site", + "properties": { + "jupyter-lite-schema-version": { + "type": "integer", + "description": "version of the schema to which the instance conforms", + "enum": [0] + }, + "jupyter-config-data": { + "$ref": "#/definitions/jupyter-config-data" + } + } + }, + "jupyterlab-settings-overrides": { + "title": "JupyterLab Settings Overrides", + "description": "A map of config objects keyed by `@org/pkg:plugin` which override the default settings. See https://jupyterlab.readthedocs.io/en/stable/user/directories.html#overridesjson", + "type": "object", + "patternProperties": { + "^(@[a-z0-9-~][a-z0-9-._~]*/)?[a-z0-9-~][a-z0-9-._~]*:(.*)$": { + "description": "A valid configuration which must conform to the plugin's defined schema", + "type": "object" + } + } + }, + "jupyter-config-data": { + "title": "Jupyter Config Data", + "description": "contents of a jupyter-config-data ` + + + diff --git a/static/lab/jupyter-lite.ipynb b/static/lab/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/lab/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/lab/jupyter-lite.json b/static/lab/jupyter-lite.json new file mode 100644 index 0000000..222730a --- /dev/null +++ b/static/lab/jupyter-lite.json @@ -0,0 +1,7 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "settingsUrl": "../build/schemas", + "themesUrl": "./build/themes" + } +} diff --git a/static/lab/package.json b/static/lab/package.json new file mode 100644 index 0000000..c676306 --- /dev/null +++ b/static/lab/package.json @@ -0,0 +1,265 @@ +{ + "name": "@jupyterlite/app-lab", + "version": "0.1.0", + "private": true, + "resolutions": { + "@jupyterlab/application": "~3.5.3", + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/cell-toolbar": "~3.5.3", + "@jupyterlab/cell-toolbar-extension": "~3.5.3", + "@jupyterlab/celltags-extension": "~3.5.3", + "@jupyterlab/codeeditor": "~3.5.3", + "@jupyterlab/codemirror": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/coreutils": "~5.5.3", + "@jupyterlab/csvviewer-extension": "~3.5.3", + "@jupyterlab/docmanager": "~3.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/docprovider": "~3.5.3", + "@jupyterlab/documentsearch": "~3.5.3", + "@jupyterlab/documentsearch-extension": "~3.5.3", + "@jupyterlab/filebrowser": "~3.5.3", + "@jupyterlab/filebrowser-extension": "~3.5.3", + "@jupyterlab/fileeditor": "~3.5.3", + "@jupyterlab/fileeditor-extension": "~3.5.3", + "@jupyterlab/help-extension": "~3.5.3", + "@jupyterlab/htmlviewer-extension": "~3.5.3", + "@jupyterlab/imageviewer": "~3.5.3", + "@jupyterlab/imageviewer-extension": "~3.5.3", + "@jupyterlab/inspector": "~3.5.3", + "@jupyterlab/inspector-extension": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/launcher": "~3.5.3", + "@jupyterlab/launcher-extension": "~3.5.3", + "@jupyterlab/logconsole": "~3.5.3", + "@jupyterlab/logconsole-extension": "~3.5.3", + "@jupyterlab/mainmenu": "~3.5.3", + "@jupyterlab/mainmenu-extension": "~3.5.3", + "@jupyterlab/markdownviewer": "~3.5.3", + "@jupyterlab/markdownviewer-extension": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/notebook": "~3.5.3", + "@jupyterlab/notebook-extension": "~3.5.3", + "@jupyterlab/outputarea": "~3.5.3", + "@jupyterlab/pdf-extension": "~3.5.3", + "@jupyterlab/rendermime": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/rendermime-interfaces": "~3.5.3", + "@jupyterlab/running-extension": "~3.5.3", + "@jupyterlab/services": "~6.5.3", + "@jupyterlab/settingeditor": "~3.5.3", + "@jupyterlab/settingeditor-extension": "~3.5.3", + "@jupyterlab/settingregistry": "~3.5.3", + "@jupyterlab/shared-models": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/statedb": "~3.5.3", + "@jupyterlab/statusbar": "~3.5.3", + "@jupyterlab/statusbar-extension": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/toc-extension": "~5.5.3", + "@jupyterlab/tooltip": "~3.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlab/ui-components": "~3.5.3", + "@jupyterlab/ui-components-extension": "~3.5.3", + "@jupyterlab/vega5-extension": "~3.5.3", + "@jupyterlite/application-extension": "~0.1.0", + "@jupyterlite/contents": "~0.1.0", + "@jupyterlite/iframe-extension": "~0.1.0", + "@jupyterlite/kernel": "~0.1.0", + "@jupyterlite/licenses": "~0.1.0", + "@jupyterlite/localforage": "~0.1.0", + "@jupyterlite/server": "~0.1.0", + "@jupyterlite/server-extension": "~0.1.0", + "@jupyterlite/types": "~0.1.0", + "@jupyterlite/ui-components": "~0.1.0", + "@lumino/algorithm": "~1.9.2", + "@lumino/application": "~1.31.3", + "@lumino/commands": "~1.21.1", + "@lumino/coreutils": "~1.12.1", + "@lumino/disposable": "~1.10.4", + "@lumino/domutils": "~1.8.2", + "@lumino/dragdrop": "~1.14.4", + "@lumino/messaging": "~1.10.3", + "@lumino/properties": "~1.8.2", + "@lumino/signaling": "~1.11.1", + "@lumino/virtualdom": "~1.14.3", + "@lumino/widgets": "~1.37.1", + "es6-promise": "^4.2.8", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "yjs": "^13.5.43" + }, + "dependencies": { + "@jupyterlab/application": "~3.5.3", + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/cell-toolbar-extension": "~3.5.3", + "@jupyterlab/celltags-extension": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/csvviewer-extension": "~3.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/documentsearch-extension": "~3.5.3", + "@jupyterlab/filebrowser-extension": "~3.5.3", + "@jupyterlab/fileeditor-extension": "~3.5.3", + "@jupyterlab/help-extension": "~3.5.3", + "@jupyterlab/htmlviewer-extension": "~3.5.3", + "@jupyterlab/imageviewer-extension": "~3.5.3", + "@jupyterlab/inspector-extension": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/launcher-extension": "~3.5.3", + "@jupyterlab/logconsole-extension": "~3.5.3", + "@jupyterlab/mainmenu-extension": "~3.5.3", + "@jupyterlab/markdownviewer-extension": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/notebook-extension": "~3.5.3", + "@jupyterlab/pdf-extension": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/running-extension": "~3.5.3", + "@jupyterlab/settingeditor-extension": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/statusbar-extension": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/toc-extension": "~5.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlab/ui-components-extension": "~3.5.3", + "@jupyterlab/vega5-extension": "~3.5.3", + "@jupyterlite/application-extension": "^0.1.0", + "@jupyterlite/iframe-extension": "^0.1.0", + "@jupyterlite/licenses": "^0.1.0", + "@jupyterlite/localforage": "^0.1.0", + "@jupyterlite/server": "^0.1.0", + "@jupyterlite/server-extension": "^0.1.0", + "@jupyterlite/types": "^0.1.0", + "@jupyterlite/ui-components": "^0.1.0", + "es6-promise": "~4.2.8", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "yjs": "^13.5.6" + }, + "jupyterlab": { + "extensions": [ + "@jupyterlab/application-extension", + "@jupyterlab/apputils-extension", + "@jupyterlab/celltags-extension", + "@jupyterlab/cell-toolbar-extension", + "@jupyterlab/codemirror-extension", + "@jupyterlab/completer-extension", + "@jupyterlab/console-extension", + "@jupyterlab/csvviewer-extension", + "@jupyterlab/docmanager-extension", + "@jupyterlab/documentsearch-extension", + "@jupyterlab/filebrowser-extension", + "@jupyterlab/fileeditor-extension", + "@jupyterlab/help-extension", + "@jupyterlab/htmlviewer-extension", + "@jupyterlab/imageviewer-extension", + "@jupyterlab/inspector-extension", + "@jupyterlab/json-extension", + "@jupyterlab/javascript-extension", + "@jupyterlab/launcher-extension", + "@jupyterlab/logconsole-extension", + "@jupyterlab/mainmenu-extension", + "@jupyterlab/markdownviewer-extension", + "@jupyterlab/mathjax2-extension", + "@jupyterlab/notebook-extension", + "@jupyterlab/pdf-extension", + "@jupyterlab/rendermime-extension", + "@jupyterlab/running-extension", + "@jupyterlab/settingeditor-extension", + "@jupyterlab/shortcuts-extension", + "@jupyterlab/statusbar-extension", + "@jupyterlab/theme-dark-extension", + "@jupyterlab/theme-light-extension", + "@jupyterlab/toc-extension", + "@jupyterlab/tooltip-extension", + "@jupyterlab/translation-extension", + "@jupyterlab/ui-components-extension", + "@jupyterlab/vega5-extension", + "@jupyterlite/application-extension", + "@jupyterlite/iframe-extension", + "@jupyterlite/server-extension" + ], + "singletonPackages": [ + "@jupyterlab/application", + "@jupyterlab/apputils", + "@jupyterlab/cell-toolbar", + "@jupyterlab/codeeditor", + "@jupyterlab/codemirror", + "@jupyterlab/completer", + "@jupyterlab/console", + "@jupyterlab/coreutils", + "@jupyterlab/docmanager", + "@jupyterlab/docprovider", + "@jupyterlab/documentsearch", + "@jupyterlab/filebrowser", + "@jupyterlab/fileeditor", + "@jupyterlab/imageviewer", + "@jupyterlab/inspector", + "@jupyterlab/launcher", + "@jupyterlab/logconsole", + "@jupyterlab/mainmenu", + "@jupyterlab/markdownviewer", + "@jupyterlab/notebook", + "@jupyterlab/outputarea", + "@jupyterlab/rendermime", + "@jupyterlab/rendermime-interfaces", + "@jupyterlab/services", + "@jupyterlab/settingeditor", + "@jupyterlab/settingregistry", + "@jupyterlab/shared-models", + "@jupyterlab/statedb", + "@jupyterlab/statusbar", + "@jupyterlab/tooltip", + "@jupyterlab/translation", + "@jupyterlab/ui-components", + "@jupyterlite/contents", + "@jupyterlite/kernel", + "@jupyterlite/licenses", + "@jupyterlite/localforage", + "@jupyterlite/types", + "@lumino/algorithm", + "@lumino/application", + "@lumino/commands", + "@lumino/coreutils", + "@lumino/disposable", + "@lumino/domutils", + "@lumino/dragdrop", + "@lumino/messaging", + "@lumino/properties", + "@lumino/signaling", + "@lumino/virtualdom", + "@lumino/widgets", + "react", + "react-dom", + "yjs" + ], + "mimeExtensions": { + "@jupyterlab/javascript-extension": "", + "@jupyterlab/json-extension": "", + "@jupyterlab/vega5-extension": "" + }, + "linkedPackages": {} + }, + "jupyterlite": { + "pages": [ + "index" + ] + } +} diff --git a/static/lab/tree/index.html b/static/lab/tree/index.html new file mode 100644 index 0000000..961e460 --- /dev/null +++ b/static/lab/tree/index.html @@ -0,0 +1,14 @@ + + + + + + diff --git a/static/lab/workspaces/index.html b/static/lab/workspaces/index.html new file mode 100644 index 0000000..1358c21 --- /dev/null +++ b/static/lab/workspaces/index.html @@ -0,0 +1,14 @@ + + + + + + diff --git a/static/manifest.webmanifest b/static/manifest.webmanifest new file mode 100644 index 0000000..3077e6f --- /dev/null +++ b/static/manifest.webmanifest @@ -0,0 +1,32 @@ +{ + "short_name": "JupyterLite", + "name": "JupyterLite", + "description": "WASM powered JupyterLite app", + "icons": [ + { + "src": "./icon-120x120.png", + "type": "image/png", + "sizes": "120x120" + }, { + "src": "./icon-512x512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": "./", + "background_color": "#fff", + "display": "standalone", + "scope": "./", + "shortcuts" : [ + { + "name": "JupyterLite", + "url": "/lab", + "description": "The main JupyterLite application" + }, + { + "name": "Replite", + "url": "/repl?toolbar=1", + "description": "A single-cell interface for JupyterLite" + } + ] +} diff --git a/static/package.json b/static/package.json new file mode 100644 index 0000000..e56c8df --- /dev/null +++ b/static/package.json @@ -0,0 +1,50 @@ +{ + "name": "@jupyterlite/app", + "version": "0.1.0", + "private": true, + "homepage": "https://github.com/jupyterlite/jupyterlite", + "bugs": { + "url": "https://github.com/jupyterlite/jupyterlite/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/jupyterlite/jupyterlite" + }, + "license": "BSD-3-Clause", + "author": "JupyterLite Contributors", + "scripts": { + "build": "webpack", + "build:prod": "yarn clean && yarn build --mode=production", + "clean": "rimraf build **/build", + "watch": "webpack --config webpack.config.watch.js" + }, + "devDependencies": { + "@jupyterlab/builder": "~3.5.3", + "css-loader": "^6.6.0", + "file-loader": "^6.2.0", + "fs-extra": "^9.0.1", + "glob": "^7.2.0", + "handlebars": "^4.5.3", + "html-webpack-plugin": "^5.5.0", + "ignore-loader": "^0.1.2", + "json-loader": "^0.5.7", + "mini-css-extract-plugin": "^2.5.3", + "raw-loader": "^4.0.2", + "rimraf": "^3.0.2", + "source-map-loader": "^4.0.1", + "style-loader": "^3.3.1", + "svg-url-loader": "^7.1.1", + "url-loader": "^4.1.1", + "webpack": "^5.68.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-cli": "^4.9.2", + "webpack-merge": "^5.8.0" + }, + "jupyterlite": { + "apps": [ + "lab", + "repl", + "retro" + ] + } +} diff --git a/static/repl/index.html b/static/repl/index.html new file mode 100644 index 0000000..00a3d64 --- /dev/null +++ b/static/repl/index.html @@ -0,0 +1,36 @@ + + + + JupyterLite + + + + + + + + + diff --git a/static/repl/jupyter-lite.ipynb b/static/repl/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/repl/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/repl/jupyter-lite.json b/static/repl/jupyter-lite.json new file mode 100644 index 0000000..222730a --- /dev/null +++ b/static/repl/jupyter-lite.json @@ -0,0 +1,7 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "settingsUrl": "../build/schemas", + "themesUrl": "./build/themes" + } +} diff --git a/static/repl/package.json b/static/repl/package.json new file mode 100644 index 0000000..324088c --- /dev/null +++ b/static/repl/package.json @@ -0,0 +1,207 @@ +{ + "name": "@jupyterlite/app-repl", + "version": "0.1.0", + "private": true, + "resolutions": { + "@jupyterlab/application": "~3.5.3", + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/codeeditor": "~3.5.3", + "@jupyterlab/codemirror": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/coreutils": "~5.5.3", + "@jupyterlab/docmanager": "~3.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/docprovider": "~3.5.3", + "@jupyterlab/documentsearch": "~3.5.3", + "@jupyterlab/filebrowser": "~3.5.3", + "@jupyterlab/fileeditor": "~3.5.3", + "@jupyterlab/imageviewer": "~3.5.3", + "@jupyterlab/imageviewer-extension": "~3.5.3", + "@jupyterlab/inspector": "~3.5.3", + "@jupyterlab/inspector-extension": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/launcher": "~3.5.3", + "@jupyterlab/logconsole": "~3.5.3", + "@jupyterlab/mainmenu": "~3.5.3", + "@jupyterlab/markdownviewer": "~3.5.3", + "@jupyterlab/markdownviewer-extension": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/notebook": "~3.5.3", + "@jupyterlab/outputarea": "~3.5.3", + "@jupyterlab/pdf-extension": "~3.5.3", + "@jupyterlab/rendermime": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/rendermime-interfaces": "~3.5.3", + "@jupyterlab/services": "~6.5.3", + "@jupyterlab/settingregistry": "~3.5.3", + "@jupyterlab/shared-models": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/statedb": "~3.5.3", + "@jupyterlab/statusbar": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/tooltip": "~3.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlab/ui-components": "~3.5.3", + "@jupyterlab/vega5-extension": "~3.5.3", + "@jupyterlite/application": "~0.1.0", + "@jupyterlite/application-extension": "~0.1.0", + "@jupyterlite/contents": "~0.1.0", + "@jupyterlite/iframe-extension": "~0.1.0", + "@jupyterlite/kernel": "~0.1.0", + "@jupyterlite/server": "~0.1.0", + "@jupyterlite/server-extension": "~0.1.0", + "@jupyterlite/ui-components": "~0.1.0", + "@lumino/algorithm": "~1.9.2", + "@lumino/application": "~1.31.3", + "@lumino/commands": "~1.21.1", + "@lumino/coreutils": "~1.12.1", + "@lumino/disposable": "~1.10.4", + "@lumino/domutils": "~1.8.2", + "@lumino/dragdrop": "~1.14.4", + "@lumino/messaging": "~1.10.3", + "@lumino/properties": "~1.8.2", + "@lumino/signaling": "~1.11.1", + "@lumino/virtualdom": "~1.14.3", + "@lumino/widgets": "~1.37.1", + "@retrolab/application-extension": "~0.3.21", + "es6-promise": "^4.2.8", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "yjs": "^13.5.43" + }, + "dependencies": { + "@jupyterlab/application": "~3.5.3", + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/imageviewer-extension": "~3.5.3", + "@jupyterlab/inspector-extension": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/markdownviewer-extension": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/pdf-extension": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlab/vega5-extension": "~3.5.3", + "@jupyterlite/application": "^0.1.0", + "@jupyterlite/application-extension": "^0.1.0", + "@jupyterlite/iframe-extension": "^0.1.0", + "@jupyterlite/server": "^0.1.0", + "@jupyterlite/server-extension": "^0.1.0", + "@jupyterlite/ui-components": "^0.1.0", + "@retrolab/application-extension": "^0.3.21", + "es6-promise": "~4.2.8", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "yjs": "^13.5.6" + }, + "jupyterlab": { + "extensions": [ + "@jupyterlab/application-extension", + "@jupyterlab/apputils-extension", + "@jupyterlab/codemirror-extension", + "@jupyterlab/completer-extension", + "@jupyterlab/console-extension", + "@jupyterlab/docmanager-extension", + "@jupyterlab/imageviewer-extension", + "@jupyterlab/inspector-extension", + "@jupyterlab/json-extension", + "@jupyterlab/javascript-extension", + "@jupyterlab/markdownviewer-extension", + "@jupyterlab/mathjax2-extension", + "@jupyterlab/pdf-extension", + "@jupyterlab/rendermime-extension", + "@jupyterlab/shortcuts-extension", + "@jupyterlab/theme-dark-extension", + "@jupyterlab/theme-light-extension", + "@jupyterlab/tooltip-extension", + "@jupyterlab/translation-extension", + "@jupyterlab/vega5-extension", + "@jupyterlite/application-extension", + "@jupyterlite/repl-extension", + "@jupyterlite/iframe-extension", + "@jupyterlite/server-extension", + "@retrolab/application-extension" + ], + "singletonPackages": [ + "@jupyterlab/application", + "@jupyterlab/apputils", + "@jupyterlab/codeeditor", + "@jupyterlab/codemirror", + "@jupyterlab/completer", + "@jupyterlab/console", + "@jupyterlab/coreutils", + "@jupyterlab/docmanager", + "@jupyterlab/docprovider", + "@jupyterlab/documentsearch", + "@jupyterlab/filebrowser", + "@jupyterlab/fileeditor", + "@jupyterlab/imageviewer", + "@jupyterlab/inspector", + "@jupyterlab/launcher", + "@jupyterlab/logconsole", + "@jupyterlab/mainmenu", + "@jupyterlab/markdownviewer", + "@jupyterlab/notebook", + "@jupyterlab/outputarea", + "@jupyterlab/rendermime", + "@jupyterlab/rendermime-interfaces", + "@jupyterlab/services", + "@jupyterlab/settingregistry", + "@jupyterlab/shared-models", + "@jupyterlab/statedb", + "@jupyterlab/statusbar", + "@jupyterlab/tooltip", + "@jupyterlab/translation", + "@jupyterlab/ui-components", + "@jupyterlite/contents", + "@jupyterlite/kernel", + "@lumino/algorithm", + "@lumino/application", + "@lumino/commands", + "@lumino/coreutils", + "@lumino/disposable", + "@lumino/domutils", + "@lumino/dragdrop", + "@lumino/messaging", + "@lumino/properties", + "@lumino/signaling", + "@lumino/virtualdom", + "@lumino/widgets", + "react", + "react-dom", + "yjs" + ], + "mimeExtensions": { + "@jupyterlab/javascript-extension": "", + "@jupyterlab/json-extension": "", + "@jupyterlab/vega5-extension": "" + }, + "linkedPackages": {} + }, + "jupyterlite": { + "pages": [ + "index" + ] + } +} diff --git a/static/retro/consoles/favicon.ico b/static/retro/consoles/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..97fcfd5436556489c4cf455979de2bf23236456c GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYHg1R)sA2NK_3UHbp#>=d#v zOz*`GrvKz%n7!oa1?i!O{_8VT{y*N44#ziUX~6x8ZvUljj{mPuPxyazvLsy1-4$;C zzdb(#$M@Ix!R65PUz?`z|JSF-|G&S!ied(?@IluPQg?lZD$!G=AW(; literal 0 HcmV?d00001 diff --git a/static/retro/consoles/index.html b/static/retro/consoles/index.html new file mode 100644 index 0000000..3d72441 --- /dev/null +++ b/static/retro/consoles/index.html @@ -0,0 +1,35 @@ + + + + JupyterLite Retro - Console + + + + + + + diff --git a/static/retro/consoles/jupyter-lite.ipynb b/static/retro/consoles/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/retro/consoles/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/retro/consoles/jupyter-lite.json b/static/retro/consoles/jupyter-lite.json new file mode 100644 index 0000000..c9b76eb --- /dev/null +++ b/static/retro/consoles/jupyter-lite.json @@ -0,0 +1,8 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "retroPage": "consoles", + "faviconUrl": "./favicon.ico", + "fullStaticUrl": "../../build" + } +} diff --git a/static/retro/edit/favicon.ico b/static/retro/edit/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8167018cd005ff4a24d8287c620539e23c69aac9 GIT binary patch literal 1150 zcmeHGu?@m75Ih7usc1=q#Ar}3g9{1u5G9Vze%<}~9qSED z_*E4+*VxQ}1%Nd{icIFY0Mu3#9X}t*S|qcPXdmjkckEEPihH)7%2nLouWvxzmEyD; z_Z}H)ul%aFKJ%B}O15MDW@wjZiljJOvMuwx&zB)}Yvgo9FK{i_b#L8MN~r!Z`{GSC cvToVotH@v7c?w*vZ?LC+B96p?o;l#&8_znXx&QzG literal 0 HcmV?d00001 diff --git a/static/retro/edit/index.html b/static/retro/edit/index.html new file mode 100644 index 0000000..2bea352 --- /dev/null +++ b/static/retro/edit/index.html @@ -0,0 +1,35 @@ + + + + JupyterLite Retro - Edit + + + + + + + diff --git a/static/retro/edit/jupyter-lite.ipynb b/static/retro/edit/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/retro/edit/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/retro/edit/jupyter-lite.json b/static/retro/edit/jupyter-lite.json new file mode 100644 index 0000000..b8a2258 --- /dev/null +++ b/static/retro/edit/jupyter-lite.json @@ -0,0 +1,8 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "retroPage": "edit", + "faviconUrl": "./favicon.ico", + "fullStaticUrl": "../../build" + } +} diff --git a/static/retro/favicon.ico b/static/retro/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2d1bcff7ca0ed6c77fdf1b016986f9137a43d31a GIT binary patch literal 32038 zcmeI4U5FG{7ROsAA|fG?5JY4_k?9XRYJ%itpLE5Qd5}CTSqV$nU6$YuB0hvnSGNw% z5*9HcG7rljAx|Of2kb(SAVHR88S)UqAR>zoOCCg)ARz>&t7k?;dw>7xx;=NQtGcVF zKWDlc&eW}2_nxnN>fUqDJvFJ+medQWmtRit+nf6R3#ru4RoYv-{|oj1pzih8{rmA$ z>X)ykQb&*0?z2BjrJnyZmCAA}6nlX!-e20#FZiogt6PGQF1WkXh4N{j-~(lMcd%XX zp0?w_-+`wNviJo^c=^??1z);#+$d~?5U`?YYa`~5LEYVy==z5f1&y%TDiN>!_!faaOK zz)`@=Gc(@YMTPaV`5WePw!nPgxXgFuS>S8nAt2ijsI0nKwNcw{$&x9S_k(v1u;)56 z=S5xBc20fQ%SXQWMDyQeKsFskr&YcBUKXx)_{ccree}EA0o@>9cZD+!56sA4(YRvcV_c;7|FUkpY1j9noOLR1dbFTv@I&_u>sHrgHu!^A=)D5GXX^9L zO2c@VXT7=(f@ZH|N$@uA6%w5!I*DrogP03!nwkqWC&uNs({`Hcp?AjMG3$@k22We+K#J_PrGf7)ViZ3WZF61JvUb#7=|1Zp*z<@#RZPFS3Rl1{Bx& zE%V~J@q$|vaDPs9dZspNI}CF2K5U1t6YzSC>pY-+?sveCfZ{h=_XH}dPS4b4KJAp% z=Y(+dQvQYSH6& zyudZ0JU&&EPkcv}(^KH8;k+Um-IjqhXFEE2CtX^A5LTJ9&JynXT3Z)210ufdf^#%=BL9M%57^x`)52zg|A zS2TQDPi?#McxoX7d!23Y_5p3po<#b8m?@Osr~YuJu=G+C58bNIK?B_!gzkCdu-BKe zcoUCNw9-@V1pTx|J_Qz7BhR9jp7R{ZPsx3eF`0yyZ#M+T)x0O_Vxqw z)(zhKd|10d)WKH{8<^v&_hUXiQ*Brq;P({IIB#+%50tvUPw!OjytA|u`#B>X#jA}k zH@&=*_jWE_baQt7FqWA=a_IO^;@R*=d}hDie{(iB!(_YKozlc|}f7BjLd$nQXKj$b13N3ho?lW72VNEc;`Pz-6VHZ-4KYT+_?2Qv=h<@} z%oQs=j|C}4hJ7n;{60WDq!w$X?8mQ`BI8${3{J(1AKEcU`f5BB^ZXe3-bI$&f$4Hn zJi-+h6pQ4&%PTes4aMs3`!>M2NIeGoX}VB}6$8yWWy!E$%V3pdgT$E^ZxOGXhUUp^ zF^?r2CLKbbVZT=9LvQ zMXuKIbK0n_>F48az^8iAZaaQ184i84dVXQ)-lruUSu(XMw|egBJQSaIesS<>`{x(+ zafm!W3e{J*PW>}7Pv>#UT{u57{Oh`Ue#hBb!8>E~&KS(N=o(e7@f@n#hA|}G|AhAb z`Ca#OXLBWUe!BQAHvh~!H}&6*sIteuC*SIL1>17}jCSBGUl9#kcik@6&#!BF0p9sS zOa1#Y8d(BYaBvphhx6;8E||ADGjLnx4k3vA(kJc(~tW# z`5RNU{0&d9-Z;7EC=Xr!MnCk@ibgFTNZ&;1mt6a;2jyuU1!e$~rTnr8g+GKrn&>a`&h=QT)?OPD|7olnKSR;BkN3d*@Ig7j-GjKXsbTzyAgHjXGc09z{zu2mOBJO67NWe|e94FLO8z_n~;`w=J-5$`k*Y59etBx_}q))DJym zi%Y*C_SQFBkE>(xB;I&iRiR>fntb>PkIPWkh=V=?G<=-~5itr16V zRQ3NcZmnM?d>n@upyS?zuQ`02t7)fliP+)?d}}o+P+4`*xvCgF*PGZGaYOk>>zhx+ zvv}{+7QmzY+PF6VBl6usCgP{%jK=MfdyCA)l}uRQe%5hb zIxbyccXm$h8he#2?eIh{?>_J;HWk3*E-=o&Iy%$&d({pSNB%5S3_4ZZ%63_of9>j!QznRL|!36W;!!X}4TdcfCF2#w> zByX53l2Nh-pJ^Qp)@|1NQId7Dj$tBKW2`;VNura)1`-=cY#_0L#0C-@NNganfy4$9 z8%S&*v4O+}n%lrA#e~9S9rgI97yl+UtQhfTeODCQSByU_{wIy>6vw(wfX-G$t@1_N&h7y__Q}eEax-{u^-b>Dyp1;VA3Pm2 z$$vqY572S(wTmnJ2W<<=!NIPlb*>qd+uXOC|6*iP?vTL|d3D@7%D+)glIhp$t8%Th zMlsfRBl+@eKr(c~4>V%uztwUr+%LR*By!f2yVeP9^;HgCEuRH>$*n`)zU9A(epm7z z$z?>3H~rkk==?`=BbjICSg&r@=C8r$KS~Gkm*8t8^IvWIMF%69|7`1El=I(>9!B~5 z2crXBNA>#`TL**q{)x5W@i2V + + + + + + diff --git a/static/retro/jupyter-lite.ipynb b/static/retro/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/retro/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/retro/jupyter-lite.json b/static/retro/jupyter-lite.json new file mode 100644 index 0000000..59bf929 --- /dev/null +++ b/static/retro/jupyter-lite.json @@ -0,0 +1,8 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "fullStaticUrl": "../build", + "settingsUrl": "../../build/schemas", + "themesUrl": "./build/themes" + } +} diff --git a/static/retro/notebooks/favicon.ico b/static/retro/notebooks/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4537e2d989843ae1a96a0548aa0a7066a22e2698 GIT binary patch literal 1150 zcmd6kJxT;Y5QX2WpqU$)xPggaBK}}1>McBhsCWizK|@m`1#e)g;lhS0Vx(Z8XsF1B zf@t|QGc63$HWTg)-xU2`y`G|5YVo$);ya`5F=+Oz;Y!U7Un(3%^tjC*nw^$zt$lCLQe;7 z68RSTXM;T!>A8mbS(zU-$nVo*u$!1+qs)I$$1A@12wJ$KD_DZdiXRr{6L1H)bNs;% z_xMoD7kliL`IDM&zEXNy)YY0_ + + + JupyterLite Retro - Notebook + + + + + + + + diff --git a/static/retro/notebooks/jupyter-lite.ipynb b/static/retro/notebooks/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/retro/notebooks/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/retro/notebooks/jupyter-lite.json b/static/retro/notebooks/jupyter-lite.json new file mode 100644 index 0000000..7248800 --- /dev/null +++ b/static/retro/notebooks/jupyter-lite.json @@ -0,0 +1,8 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "retroPage": "notebooks", + "faviconUrl": "./favicon.ico", + "fullStaticUrl": "../../build" + } +} diff --git a/static/retro/package.json b/static/retro/package.json new file mode 100644 index 0000000..a90b05c --- /dev/null +++ b/static/retro/package.json @@ -0,0 +1,232 @@ +{ + "name": "@jupyterlite/app-retro", + "version": "0.1.0", + "private": true, + "resolutions": { + "@jupyterlab/application": "~3.5.3", + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/cell-toolbar": "~3.5.3", + "@jupyterlab/cell-toolbar-extension": "~3.5.3", + "@jupyterlab/celltags": "~3.5.3", + "@jupyterlab/codeeditor": "~3.5.3", + "@jupyterlab/codemirror": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/coreutils": "~5.5.3", + "@jupyterlab/docmanager": "~3.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/docprovider": "~3.5.3", + "@jupyterlab/documentsearch": "~3.5.3", + "@jupyterlab/filebrowser": "~3.5.3", + "@jupyterlab/filebrowser-extension": "~3.5.3", + "@jupyterlab/fileeditor": "~3.5.3", + "@jupyterlab/fileeditor-extension": "~3.5.3", + "@jupyterlab/imageviewer": "~3.5.3", + "@jupyterlab/inspector": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/launcher": "~3.5.3", + "@jupyterlab/logconsole": "~3.5.3", + "@jupyterlab/mainmenu": "~3.5.3", + "@jupyterlab/mainmenu-extension": "~3.5.3", + "@jupyterlab/markdownviewer": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/notebook": "~3.5.3", + "@jupyterlab/notebook-extension": "~3.5.3", + "@jupyterlab/outputarea": "~3.5.3", + "@jupyterlab/rendermime": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/rendermime-interfaces": "~3.5.3", + "@jupyterlab/services": "~6.5.3", + "@jupyterlab/settingeditor": "~3.5.3", + "@jupyterlab/settingregistry": "~3.5.3", + "@jupyterlab/shared-models": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/statedb": "~3.5.3", + "@jupyterlab/statusbar": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/tooltip": "~3.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlab/ui-components": "~3.5.3", + "@jupyterlite/application-extension": "~0.1.0", + "@jupyterlite/contents": "~0.1.0", + "@jupyterlite/iframe-extension": "~0.1.0", + "@jupyterlite/kernel": "~0.1.0", + "@jupyterlite/localforage": "~0.1.0", + "@jupyterlite/retro-application-extension": "~0.1.0", + "@jupyterlite/server": "~0.1.0", + "@jupyterlite/server-extension": "~0.1.0", + "@jupyterlite/types": "~0.1.0", + "@lumino/algorithm": "~1.9.2", + "@lumino/application": "~1.31.3", + "@lumino/commands": "~1.21.1", + "@lumino/coreutils": "~1.12.1", + "@lumino/disposable": "~1.10.4", + "@lumino/domutils": "~1.8.2", + "@lumino/dragdrop": "~1.14.4", + "@lumino/messaging": "~1.10.3", + "@lumino/properties": "~1.8.2", + "@lumino/signaling": "~1.11.1", + "@lumino/virtualdom": "~1.14.3", + "@lumino/widgets": "~1.37.1", + "@retrolab/application": "~0.3.21", + "@retrolab/application-extension": "~0.3.21", + "@retrolab/docmanager-extension": "~0.3.21", + "@retrolab/help-extension": "~0.3.21", + "@retrolab/notebook-extension": "~0.3.21", + "@retrolab/tree-extension": "~0.3.21", + "@retrolab/ui-components": "~0.3.21", + "es6-promise": "^4.2.8", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "yjs": "^13.5.43" + }, + "dependencies": { + "@jupyterlab/application-extension": "~3.5.3", + "@jupyterlab/apputils-extension": "~3.5.3", + "@jupyterlab/attachments": "~3.5.3", + "@jupyterlab/cell-toolbar-extension": "~3.5.3", + "@jupyterlab/celltags": "~3.5.3", + "@jupyterlab/codemirror-extension": "~3.5.3", + "@jupyterlab/completer-extension": "~3.5.3", + "@jupyterlab/console-extension": "~3.5.3", + "@jupyterlab/coreutils": "~5.5.3", + "@jupyterlab/docmanager-extension": "~3.5.3", + "@jupyterlab/filebrowser-extension": "~3.5.3", + "@jupyterlab/fileeditor-extension": "~3.5.3", + "@jupyterlab/javascript-extension": "~3.5.3", + "@jupyterlab/json-extension": "~3.5.3", + "@jupyterlab/mainmenu-extension": "~3.5.3", + "@jupyterlab/mathjax2-extension": "~3.5.3", + "@jupyterlab/notebook-extension": "~3.5.3", + "@jupyterlab/rendermime-extension": "~3.5.3", + "@jupyterlab/shortcuts-extension": "~3.5.3", + "@jupyterlab/theme-dark-extension": "~3.5.3", + "@jupyterlab/theme-light-extension": "~3.5.3", + "@jupyterlab/tooltip-extension": "~3.5.3", + "@jupyterlab/translation-extension": "~3.5.3", + "@jupyterlite/application-extension": "^0.1.0", + "@jupyterlite/iframe-extension": "^0.1.0", + "@jupyterlite/localforage": "^0.1.0", + "@jupyterlite/retro-application-extension": "^0.1.0", + "@jupyterlite/server": "^0.1.0", + "@jupyterlite/server-extension": "^0.1.0", + "@jupyterlite/types": "^0.1.0", + "@retrolab/application": "^0.3.21", + "@retrolab/application-extension": "^0.3.21", + "@retrolab/docmanager-extension": "^0.3.21", + "@retrolab/help-extension": "^0.3.21", + "@retrolab/notebook-extension": "^0.3.21", + "@retrolab/tree-extension": "^0.3.21", + "@retrolab/ui-components": "^0.3.21", + "es6-promise": "~4.2.8", + "react": "^17.0.1", + "react-dom": "^17.0.1" + }, + "jupyterlab": { + "extensions": [ + "@retrolab/application-extension", + "@retrolab/docmanager-extension", + "@retrolab/help-extension", + "@retrolab/notebook-extension", + "@retrolab/tree-extension", + "@jupyterlab/application-extension", + "@jupyterlab/apputils-extension", + "@jupyterlab/cell-toolbar-extension", + "@jupyterlab/codemirror-extension", + "@jupyterlab/completer-extension", + "@jupyterlab/console-extension", + "@jupyterlab/docmanager-extension", + "@jupyterlab/filebrowser-extension", + "@jupyterlab/fileeditor-extension", + "@jupyterlab/javascript-extension", + "@jupyterlab/json-extension", + "@jupyterlab/mainmenu-extension", + "@jupyterlab/mathjax2-extension", + "@jupyterlab/notebook-extension", + "@jupyterlab/rendermime-extension", + "@jupyterlab/shortcuts-extension", + "@jupyterlab/theme-dark-extension", + "@jupyterlab/theme-light-extension", + "@jupyterlab/tooltip-extension", + "@jupyterlab/translation-extension", + "@jupyterlab/vega5-extension", + "@jupyterlite/application-extension", + "@jupyterlite/iframe-extension", + "@jupyterlite/retro-application-extension", + "@jupyterlite/server-extension" + ], + "singletonPackages": [ + "@jupyterlab/application", + "@jupyterlab/apputils", + "@jupyterlab/cell-toolbar", + "@jupyterlab/codeeditor", + "@jupyterlab/codemirror", + "@jupyterlab/completer", + "@jupyterlab/console", + "@jupyterlab/coreutils", + "@jupyterlab/docmanager", + "@jupyterlab/docprovider", + "@jupyterlab/documentsearch", + "@jupyterlab/filebrowser", + "@jupyterlab/fileeditor", + "@jupyterlab/imageviewer", + "@jupyterlab/inspector", + "@jupyterlab/launcher", + "@jupyterlab/logconsole", + "@jupyterlab/mainmenu", + "@jupyterlab/markdownviewer", + "@jupyterlab/notebook", + "@jupyterlab/outputarea", + "@jupyterlab/rendermime", + "@jupyterlab/rendermime-interfaces", + "@jupyterlab/services", + "@jupyterlab/settingeditor", + "@jupyterlab/settingregistry", + "@jupyterlab/shared-models", + "@jupyterlab/statedb", + "@jupyterlab/statusbar", + "@jupyterlab/tooltip", + "@jupyterlab/translation", + "@jupyterlab/ui-components", + "@jupyterlite/contents", + "@jupyterlite/kernel", + "@jupyterlite/localforage", + "@jupyterlite/types", + "@lumino/algorithm", + "@lumino/application", + "@lumino/commands", + "@lumino/coreutils", + "@lumino/disposable", + "@lumino/domutils", + "@lumino/dragdrop", + "@lumino/messaging", + "@lumino/properties", + "@lumino/signaling", + "@lumino/virtualdom", + "@lumino/widgets", + "react", + "react-dom", + "yjs" + ], + "mimeExtensions": {}, + "linkedPackages": {} + }, + "jupyterlite": { + "pages": [ + "consoles/index", + "edit/index", + "notebooks/index", + "tree/index" + ] + } +} diff --git a/static/retro/tree/index.html b/static/retro/tree/index.html new file mode 100644 index 0000000..c197dce --- /dev/null +++ b/static/retro/tree/index.html @@ -0,0 +1,35 @@ + + + + JupyterLite Retro - Tree + + + + + + + diff --git a/static/retro/tree/jupyter-lite.ipynb b/static/retro/tree/jupyter-lite.ipynb new file mode 100644 index 0000000..c4a4922 --- /dev/null +++ b/static/retro/tree/jupyter-lite.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", + "metadata": {}, + "source": [ + "# jupyter-lite.ipynb\n", + "\n", + "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." + ] + }, + { + "cell_type": "markdown", + "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", + "metadata": {}, + "source": [ + "## Editing Configuration\n", + "\n", + "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", + "\n", + "- open the _Property Inspector_ sidebar\n", + "- expand the _Advanced Tools_ section\n", + "- edit the `jupyter-lite` metadata sub-key\n", + "- press the \"check\" icon\n", + "- save the notebook" + ] + } + ], + "metadata": { + "jupyter-lite": { + "jupyter-config-data": {}, + "jupyter-lite-schema-version": 0 + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/static/retro/tree/jupyter-lite.json b/static/retro/tree/jupyter-lite.json new file mode 100644 index 0000000..b7f616e --- /dev/null +++ b/static/retro/tree/jupyter-lite.json @@ -0,0 +1,7 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "retroPage": "tree", + "fullStaticUrl": "../../build" + } +} diff --git a/static/service-worker-b2fb40a.js b/static/service-worker-b2fb40a.js new file mode 100644 index 0000000..fa5a769 --- /dev/null +++ b/static/service-worker-b2fb40a.js @@ -0,0 +1 @@ +"use strict";const CACHE="precache",broadcast=new BroadcastChannel("/api/drive.v1");function onInstall(t){self.skipWaiting(),t.waitUntil(cacheAll())}function onActivate(t){t.waitUntil(self.clients.claim())}async function onFetch(t){const{request:a}=t,n=new URL(t.request.url);let e=null;shouldBroadcast(n)?e=broadcastOne(a):shouldDrop(a,n)||(e=maybeFromCache(t)),e&&t.respondWith(e)}async function maybeFromCache(t){const{request:a}=t;let n=await fromCache(a);return n?t.waitUntil(refetch(a)):(n=await fetch(a),t.waitUntil(updateCache(a,n.clone()))),n}async function fromCache(t){const a=await openCache(),n=await a.match(t);return n&&404!==n.status?n:null}async function refetch(t){const a=await fetch(t);return await updateCache(t,a),a}function shouldBroadcast(t){return t.origin===location.origin&&t.pathname.includes("/api/drive")}function shouldDrop(t,a){return"GET"!==t.method||null===a.origin.match(/^http/)||a.pathname.includes("/api/")}async function broadcastOne(t){const a=new Promise((t=>{broadcast.onmessage=a=>{t(new Response(JSON.stringify(a.data)))}}));return broadcast.postMessage(await t.json()),await a}async function openCache(){return await caches.open(CACHE)}async function updateCache(t,a){return(await openCache()).put(t,a)}async function cacheAll(){const t=await openCache();return await t.addAll([])}self.addEventListener("install",onInstall),self.addEventListener("activate",onActivate),self.addEventListener("fetch",onFetch); \ No newline at end of file diff --git a/static/tree/index.html b/static/tree/index.html new file mode 100644 index 0000000..3a954bb --- /dev/null +++ b/static/tree/index.html @@ -0,0 +1,14 @@ + + + + + + From da3a44ff2c79e6d1ad7b7d09436e395d1890f576 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 14:08:32 -0400 Subject: [PATCH 03/12] Dynamic build --- build.sh | 7 + runtime.txt | 1 + static/bootstrap.js | 93 ----- static/config-utils.js | 267 -------------- static/doc/workspaces/index.html | 14 - .../jupyterlab-manager/install.json | 5 - .../jupyterlab-manager/package.json | 99 ------ .../jupyterlab-manager/package.json.orig | 95 ----- .../jupyterlab-manager/plugin.json | 14 - .../static/113.270dbb43db912c1b3723.js | 2 - .../113.270dbb43db912c1b3723.js.LICENSE.txt | 6 - .../static/134.402424ef4079078b2e0e.js | 1 - .../static/150.1a6d6a3a0542a41bec5a.js | 1 - .../static/291.0b98a9cbc7337e1749ed.js | 2 - .../291.0b98a9cbc7337e1749ed.js.LICENSE.txt | 24 -- .../static/345.03be96cd091aac4797a5.js | 1 - .../static/495.ea5e18a84b54f152ae61.js | 1 - .../static/595.b7741b41fd98f8f3d844.js | 1 - .../static/596.340cb969418e72309eb4.js | 1 - .../static/61.21f571face17e35076c2.js | 1 - .../static/644.7d1bff49f8e38fac4070.js | 1 - .../static/699.2ea6ecfcddb8f3bb4732.js | 1 - .../static/965.b0caf50c6bbde92efb37.js | 1 - .../remoteEntry.35e76720037cafa02724.js | 1 - .../jupyterlab-manager/static/style.js | 4 - .../static/third-party-licenses.json | 196 ----------- .../pyodide-kernel-extension/install.json | 5 - .../pyodide-kernel-extension/package.json | 93 ----- .../static/518.a3c6a3ae7ee95e5158aa.js | 3 - .../518.a3c6a3ae7ee95e5158aa.js.LICENSE.txt | 5 - .../static/518.a3c6a3ae7ee95e5158aa.js.map | 1 - .../static/568.371c75f0cd43fa31532d.js | 3 - .../568.371c75f0cd43fa31532d.js.LICENSE.txt | 5 - .../static/568.371c75f0cd43fa31532d.js.map | 1 - .../static/652.07cda501733578161e13.js | 2 - .../static/652.07cda501733578161e13.js.map | 1 - .../static/951.b9fa6250974e699a3731.js | 3 - .../951.b9fa6250974e699a3731.js.LICENSE.txt | 9 - .../static/951.b9fa6250974e699a3731.js.map | 1 - .../static/pypi/all.json | 128 ------- .../pypi/ipykernel-6.9.2-py3-none-any.whl | Bin 6512 -> 0 bytes .../pypi/piplite-0.0.8-py3-none-any.whl | Bin 6720 -> 0 bytes .../pyodide_kernel-0.0.8-py3-none-any.whl | Bin 8221 -> 0 bytes .../widgetsnbextension-3.6.4-py3-none-any.whl | Bin 2337 -> 0 bytes .../widgetsnbextension-4.0.7-py3-none-any.whl | Bin 2337 -> 0 bytes .../remoteEntry.b340cae4b3c1bda6a7fd.js | 2 - .../remoteEntry.b340cae4b3c1bda6a7fd.js.map | 1 - .../static/schema/kernel.v0.schema.json | 29 -- .../static/schema/piplite.v0.schema.json | 113 ------ .../pyodide-kernel-extension/static/style.js | 4 - .../static/third-party-licenses.json | 22 -- .../install.json | 5 - .../package.json | 93 ----- .../static/568.11e2a1073dedb0d7c64b.js | 1 - .../static/747.9a8b7abcd88da875bb07.js | 1 - .../remoteEntry.74a375733b4162d461a9.js | 1 - .../static/style.js | 4 - .../static/third-party-licenses.json | 16 - .../extensions/jupyterlab-plotly/package.json | 86 ----- .../static/133.5342d9bec93d5de59ad2.js | 1 - .../static/423.d0d3e2912c33c7566484.js | 1 - .../static/478.247fddac0148cc4e151b.js | 2 - .../478.247fddac0148cc4e151b.js.LICENSE.txt | 53 --- .../static/486.6450efe6168c2f8caddb.js | 2 - .../486.6450efe6168c2f8caddb.js.LICENSE.txt | 8 - .../static/657.d89469e0b1d5bb171fde.js | 1 - .../static/855.323c80e7298812d692e7.js | 1 - .../remoteEntry.f294278414d0a929e4ae.js | 1 - .../jupyterlab-plotly/static/style.js | 4 - .../static/third-party-licenses.json | 28 -- static/icon-120x120.png | Bin 4609 -> 0 bytes static/icon-512x512.png | Bin 20954 -> 0 bytes static/index.html | 68 ---- static/jupyter-lite.ipynb | 55 --- static/jupyter-lite.json | 17 - static/jupyterlite.schema.v0.json | 331 ------------------ static/kernelspecs/javascript.svg | 1 - static/lab/favicon.ico | Bin 324251 -> 0 bytes static/lab/index.html | 36 -- static/lab/jupyter-lite.ipynb | 55 --- static/lab/jupyter-lite.json | 7 - static/lab/package.json | 265 -------------- static/lab/tree/index.html | 14 - static/lab/workspaces/index.html | 14 - static/manifest.webmanifest | 32 -- static/package.json | 50 --- static/repl/index.html | 36 -- static/repl/jupyter-lite.ipynb | 55 --- static/repl/jupyter-lite.json | 7 - static/repl/package.json | 207 ----------- static/retro/consoles/favicon.ico | Bin 1150 -> 0 bytes static/retro/consoles/index.html | 35 -- static/retro/consoles/jupyter-lite.ipynb | 55 --- static/retro/consoles/jupyter-lite.json | 8 - static/retro/edit/favicon.ico | Bin 1150 -> 0 bytes static/retro/edit/index.html | 35 -- static/retro/edit/jupyter-lite.ipynb | 55 --- static/retro/edit/jupyter-lite.json | 8 - static/retro/favicon.ico | Bin 32038 -> 0 bytes static/retro/index.html | 20 -- static/retro/jupyter-lite.ipynb | 55 --- static/retro/jupyter-lite.json | 8 - static/retro/notebooks/favicon.ico | Bin 1150 -> 0 bytes static/retro/notebooks/index.html | 36 -- static/retro/notebooks/jupyter-lite.ipynb | 55 --- static/retro/notebooks/jupyter-lite.json | 8 - static/retro/package.json | 232 ------------ static/retro/tree/index.html | 35 -- static/retro/tree/jupyter-lite.ipynb | 55 --- static/retro/tree/jupyter-lite.json | 7 - static/service-worker-b2fb40a.js | 1 - static/tree/index.html | 14 - 112 files changed, 8 insertions(+), 3544 deletions(-) create mode 100644 build.sh create mode 100644 runtime.txt delete mode 100644 static/bootstrap.js delete mode 100644 static/config-utils.js delete mode 100644 static/doc/workspaces/index.html delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/install.json delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/package.json delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js.LICENSE.txt delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/345.03be96cd091aac4797a5.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/495.ea5e18a84b54f152ae61.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/595.b7741b41fd98f8f3d844.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/596.340cb969418e72309eb4.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/61.21f571face17e35076c2.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/644.7d1bff49f8e38fac4070.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/699.2ea6ecfcddb8f3bb4732.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/965.b0caf50c6bbde92efb37.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.35e76720037cafa02724.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/style.js delete mode 100644 static/extensions/@jupyter-widgets/jupyterlab-manager/static/third-party-licenses.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/install.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/package.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js.LICENSE.txt delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/518.a3c6a3ae7ee95e5158aa.js.map delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js.LICENSE.txt delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/568.371c75f0cd43fa31532d.js.map delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/652.07cda501733578161e13.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/652.07cda501733578161e13.js.map delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js.LICENSE.txt delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/951.b9fa6250974e699a3731.js.map delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/all.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/ipykernel-6.9.2-py3-none-any.whl delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/piplite-0.0.8-py3-none-any.whl delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/pyodide_kernel-0.0.8-py3-none-any.whl delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/widgetsnbextension-3.6.4-py3-none-any.whl delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/pypi/widgetsnbextension-4.0.7-py3-none-any.whl delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.b340cae4b3c1bda6a7fd.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/remoteEntry.b340cae4b3c1bda6a7fd.js.map delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/kernel.v0.schema.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/schema/piplite.v0.schema.json delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/style.js delete mode 100644 static/extensions/@jupyterlite/pyodide-kernel-extension/static/third-party-licenses.json delete mode 100644 static/extensions/jupyterlab-open-url-parameter/install.json delete mode 100644 static/extensions/jupyterlab-open-url-parameter/package.json delete mode 100644 static/extensions/jupyterlab-open-url-parameter/static/568.11e2a1073dedb0d7c64b.js delete mode 100644 static/extensions/jupyterlab-open-url-parameter/static/747.9a8b7abcd88da875bb07.js delete mode 100644 static/extensions/jupyterlab-open-url-parameter/static/remoteEntry.74a375733b4162d461a9.js delete mode 100644 static/extensions/jupyterlab-open-url-parameter/static/style.js delete mode 100644 static/extensions/jupyterlab-open-url-parameter/static/third-party-licenses.json delete mode 100644 static/extensions/jupyterlab-plotly/package.json delete mode 100644 static/extensions/jupyterlab-plotly/static/133.5342d9bec93d5de59ad2.js delete mode 100644 static/extensions/jupyterlab-plotly/static/423.d0d3e2912c33c7566484.js delete mode 100644 static/extensions/jupyterlab-plotly/static/478.247fddac0148cc4e151b.js delete mode 100644 static/extensions/jupyterlab-plotly/static/478.247fddac0148cc4e151b.js.LICENSE.txt delete mode 100644 static/extensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js delete mode 100644 static/extensions/jupyterlab-plotly/static/486.6450efe6168c2f8caddb.js.LICENSE.txt delete mode 100644 static/extensions/jupyterlab-plotly/static/657.d89469e0b1d5bb171fde.js delete mode 100644 static/extensions/jupyterlab-plotly/static/855.323c80e7298812d692e7.js delete mode 100644 static/extensions/jupyterlab-plotly/static/remoteEntry.f294278414d0a929e4ae.js delete mode 100644 static/extensions/jupyterlab-plotly/static/style.js delete mode 100644 static/extensions/jupyterlab-plotly/static/third-party-licenses.json delete mode 100644 static/icon-120x120.png delete mode 100644 static/icon-512x512.png delete mode 100644 static/index.html delete mode 100644 static/jupyter-lite.ipynb delete mode 100644 static/jupyter-lite.json delete mode 100644 static/jupyterlite.schema.v0.json delete mode 100644 static/kernelspecs/javascript.svg delete mode 100644 static/lab/favicon.ico delete mode 100644 static/lab/index.html delete mode 100644 static/lab/jupyter-lite.ipynb delete mode 100644 static/lab/jupyter-lite.json delete mode 100644 static/lab/package.json delete mode 100644 static/lab/tree/index.html delete mode 100644 static/lab/workspaces/index.html delete mode 100644 static/manifest.webmanifest delete mode 100644 static/package.json delete mode 100644 static/repl/index.html delete mode 100644 static/repl/jupyter-lite.ipynb delete mode 100644 static/repl/jupyter-lite.json delete mode 100644 static/repl/package.json delete mode 100644 static/retro/consoles/favicon.ico delete mode 100644 static/retro/consoles/index.html delete mode 100644 static/retro/consoles/jupyter-lite.ipynb delete mode 100644 static/retro/consoles/jupyter-lite.json delete mode 100644 static/retro/edit/favicon.ico delete mode 100644 static/retro/edit/index.html delete mode 100644 static/retro/edit/jupyter-lite.ipynb delete mode 100644 static/retro/edit/jupyter-lite.json delete mode 100644 static/retro/favicon.ico delete mode 100644 static/retro/index.html delete mode 100644 static/retro/jupyter-lite.ipynb delete mode 100644 static/retro/jupyter-lite.json delete mode 100644 static/retro/notebooks/favicon.ico delete mode 100644 static/retro/notebooks/index.html delete mode 100644 static/retro/notebooks/jupyter-lite.ipynb delete mode 100644 static/retro/notebooks/jupyter-lite.json delete mode 100644 static/retro/package.json delete mode 100644 static/retro/tree/index.html delete mode 100644 static/retro/tree/jupyter-lite.ipynb delete mode 100644 static/retro/tree/jupyter-lite.json delete mode 100644 static/service-worker-b2fb40a.js delete mode 100644 static/tree/index.html diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..b8e8086 --- /dev/null +++ b/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Install Python dependencies +python -m pip install -r requirements.txt + +# Build Jupyter Lite +jupyter lite build --output-dir dist diff --git a/runtime.txt b/runtime.txt new file mode 100644 index 0000000..c83686f --- /dev/null +++ b/runtime.txt @@ -0,0 +1 @@ +PYTHON_VERSION=3.9 diff --git a/static/bootstrap.js b/static/bootstrap.js deleted file mode 100644 index 917b4f5..0000000 --- a/static/bootstrap.js +++ /dev/null @@ -1,93 +0,0 @@ -/*----------------------------------------------------------------------------- -| Copyright (c) Jupyter Development Team. -| Distributed under the terms of the Modified BSD License. -|----------------------------------------------------------------------------*/ - -// We copy some of the pageconfig parsing logic in @jupyterlab/coreutils -// below, since this must run before any other files are loaded (including -// @jupyterlab/coreutils). - -/** - * Get global configuration data for the Jupyter application. - * - * @param name - The name of the configuration option. - * - * @returns The config value or an empty string if not found. - * - * #### Notes - * All values are treated as strings. For browser based applications, it is - * assumed that the page HTML includes a script tag with the id - * `jupyter-config-data` containing the configuration as valid JSON. - */ - -let _CONFIG_DATA = null; -function getOption(name) { - if (_CONFIG_DATA === null) { - let configData = {}; - // Use script tag if available. - if (typeof document !== 'undefined' && document) { - const el = document.getElementById('jupyter-config-data'); - - if (el) { - configData = JSON.parse(el.textContent || '{}'); - } - } - _CONFIG_DATA = configData; - } - - return _CONFIG_DATA[name] || ''; -} - -// eslint-disable-next-line no-undef -__webpack_public_path__ = getOption('fullStaticUrl') + '/'; - -function loadScript(url) { - return new Promise((resolve, reject) => { - const newScript = document.createElement('script'); - newScript.onerror = reject; - newScript.onload = resolve; - newScript.async = true; - document.head.appendChild(newScript); - newScript.src = url; - }); -} - -async function loadComponent(url, scope) { - await loadScript(url); - - // From https://webpack.js.org/concepts/module-federation/#dynamic-remote-containers - await __webpack_init_sharing__('default'); - const container = window._JUPYTERLAB[scope]; - // Initialize the container, it may provide shared modules and may need ours - await container.init(__webpack_share_scopes__.default); -} - -void (async function bootstrap() { - // This is all the data needed to load and activate plugins. This should be - // gathered by the server and put onto the initial page template. - const extension_data = getOption('federated_extensions'); - - // We first load all federated components so that the shared module - // deduplication can run and figure out which shared modules from all - // components should be actually used. We have to do this before importing - // and using the module that actually uses these components so that all - // dependencies are initialized. - let labExtensionUrl = getOption('fullLabextensionsUrl'); - const extensions = await Promise.allSettled( - extension_data.map(async data => { - await loadComponent(`${labExtensionUrl}/${data.name}/${data.load}`, data.name); - }) - ); - - extensions.forEach(p => { - if (p.status === 'rejected') { - // There was an error loading the component - console.error(p.reason); - } - }); - - // Now that all federated containers are initialized with the main - // container, we can import the main function. - let main = (await import('./index.js')).main; - void main(); -})(); diff --git a/static/config-utils.js b/static/config-utils.js deleted file mode 100644 index 15867c6..0000000 --- a/static/config-utils.js +++ /dev/null @@ -1,267 +0,0 @@ -/** - * configuration utilities for jupyter-lite - * - * this file may not import anything else, and exposes no API - */ - -/* - * An `index.html` should `await import('../config-utils.js')` after specifying - * the key `script` tags... - * - * ```html - * - * ``` - */ -const JUPYTER_CONFIG_ID = 'jupyter-config-data'; - -/* - * The JS-mangled name for `data-jupyter-lite-root` - */ -const LITE_ROOT_ATTR = 'jupyterLiteRoot'; - -/** - * The well-known filename that contains `#jupyter-config-data` and other goodies - */ -const LITE_FILES = ['jupyter-lite.json', 'jupyter-lite.ipynb']; - -/** - * And this link tag, used like so to load a bundle after configuration. - * - * ```html - * - * ``` - */ -const LITE_MAIN = 'jupyter-lite-main'; - -/** - * The current page, with trailing server junk stripped - */ -const HERE = `${window.location.origin}${window.location.pathname.replace( - /(\/|\/index.html)?$/, - '' -)}/`; - -/** - * The computed composite configuration - */ -let _JUPYTER_CONFIG; - -/** - * A handle on the config script, must exist, and will be overridden - */ -const CONFIG_SCRIPT = document.getElementById(JUPYTER_CONFIG_ID); - -/** - * The relative path to the root of this JupyterLite - */ -const RAW_LITE_ROOT = CONFIG_SCRIPT.dataset[LITE_ROOT_ATTR]; - -/** - * The fully-resolved path to the root of this JupyterLite - */ -const FULL_LITE_ROOT = new URL(RAW_LITE_ROOT, HERE).toString(); - -/** - * Paths that are joined with baseUrl to derive full URLs - */ -const UNPREFIXED_PATHS = ['licensesUrl', 'themesUrl']; - -/* a DOM parser for reading html files */ -const parser = new DOMParser(); - -/** - * Merge `jupyter-config-data` on the current page with: - * - the contents of `.jupyter-lite#/jupyter-config-data` - * - parent documents, and their `.jupyter-lite#/jupyter-config-data` - * ...up to `jupyter-lite-root`. - */ -async function jupyterConfigData() { - /** - * Return the value if already cached for some reason - */ - if (_JUPYTER_CONFIG != null) { - return _JUPYTER_CONFIG; - } - - let parent = new URL(HERE).toString(); - let promises = [getPathConfig(HERE)]; - while (parent != FULL_LITE_ROOT) { - parent = new URL('..', parent).toString(); - promises.unshift(getPathConfig(parent)); - } - - const configs = (await Promise.all(promises)).flat(); - - let finalConfig = configs.reduce(mergeOneConfig); - - // apply any final patches - finalConfig = dedupFederatedExtensions(finalConfig); - - // hoist to cache - _JUPYTER_CONFIG = finalConfig; - - return finalConfig; -} - -/** - * Merge a new configuration on top of the existing config - */ -function mergeOneConfig(memo, config) { - for (const [k, v] of Object.entries(config)) { - switch (k) { - // this list of extension names is appended - case 'disabledExtensions': - case 'federated_extensions': - memo[k] = [...(memo[k] || []), ...v]; - break; - // these `@org/pkg:plugin` are merged at the first level of values - case 'litePluginSettings': - case 'settingsOverrides': - if (!memo[k]) { - memo[k] = {}; - } - for (const [plugin, defaults] of Object.entries(v || {})) { - memo[k][plugin] = { ...(memo[k][plugin] || {}), ...defaults }; - } - break; - default: - memo[k] = v; - } - } - return memo; -} - -function dedupFederatedExtensions(config) { - const originalList = Object.keys(config || {})['federated_extensions'] || []; - const named = {}; - for (const ext of originalList) { - named[ext.name] = ext; - } - let allExtensions = [...Object.values(named)]; - allExtensions.sort((a, b) => a.name.localeCompare(b.name)); - return config; -} - -/** - * Load jupyter config data from (this) page and merge with - * `jupyter-lite.json#jupyter-config-data` - */ -async function getPathConfig(url) { - let promises = [getPageConfig(url)]; - for (const fileName of LITE_FILES) { - promises.unshift(getLiteConfig(url, fileName)); - } - return Promise.all(promises); -} - -/** - * The current normalized location - */ -function here() { - return window.location.href.replace(/(\/|\/index.html)?$/, '/'); -} - -/** - * Maybe fetch an `index.html` in this folder, which must contain the trailing slash. - */ -export async function getPageConfig(url = null) { - let script = CONFIG_SCRIPT; - - if (url != null) { - const text = await (await window.fetch(`${url}index.html`)).text(); - const doc = parser.parseFromString(text, 'text/html'); - script = doc.getElementById(JUPYTER_CONFIG_ID); - } - return fixRelativeUrls(url, JSON.parse(script.textContent)); -} - -/** - * Fetch a jupyter-lite JSON or Notebook in this folder, which must contain the trailing slash. - */ -export async function getLiteConfig(url, fileName) { - let text = '{}'; - let config = {}; - const liteUrl = `${url || HERE}${fileName}`; - try { - text = await (await window.fetch(liteUrl)).text(); - const json = JSON.parse(text); - const liteConfig = fileName.endsWith('.ipynb') - ? json['metadata']['jupyter-lite'] - : json; - config = liteConfig[JUPYTER_CONFIG_ID] || {}; - } catch (err) { - console.warn(`failed get ${JUPYTER_CONFIG_ID} from ${liteUrl}`); - } - return fixRelativeUrls(url, config); -} - -export function fixRelativeUrls(url, config) { - let urlBase = new URL(url || here()).pathname; - for (const [k, v] of Object.entries(config)) { - config[k] = fixOneRelativeUrl(k, v, url, urlBase); - } - return config; -} - -export function fixOneRelativeUrl(key, value, url, urlBase) { - if (key === 'litePluginSettings' || key === 'settingsOverrides') { - // these are plugin id-keyed objects, fix each plugin - return Object.entries(value || {}).reduce((m, [k, v]) => { - m[k] = fixRelativeUrls(url, v); - return m; - }, {}); - } else if ( - !UNPREFIXED_PATHS.includes(key) && - key.endsWith('Url') && - value.startsWith('./') - ) { - // themesUrls, etc. are joined in code with baseUrl, leave as-is: otherwise, clean - return `${urlBase}${value.slice(2)}`; - } else if (key.endsWith('Urls') && Array.isArray(value)) { - return value.map((v) => (v.startsWith('./') ? `${urlBase}${v.slice(2)}` : v)); - } - return value; -} - -/** - * Update with the as-configured favicon - */ -function addFavicon(config) { - const favicon = document.createElement('link'); - favicon.rel = 'icon'; - favicon.type = 'image/x-icon'; - favicon.href = config.faviconUrl; - document.head.appendChild(favicon); -} - -/** - * The main entry point. - */ -async function main() { - const config = await jupyterConfigData(); - if (config.baseUrl === new URL(here()).pathname) { - window.location.href = config.appUrl.replace(/\/?$/, '/index.html'); - return; - } - // rewrite the config - CONFIG_SCRIPT.textContent = JSON.stringify(config, null, 2); - addFavicon(config); - const preloader = document.getElementById(LITE_MAIN); - const bundle = document.createElement('script'); - bundle.src = preloader.href; - bundle.main = preloader.attributes.main; - document.head.appendChild(bundle); -} - -/** - * TODO: consider better pattern for invocation. - */ -await main(); diff --git a/static/doc/workspaces/index.html b/static/doc/workspaces/index.html deleted file mode 100644 index 9849b72..0000000 --- a/static/doc/workspaces/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json deleted file mode 100644 index 40c68e5..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/install.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "packageManager": "python", - "packageName": "jupyterlab_widgets", - "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package jupyterlab_widgets" -} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json deleted file mode 100644 index 180acbe..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/package.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "name": "@jupyter-widgets/jupyterlab-manager", - "version": "5.0.7", - "description": "The JupyterLab extension providing Jupyter widgets.", - "keywords": [ - "jupyter", - "jupyterlab", - "jupyterlab notebook", - "jupyterlab-extension" - ], - "homepage": "https://github.com/jupyter-widgets/ipywidgets", - "bugs": { - "url": "https://github.com/jupyter-widgets/ipywidgets/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/jupyter-widgets/ipywidgets" - }, - "license": "BSD-3-Clause", - "author": "Project Jupyter", - "sideEffects": [ - "style/*.css" - ], - "main": "lib/index.js", - "types": "lib/index.d.ts", - "files": [ - "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}", - "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}", - "dist/*.js", - "schema/*.json" - ], - "scripts": { - "build": "jlpm build:lib && jlpm build:labextension:dev", - "build:labextension": "jupyter labextension build .", - "build:labextension:dev": "jupyter labextension build --development True .", - "build:lib": "tsc -b", - "build:prod": "jlpm build:lib && jlpm build:labextension", - "clean": "jlpm clean:lib", - "clean:all": "jlpm clean:lib && jlpm clean:labextension", - "clean:labextension": "rimraf labextension", - "clean:lib": "rimraf lib tsconfig.tsbuildinfo", - "eslint": "eslint . --ext .ts,.tsx --fix", - "eslint:check": "eslint . --ext .ts,.tsx", - "install:extension": "jlpm build", - "prepare": "jlpm clean && jlpm build:prod", - "watch": "jupyter labextension watch ." - }, - "dependencies": { - "@jupyter-widgets/base": "^6.0.4", - "@jupyter-widgets/base-manager": "^1.0.5", - "@jupyter-widgets/controls": "^5.0.5", - "@jupyter-widgets/output": "^6.0.4", - "@jupyterlab/application": "^3.0.0", - "@jupyterlab/docregistry": "^3.0.0", - "@jupyterlab/logconsole": "^3.0.0", - "@jupyterlab/mainmenu": "^3.0.0", - "@jupyterlab/nbformat": "^3.0.0", - "@jupyterlab/notebook": "^3.0.0", - "@jupyterlab/outputarea": "^3.0.0", - "@jupyterlab/rendermime": "^3.0.0", - "@jupyterlab/rendermime-interfaces": "^3.0.0", - "@jupyterlab/services": "^6.0.0", - "@jupyterlab/settingregistry": "^3.0.0", - "@jupyterlab/translation": "^3.0.0", - "@lumino/algorithm": "^1.9.1", - "@lumino/coreutils": "^1.11.1", - "@lumino/disposable": "^1.10.1", - "@lumino/properties": "^1.8.1", - "@lumino/signaling": "^1.10.1", - "@lumino/widgets": "^1.30.0", - "@types/backbone": "1.4.14", - "jquery": "^3.1.1", - "semver": "^7.3.5" - }, - "devDependencies": { - "@jupyterlab/builder": "^3.0.0", - "@jupyterlab/cells": "^3.0.0", - "@types/semver": "^7.3.6", - "@typescript-eslint/eslint-plugin": "^5.8.0", - "@typescript-eslint/parser": "^5.8.0", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "npm-run-all": "^4.1.5", - "prettier": "^2.3.2", - "rimraf": "^3.0.2", - "typescript": "~4.9.4" - }, - "jupyterlab": { - "extension": true, - "outputDir": "labextension", - "schemaDir": "./schema", - "_build": { - "load": "static/remoteEntry.35e76720037cafa02724.js", - "extension": "./extension" - } - }, - "gitHead": "80cef4439d02cd4865fcc6e9a00aeef124f95e82" -} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig deleted file mode 100644 index c2a474d..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/package.json.orig +++ /dev/null @@ -1,95 +0,0 @@ -{ - "name": "@jupyter-widgets/jupyterlab-manager", - "version": "5.0.7", - "description": "The JupyterLab extension providing Jupyter widgets.", - "keywords": [ - "jupyter", - "jupyterlab", - "jupyterlab notebook", - "jupyterlab-extension" - ], - "homepage": "https://github.com/jupyter-widgets/ipywidgets", - "bugs": { - "url": "https://github.com/jupyter-widgets/ipywidgets/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/jupyter-widgets/ipywidgets" - }, - "license": "BSD-3-Clause", - "author": "Project Jupyter", - "sideEffects": [ - "style/*.css" - ], - "main": "lib/index.js", - "types": "lib/index.d.ts", - "files": [ - "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}", - "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}", - "dist/*.js", - "schema/*.json" - ], - "scripts": { - "build": "jlpm build:lib && jlpm build:labextension:dev", - "build:labextension": "jupyter labextension build .", - "build:labextension:dev": "jupyter labextension build --development True .", - "build:lib": "tsc -b", - "build:prod": "jlpm build:lib && jlpm build:labextension", - "clean": "jlpm clean:lib", - "clean:all": "jlpm clean:lib && jlpm clean:labextension", - "clean:labextension": "rimraf labextension", - "clean:lib": "rimraf lib tsconfig.tsbuildinfo", - "eslint": "eslint . --ext .ts,.tsx --fix", - "eslint:check": "eslint . --ext .ts,.tsx", - "install:extension": "jlpm build", - "prepare": "jlpm clean && jlpm build:prod", - "watch": "jupyter labextension watch ." - }, - "dependencies": { - "@jupyter-widgets/base": "^6.0.4", - "@jupyter-widgets/base-manager": "^1.0.5", - "@jupyter-widgets/controls": "^5.0.5", - "@jupyter-widgets/output": "^6.0.4", - "@jupyterlab/application": "^3.0.0", - "@jupyterlab/docregistry": "^3.0.0", - "@jupyterlab/logconsole": "^3.0.0", - "@jupyterlab/mainmenu": "^3.0.0", - "@jupyterlab/nbformat": "^3.0.0", - "@jupyterlab/notebook": "^3.0.0", - "@jupyterlab/outputarea": "^3.0.0", - "@jupyterlab/rendermime": "^3.0.0", - "@jupyterlab/rendermime-interfaces": "^3.0.0", - "@jupyterlab/services": "^6.0.0", - "@jupyterlab/settingregistry": "^3.0.0", - "@jupyterlab/translation": "^3.0.0", - "@lumino/algorithm": "^1.9.1", - "@lumino/coreutils": "^1.11.1", - "@lumino/disposable": "^1.10.1", - "@lumino/properties": "^1.8.1", - "@lumino/signaling": "^1.10.1", - "@lumino/widgets": "^1.30.0", - "@types/backbone": "1.4.14", - "jquery": "^3.1.1", - "semver": "^7.3.5" - }, - "devDependencies": { - "@jupyterlab/builder": "^3.0.0", - "@jupyterlab/cells": "^3.0.0", - "@types/semver": "^7.3.6", - "@typescript-eslint/eslint-plugin": "^5.8.0", - "@typescript-eslint/parser": "^5.8.0", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "npm-run-all": "^4.1.5", - "prettier": "^2.3.2", - "rimraf": "^3.0.2", - "typescript": "~4.9.4" - }, - "jupyterlab": { - "extension": true, - "outputDir": "labextension", - "schemaDir": "./schema" - }, - "gitHead": "80cef4439d02cd4865fcc6e9a00aeef124f95e82" -} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json b/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json deleted file mode 100644 index 1c45d80..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/schemas/@jupyter-widgets/jupyterlab-manager/plugin.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "title": "Jupyter Widgets", - "description": "Jupyter widgets settings.", - "additionalProperties": false, - "properties": { - "saveState": { - "type": "boolean", - "title": "Save Jupyter widget state in notebooks", - "description": "Automatically save Jupyter widget state when a notebook is saved.", - "default": false - } - }, - "type": "object" -} diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js deleted file mode 100644 index 0acd648..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 113.270dbb43db912c1b3723.js.LICENSE.txt */ -(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[113],{5766:(t,e)=>{"use strict";e.b$=function(t){var e,r,s=function(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}(t),o=s[0],a=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,a)),c=0,u=a>0?o-4:o;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[c++]=255&e),1===a&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.JQ=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;ac?c:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,a=s.length;o>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},9714:t=>{"use strict";var e=function(t){return function(t){return!!t&&"object"==typeof t}(t)&&!function(t){var e=Object.prototype.toString.call(t);return"[object RegExp]"===e||"[object Date]"===e||function(t){return t.$$typeof===r}(t)}(t)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a((r=t,Array.isArray(r)?[]:{}),t,e):t;var r}function n(t,e,r){return t.concat(e).map((function(t){return i(t,r)}))}function s(t){return Object.keys(t).concat(function(t){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter((function(e){return t.propertyIsEnumerable(e)})):[]}(t))}function o(t,e){try{return e in t}catch(t){return!1}}function a(t,r,l){(l=l||{}).arrayMerge=l.arrayMerge||n,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=i;var c=Array.isArray(r);return c===Array.isArray(t)?c?l.arrayMerge(t,r,l):function(t,e,r){var n={};return r.isMergeableObject(t)&&s(t).forEach((function(e){n[e]=i(t[e],r)})),s(e).forEach((function(s){(function(t,e){return o(t,e)&&!(Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))})(t,s)||(o(t,s)&&r.isMergeableObject(e[s])?n[s]=function(t,e){if(!e.customMerge)return a;var r=e.customMerge(t);return"function"==typeof r?r:a}(s,r)(t[s],e[s],r):n[s]=i(e[s],r))})),n}(t,r,l):i(r,l)}a.all=function(t,e){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce((function(t,r){return a(t,r,e)}),{})};var l=a;t.exports=l},6594:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.attributeNames=e.elementNames=void 0,e.elementNames=new Map([["altglyph","altGlyph"],["altglyphdef","altGlyphDef"],["altglyphitem","altGlyphItem"],["animatecolor","animateColor"],["animatemotion","animateMotion"],["animatetransform","animateTransform"],["clippath","clipPath"],["feblend","feBlend"],["fecolormatrix","feColorMatrix"],["fecomponenttransfer","feComponentTransfer"],["fecomposite","feComposite"],["feconvolvematrix","feConvolveMatrix"],["fediffuselighting","feDiffuseLighting"],["fedisplacementmap","feDisplacementMap"],["fedistantlight","feDistantLight"],["fedropshadow","feDropShadow"],["feflood","feFlood"],["fefunca","feFuncA"],["fefuncb","feFuncB"],["fefuncg","feFuncG"],["fefuncr","feFuncR"],["fegaussianblur","feGaussianBlur"],["feimage","feImage"],["femerge","feMerge"],["femergenode","feMergeNode"],["femorphology","feMorphology"],["feoffset","feOffset"],["fepointlight","fePointLight"],["fespecularlighting","feSpecularLighting"],["fespotlight","feSpotLight"],["fetile","feTile"],["feturbulence","feTurbulence"],["foreignobject","foreignObject"],["glyphref","glyphRef"],["lineargradient","linearGradient"],["radialgradient","radialGradient"],["textpath","textPath"]]),e.attributeNames=new Map([["definitionurl","definitionURL"],["attributename","attributeName"],["attributetype","attributeType"],["basefrequency","baseFrequency"],["baseprofile","baseProfile"],["calcmode","calcMode"],["clippathunits","clipPathUnits"],["diffuseconstant","diffuseConstant"],["edgemode","edgeMode"],["filterunits","filterUnits"],["glyphref","glyphRef"],["gradienttransform","gradientTransform"],["gradientunits","gradientUnits"],["kernelmatrix","kernelMatrix"],["kernelunitlength","kernelUnitLength"],["keypoints","keyPoints"],["keysplines","keySplines"],["keytimes","keyTimes"],["lengthadjust","lengthAdjust"],["limitingconeangle","limitingConeAngle"],["markerheight","markerHeight"],["markerunits","markerUnits"],["markerwidth","markerWidth"],["maskcontentunits","maskContentUnits"],["maskunits","maskUnits"],["numoctaves","numOctaves"],["pathlength","pathLength"],["patterncontentunits","patternContentUnits"],["patterntransform","patternTransform"],["patternunits","patternUnits"],["pointsatx","pointsAtX"],["pointsaty","pointsAtY"],["pointsatz","pointsAtZ"],["preservealpha","preserveAlpha"],["preserveaspectratio","preserveAspectRatio"],["primitiveunits","primitiveUnits"],["refx","refX"],["refy","refY"],["repeatcount","repeatCount"],["repeatdur","repeatDur"],["requiredextensions","requiredExtensions"],["requiredfeatures","requiredFeatures"],["specularconstant","specularConstant"],["specularexponent","specularExponent"],["spreadmethod","spreadMethod"],["startoffset","startOffset"],["stddeviation","stdDeviation"],["stitchtiles","stitchTiles"],["surfacescale","surfaceScale"],["systemlanguage","systemLanguage"],["tablevalues","tableValues"],["targetx","targetX"],["targety","targetY"],["textlength","textLength"],["viewbox","viewBox"],["viewtarget","viewTarget"],["xchannelselector","xChannelSelector"],["ychannelselector","yChannelSelector"],["zoomandpan","zoomAndPan"]])},606:function(t,e,r){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(t){for(var e,r=1,i=arguments.length;r";case a.Comment:return"\x3c!--"+t.data+"--\x3e";case a.CDATA:return function(t){return""}(t);case a.Script:case a.Style:case a.Tag:return function(t,e){var r;"foreign"===e.xmlMode&&(t.name=null!==(r=c.elementNames.get(t.name))&&void 0!==r?r:t.name,t.parent&&f.has(t.parent.name)&&(e=i(i({},e),{xmlMode:!1}))),!e.xmlMode&&m.has(t.name)&&(e=i(i({},e),{xmlMode:"foreign"}));var n="<"+t.name,s=function(t,e){if(t)return Object.keys(t).map((function(r){var i,n,s=null!==(i=t[r])&&void 0!==i?i:"";return"foreign"===e.xmlMode&&(r=null!==(n=c.attributeNames.get(r))&&void 0!==n?n:r),e.emptyAttrs||e.xmlMode||""!==s?r+'="'+(!1!==e.decodeEntities?l.encodeXML(s):s.replace(/"/g,"""))+'"':r})).join(" ")}(t.attribs,e);return s&&(n+=" "+s),0===t.children.length&&(e.xmlMode?!1!==e.selfClosingTags:e.selfClosingTags&&h.has(t.name))?(e.xmlMode||(n+=" "),n+="/>"):(n+=">",t.children.length>0&&(n+=p(t.children,e)),!e.xmlMode&&h.has(t.name)||(n+="")),n}(t,e);case a.Text:return function(t,e){var r=t.data||"";return!1===e.decodeEntities||!e.xmlMode&&t.parent&&u.has(t.parent.name)||(r=l.encodeXML(r)),r}(t,e)}}e.default=p;var f=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),m=new Set(["svg","math"])},4821:(t,e)=>{"use strict";var r;Object.defineProperty(e,"__esModule",{value:!0}),e.Doctype=e.CDATA=e.Tag=e.Style=e.Script=e.Comment=e.Directive=e.Text=e.Root=e.isTag=e.ElementType=void 0,function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(r=e.ElementType||(e.ElementType={})),e.isTag=function(t){return t.type===r.Tag||t.type===r.Script||t.type===r.Style},e.Root=r.Root,e.Text=r.Text,e.Directive=r.Directive,e.Comment=r.Comment,e.Script=r.Script,e.Style=r.Style,e.Tag=r.Tag,e.CDATA=r.CDATA,e.Doctype=r.Doctype},9959:function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(e,r);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,i,n)}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.DomHandler=void 0;var s=r(4821),o=r(5538);n(r(5538),e);var a=/\s+/g,l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},c=function(){function t(t,e,r){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof e&&(r=e,e=l),"object"==typeof t&&(e=t,t=void 0),this.callback=null!=t?t:null,this.options=null!=e?e:l,this.elementCB=null!=r?r:null}return t.prototype.onparserinit=function(t){this.parser=t},t.prototype.onreset=function(){this.dom=[],this.root=new o.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},t.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},t.prototype.onerror=function(t){this.handleCallback(t)},t.prototype.onclosetag=function(){this.lastNode=null;var t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)},t.prototype.onopentag=function(t,e){var r=this.options.xmlMode?s.ElementType.Tag:void 0,i=new o.Element(t,e,void 0,r);this.addNode(i),this.tagStack.push(i)},t.prototype.ontext=function(t){var e=this.options.normalizeWhitespace,r=this.lastNode;if(r&&r.type===s.ElementType.Text)e?r.data=(r.data+t).replace(a," "):r.data+=t,this.options.withEndIndices&&(r.endIndex=this.parser.endIndex);else{e&&(t=t.replace(a," "));var i=new o.Text(t);this.addNode(i),this.lastNode=i}},t.prototype.oncomment=function(t){if(this.lastNode&&this.lastNode.type===s.ElementType.Comment)this.lastNode.data+=t;else{var e=new o.Comment(t);this.addNode(e),this.lastNode=e}},t.prototype.oncommentend=function(){this.lastNode=null},t.prototype.oncdatastart=function(){var t=new o.Text(""),e=new o.NodeWithChildren(s.ElementType.CDATA,[t]);this.addNode(e),t.parent=e,this.lastNode=t},t.prototype.oncdataend=function(){this.lastNode=null},t.prototype.onprocessinginstruction=function(t,e){var r=new o.ProcessingInstruction(t,e);this.addNode(r)},t.prototype.handleCallback=function(t){if("function"==typeof this.callback)this.callback(t,this.dom);else if(t)throw t},t.prototype.addNode=function(t){var e=this.tagStack[this.tagStack.length-1],r=e.children[e.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),e.children.push(t),r&&(t.prev=r,r.next=t),t.parent=e,this.lastNode=null},t}();e.DomHandler=c,e.default=c},5538:function(t,e,r){"use strict";var i,n=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__assign||function(){return s=Object.assign||function(t){for(var e,r=1,i=arguments.length;r0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"childNodes",{get:function(){return this.children},set:function(t){this.children=t},enumerable:!1,configurable:!0}),e}(l);e.NodeWithChildren=d;var f=function(t){function e(e){return t.call(this,o.ElementType.Root,e)||this}return n(e,t),e}(d);e.Document=f;var m=function(t){function e(e,r,i,n){void 0===i&&(i=[]),void 0===n&&(n="script"===e?o.ElementType.Script:"style"===e?o.ElementType.Style:o.ElementType.Tag);var s=t.call(this,n,i)||this;return s.name=e,s.attribs=r,s}return n(e,t),Object.defineProperty(e.prototype,"tagName",{get:function(){return this.name},set:function(t){this.name=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"attributes",{get:function(){var t=this;return Object.keys(this.attribs).map((function(e){var r,i;return{name:e,value:t.attribs[e],namespace:null===(r=t["x-attribsNamespace"])||void 0===r?void 0:r[e],prefix:null===(i=t["x-attribsPrefix"])||void 0===i?void 0:i[e]}}))},enumerable:!1,configurable:!0}),e}(d);function g(t){return(0,o.isTag)(t)}function b(t){return t.type===o.ElementType.CDATA}function y(t){return t.type===o.ElementType.Text}function v(t){return t.type===o.ElementType.Comment}function w(t){return t.type===o.ElementType.Directive}function x(t){return t.type===o.ElementType.Root}function S(t,e){var r;if(void 0===e&&(e=!1),y(t))r=new u(t.data);else if(v(t))r=new h(t.data);else if(g(t)){var i=e?_(t.children):[],n=new m(t.name,s({},t.attribs),i);i.forEach((function(t){return t.parent=n})),null!=t.namespace&&(n.namespace=t.namespace),t["x-attribsNamespace"]&&(n["x-attribsNamespace"]=s({},t["x-attribsNamespace"])),t["x-attribsPrefix"]&&(n["x-attribsPrefix"]=s({},t["x-attribsPrefix"])),r=n}else if(b(t)){i=e?_(t.children):[];var a=new d(o.ElementType.CDATA,i);i.forEach((function(t){return t.parent=a})),r=a}else if(x(t)){i=e?_(t.children):[];var l=new f(i);i.forEach((function(t){return t.parent=l})),t["x-mode"]&&(l["x-mode"]=t["x-mode"]),r=l}else{if(!w(t))throw new Error("Not implemented yet: ".concat(t.type));var c=new p(t.name,t.data);null!=t["x-name"]&&(c["x-name"]=t["x-name"],c["x-publicId"]=t["x-publicId"],c["x-systemId"]=t["x-systemId"]),r=c}return r.startIndex=t.startIndex,r.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(r.sourceCodeLocation=t.sourceCodeLocation),r}function _(t){for(var e=t.map((function(t){return S(t,!0)})),r=1;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFeed=void 0;var i=r(7559),n=r(5310);e.getFeed=function(t){var e=l(h,t);return e?"feed"===e.name?function(t){var e,r=t.children,i={type:"atom",items:(0,n.getElementsByTagName)("entry",r).map((function(t){var e,r=t.children,i={media:a(r)};u(i,"id","id",r),u(i,"title","title",r);var n=null===(e=l("link",r))||void 0===e?void 0:e.attribs.href;n&&(i.link=n);var s=c("summary",r)||c("content",r);s&&(i.description=s);var o=c("updated",r);return o&&(i.pubDate=new Date(o)),i}))};u(i,"id","id",r),u(i,"title","title",r);var s=null===(e=l("link",r))||void 0===e?void 0:e.attribs.href;s&&(i.link=s),u(i,"description","subtitle",r);var o=c("updated",r);return o&&(i.updated=new Date(o)),u(i,"author","email",r,!0),i}(e):function(t){var e,r,i=null!==(r=null===(e=l("channel",t.children))||void 0===e?void 0:e.children)&&void 0!==r?r:[],s={type:t.name.substr(0,3),id:"",items:(0,n.getElementsByTagName)("item",t.children).map((function(t){var e=t.children,r={media:a(e)};u(r,"id","guid",e),u(r,"title","title",e),u(r,"link","link",e),u(r,"description","description",e);var i=c("pubDate",e);return i&&(r.pubDate=new Date(i)),r}))};u(s,"title","title",i),u(s,"link","link",i),u(s,"description","description",i);var o=c("lastBuildDate",i);return o&&(s.updated=new Date(o)),u(s,"author","managingEditor",i,!0),s}(e):null};var s=["url","type","lang"],o=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function a(t){return(0,n.getElementsByTagName)("media:content",t).map((function(t){for(var e=t.attribs,r={medium:e.medium,isDefault:!!e.isDefault},i=0,n=s;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.uniqueSort=e.compareDocumentPosition=e.removeSubsets=void 0;var i=r(9959);function n(t,e){var r=[],n=[];if(t===e)return 0;for(var s=(0,i.hasChildren)(t)?t:t.parent;s;)r.unshift(s),s=s.parent;for(s=(0,i.hasChildren)(e)?e:e.parent;s;)n.unshift(s),s=s.parent;for(var o=Math.min(r.length,n.length),a=0;ac.indexOf(h)?l===e?20:4:l===t?10:2}e.removeSubsets=function(t){for(var e=t.length;--e>=0;){var r=t[e];if(e>0&&t.lastIndexOf(r,e-1)>=0)t.splice(e,1);else for(var i=r.parent;i;i=i.parent)if(t.includes(i)){t.splice(e,1);break}}return t},e.compareDocumentPosition=n,e.uniqueSort=function(t){return(t=t.filter((function(t,e,r){return!r.includes(t,e+1)}))).sort((function(t,e){var r=n(t,e);return 2&r?-1:4&r?1:0})),t}},4622:function(t,e,r){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),n=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||i(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.hasChildren=e.isDocument=e.isComment=e.isText=e.isCDATA=e.isTag=void 0,n(r(7559),e),n(r(6304),e),n(r(7427),e),n(r(7853),e),n(r(5310),e),n(r(2880),e),n(r(7065),e);var s=r(9959);Object.defineProperty(e,"isTag",{enumerable:!0,get:function(){return s.isTag}}),Object.defineProperty(e,"isCDATA",{enumerable:!0,get:function(){return s.isCDATA}}),Object.defineProperty(e,"isText",{enumerable:!0,get:function(){return s.isText}}),Object.defineProperty(e,"isComment",{enumerable:!0,get:function(){return s.isComment}}),Object.defineProperty(e,"isDocument",{enumerable:!0,get:function(){return s.isDocument}}),Object.defineProperty(e,"hasChildren",{enumerable:!0,get:function(){return s.hasChildren}})},5310:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getElementsByTagType=e.getElementsByTagName=e.getElementById=e.getElements=e.testElement=void 0;var i=r(9959),n=r(7853),s={tag_name:function(t){return"function"==typeof t?function(e){return(0,i.isTag)(e)&&t(e.name)}:"*"===t?i.isTag:function(e){return(0,i.isTag)(e)&&e.name===t}},tag_type:function(t){return"function"==typeof t?function(e){return t(e.type)}:function(e){return e.type===t}},tag_contains:function(t){return"function"==typeof t?function(e){return(0,i.isText)(e)&&t(e.data)}:function(e){return(0,i.isText)(e)&&e.data===t}}};function o(t,e){return"function"==typeof e?function(r){return(0,i.isTag)(r)&&e(r.attribs[t])}:function(r){return(0,i.isTag)(r)&&r.attribs[t]===e}}function a(t,e){return function(r){return t(r)||e(r)}}function l(t){var e=Object.keys(t).map((function(e){var r=t[e];return Object.prototype.hasOwnProperty.call(s,e)?s[e](r):o(e,r)}));return 0===e.length?null:e.reduce(a)}e.testElement=function(t,e){var r=l(t);return!r||r(e)},e.getElements=function(t,e,r,i){void 0===i&&(i=1/0);var s=l(t);return s?(0,n.filter)(s,e,r,i):[]},e.getElementById=function(t,e,r){return void 0===r&&(r=!0),Array.isArray(e)||(e=[e]),(0,n.findOne)(o("id",t),e,r)},e.getElementsByTagName=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),(0,n.filter)(s.tag_name(t),e,r,i)},e.getElementsByTagType=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),(0,n.filter)(s.tag_type(t),e,r,i)}},7427:(t,e)=>{"use strict";function r(t){if(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.parent){var e=t.parent.children;e.splice(e.lastIndexOf(t),1)}}Object.defineProperty(e,"__esModule",{value:!0}),e.prepend=e.prependChild=e.append=e.appendChild=e.replaceElement=e.removeElement=void 0,e.removeElement=r,e.replaceElement=function(t,e){var r=e.prev=t.prev;r&&(r.next=e);var i=e.next=t.next;i&&(i.prev=e);var n=e.parent=t.parent;if(n){var s=n.children;s[s.lastIndexOf(t)]=e}},e.appendChild=function(t,e){if(r(e),e.next=null,e.parent=t,t.children.push(e)>1){var i=t.children[t.children.length-2];i.next=e,e.prev=i}else e.prev=null},e.append=function(t,e){r(e);var i=t.parent,n=t.next;if(e.next=n,e.prev=t,t.next=e,e.parent=i,n){if(n.prev=e,i){var s=i.children;s.splice(s.lastIndexOf(n),0,e)}}else i&&i.children.push(e)},e.prependChild=function(t,e){if(r(e),e.parent=t,e.prev=null,1!==t.children.unshift(e)){var i=t.children[1];i.prev=e,e.next=i}else e.next=null},e.prepend=function(t,e){r(e);var i=t.parent;if(i){var n=i.children;n.splice(n.indexOf(t),0,e)}t.prev&&(t.prev.next=e),e.parent=i,e.prev=t.prev,e.next=t,t.prev=e}},7853:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.findAll=e.existsOne=e.findOne=e.findOneChild=e.find=e.filter=void 0;var i=r(9959);function n(t,e,r,s){for(var o=[],a=0,l=e;a0){var u=n(t,c.children,r,s);if(o.push.apply(o,u),(s-=u.length)<=0)break}}return o}e.filter=function(t,e,r,i){return void 0===r&&(r=!0),void 0===i&&(i=1/0),Array.isArray(e)||(e=[e]),n(t,e,r,i)},e.find=n,e.findOneChild=function(t,e){return e.find(t)},e.findOne=function t(e,r,n){void 0===n&&(n=!0);for(var s=null,o=0;o0&&(s=t(e,a.children)))}return s},e.existsOne=function t(e,r){return r.some((function(r){return(0,i.isTag)(r)&&(e(r)||r.children.length>0&&t(e,r.children))}))},e.findAll=function(t,e){for(var r,n,s=[],o=e.filter(i.isTag);n=o.shift();){var a=null===(r=n.children)||void 0===r?void 0:r.filter(i.isTag);a&&a.length>0&&o.unshift.apply(o,a),t(n)&&s.push(n)}return s}},7559:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.innerText=e.textContent=e.getText=e.getInnerHTML=e.getOuterHTML=void 0;var n=r(9959),s=i(r(606)),o=r(4821);function a(t,e){return(0,s.default)(t,e)}e.getOuterHTML=a,e.getInnerHTML=function(t,e){return(0,n.hasChildren)(t)?t.children.map((function(t){return a(t,e)})).join(""):""},e.getText=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.isTag)(e)?"br"===e.name?"\n":t(e.children):(0,n.isCDATA)(e)?t(e.children):(0,n.isText)(e)?e.data:""},e.textContent=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.hasChildren)(e)&&!(0,n.isComment)(e)?t(e.children):(0,n.isText)(e)?e.data:""},e.innerText=function t(e){return Array.isArray(e)?e.map(t).join(""):(0,n.hasChildren)(e)&&(e.type===o.ElementType.Tag||(0,n.isCDATA)(e))?t(e.children):(0,n.isText)(e)?e.data:""}},6304:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.prevElementSibling=e.nextElementSibling=e.getName=e.hasAttrib=e.getAttributeValue=e.getSiblings=e.getParent=e.getChildren=void 0;var i=r(9959),n=[];function s(t){var e;return null!==(e=t.children)&&void 0!==e?e:n}function o(t){return t.parent||null}e.getChildren=s,e.getParent=o,e.getSiblings=function(t){var e=o(t);if(null!=e)return s(e);for(var r=[t],i=t.prev,n=t.next;null!=i;)r.unshift(i),i=i.prev;for(;null!=n;)r.push(n),n=n.next;return r},e.getAttributeValue=function(t,e){var r;return null===(r=t.attribs)||void 0===r?void 0:r[e]},e.hasAttrib=function(t,e){return null!=t.attribs&&Object.prototype.hasOwnProperty.call(t.attribs,e)&&null!=t.attribs[e]},e.getName=function(t){return t.name},e.nextElementSibling=function(t){for(var e=t.next;null!==e&&!(0,i.isTag)(e);)e=e.next;return e},e.prevElementSibling=function(t){for(var e=t.prev;null!==e&&!(0,i.isTag)(e);)e=e.prev;return e}},3094:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.decodeHTML=e.decodeHTMLStrict=e.decodeXML=void 0;var n=i(r(2059)),s=i(r(2184)),o=i(r(1542)),a=i(r(105)),l=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;function c(t){var e=h(t);return function(t){return String(t).replace(l,e)}}e.decodeXML=c(o.default),e.decodeHTMLStrict=c(n.default);var u=function(t,e){return t65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+String.fromCharCode(t)};e.default=function(t){return t>=55296&&t<=57343||t>1114111?"�":(t in n.default&&(t=n.default[t]),s(t))}},1029:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=void 0;var n=u(i(r(1542)).default),s=h(n);e.encodeXML=g(n);var o,a,l=u(i(r(2059)).default),c=h(l);function u(t){return Object.keys(t).sort().reduce((function(e,r){return e[t[r]]="&"+r+";",e}),{})}function h(t){for(var e=[],r=[],i=0,n=Object.keys(t);i1?d(t):t.charCodeAt(0)).toString(16).toUpperCase()+";"}var m=new RegExp(s.source+"|"+p.source,"g");function g(t){return function(e){return e.replace(m,(function(e){return t[e]||f(e)}))}}e.escape=function(t){return t.replace(m,f)},e.escapeUTF8=function(t){return t.replace(s,f)}},5924:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeXMLStrict=e.decodeHTML5Strict=e.decodeHTML4Strict=e.decodeHTML5=e.decodeHTML4=e.decodeHTMLStrict=e.decodeHTML=e.decodeXML=e.encodeHTML5=e.encodeHTML4=e.escapeUTF8=e.escape=e.encodeNonAsciiHTML=e.encodeHTML=e.encodeXML=e.encode=e.decodeStrict=e.decode=void 0;var i=r(3094),n=r(1029);e.decode=function(t,e){return(!e||e<=0?i.decodeXML:i.decodeHTML)(t)},e.decodeStrict=function(t,e){return(!e||e<=0?i.decodeXML:i.decodeHTMLStrict)(t)},e.encode=function(t,e){return(!e||e<=0?n.encodeXML:n.encodeHTML)(t)};var s=r(1029);Object.defineProperty(e,"encodeXML",{enumerable:!0,get:function(){return s.encodeXML}}),Object.defineProperty(e,"encodeHTML",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(e,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return s.encodeNonAsciiHTML}}),Object.defineProperty(e,"escape",{enumerable:!0,get:function(){return s.escape}}),Object.defineProperty(e,"escapeUTF8",{enumerable:!0,get:function(){return s.escapeUTF8}}),Object.defineProperty(e,"encodeHTML4",{enumerable:!0,get:function(){return s.encodeHTML}}),Object.defineProperty(e,"encodeHTML5",{enumerable:!0,get:function(){return s.encodeHTML}});var o=r(3094);Object.defineProperty(e,"decodeXML",{enumerable:!0,get:function(){return o.decodeXML}}),Object.defineProperty(e,"decodeHTML",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTMLStrict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML4",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTML5",{enumerable:!0,get:function(){return o.decodeHTML}}),Object.defineProperty(e,"decodeHTML4Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeHTML5Strict",{enumerable:!0,get:function(){return o.decodeHTMLStrict}}),Object.defineProperty(e,"decodeXMLStrict",{enumerable:!0,get:function(){return o.decodeXML}})},4163:function(t,e,r){"use strict";var i,n=this&&this.__extends||(i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},i(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=this&&this.__createBinding||(Object.create?function(t,e,r,i){void 0===i&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){void 0===i&&(i=r),t[i]=e[r]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)"default"!==r&&Object.prototype.hasOwnProperty.call(t,r)&&s(e,t,r);return o(e,t),e},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.parseFeed=e.FeedHandler=void 0;var c,u,h=l(r(9959)),p=a(r(4622)),d=r(5233);!function(t){t[t.image=0]="image",t[t.audio=1]="audio",t[t.video=2]="video",t[t.document=3]="document",t[t.executable=4]="executable"}(c||(c={})),function(t){t[t.sample=0]="sample",t[t.full=1]="full",t[t.nonstop=2]="nonstop"}(u||(u={}));var f=function(t){function e(e,r){return"object"==typeof e&&(r=e=void 0),t.call(this,e,r)||this}return n(e,t),e.prototype.onend=function(){var t,e,r=b(x,this.dom);if(r){var i={};if("feed"===r.name){var n=r.children;i.type="atom",w(i,"id","id",n),w(i,"title","title",n);var s=v("href",b("link",n));s&&(i.link=s),w(i,"description","subtitle",n),(o=y("updated",n))&&(i.updated=new Date(o)),w(i,"author","email",n,!0),i.items=g("entry",n).map((function(t){var e={},r=t.children;w(e,"id","id",r),w(e,"title","title",r);var i=v("href",b("link",r));i&&(e.link=i);var n=y("summary",r)||y("content",r);n&&(e.description=n);var s=y("updated",r);return s&&(e.pubDate=new Date(s)),e.media=m(r),e}))}else{var o;n=null!==(e=null===(t=b("channel",r.children))||void 0===t?void 0:t.children)&&void 0!==e?e:[],i.type=r.name.substr(0,3),i.id="",w(i,"title","title",n),w(i,"link","link",n),w(i,"description","description",n),(o=y("lastBuildDate",n))&&(i.updated=new Date(o)),w(i,"author","managingEditor",n,!0),i.items=g("item",r.children).map((function(t){var e={},r=t.children;w(e,"id","guid",r),w(e,"title","title",r),w(e,"link","link",r),w(e,"description","description",r);var i=y("pubDate",r);return i&&(e.pubDate=new Date(i)),e.media=m(r),e}))}this.feed=i,this.handleCallback(null)}else this.handleCallback(new Error("couldn't find root of feed"))},e}(h.default);function m(t){return g("media:content",t).map((function(t){var e={medium:t.attribs.medium,isDefault:!!t.attribs.isDefault};return t.attribs.url&&(e.url=t.attribs.url),t.attribs.fileSize&&(e.fileSize=parseInt(t.attribs.fileSize,10)),t.attribs.type&&(e.type=t.attribs.type),t.attribs.expression&&(e.expression=t.attribs.expression),t.attribs.bitrate&&(e.bitrate=parseInt(t.attribs.bitrate,10)),t.attribs.framerate&&(e.framerate=parseInt(t.attribs.framerate,10)),t.attribs.samplingrate&&(e.samplingrate=parseInt(t.attribs.samplingrate,10)),t.attribs.channels&&(e.channels=parseInt(t.attribs.channels,10)),t.attribs.duration&&(e.duration=parseInt(t.attribs.duration,10)),t.attribs.height&&(e.height=parseInt(t.attribs.height,10)),t.attribs.width&&(e.width=parseInt(t.attribs.width,10)),t.attribs.lang&&(e.lang=t.attribs.lang),e}))}function g(t,e){return p.getElementsByTagName(t,e,!0)}function b(t,e){return p.getElementsByTagName(t,e,!0,1)[0]}function y(t,e,r){return void 0===r&&(r=!1),p.getText(p.getElementsByTagName(t,e,r,1)).trim()}function v(t,e){return e?e.attribs[t]:null}function w(t,e,r,i,n){void 0===n&&(n=!1);var s=y(r,i,n);s&&(t[e]=s)}function x(t){return"rss"===t||"feed"===t||"rdf:RDF"===t}e.FeedHandler=f,e.parseFeed=function(t,e){void 0===e&&(e={xmlMode:!0});var r=new f(e);return new d.Parser(r,e).end(t),r.feed}},5233:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Parser=void 0;var n=i(r(9636)),s=new Set(["input","option","optgroup","select","button","datalist","textarea"]),o=new Set(["p"]),a={tr:new Set(["tr","th","td"]),th:new Set(["th"]),td:new Set(["thead","th","td"]),body:new Set(["head","link","script"]),li:new Set(["li"]),p:o,h1:o,h2:o,h3:o,h4:o,h5:o,h6:o,select:s,input:s,output:s,button:s,datalist:s,textarea:s,option:new Set(["option"]),optgroup:new Set(["optgroup","option"]),dd:new Set(["dt","dd"]),dt:new Set(["dt","dd"]),address:o,article:o,aside:o,blockquote:o,details:o,div:o,dl:o,fieldset:o,figcaption:o,figure:o,footer:o,form:o,header:o,hr:o,main:o,nav:o,ol:o,pre:o,section:o,table:o,ul:o,rt:new Set(["rt","rp"]),rp:new Set(["rt","rp"]),tbody:new Set(["thead","tbody"]),tfoot:new Set(["thead","tbody"])},l=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),c=new Set(["math","svg"]),u=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),h=/\s|\//,p=function(){function t(t,e){var r,i,s,o,a;void 0===e&&(e={}),this.startIndex=0,this.endIndex=null,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.options=e,this.cbs=null!=t?t:{},this.lowerCaseTagNames=null!==(r=e.lowerCaseTags)&&void 0!==r?r:!e.xmlMode,this.lowerCaseAttributeNames=null!==(i=e.lowerCaseAttributeNames)&&void 0!==i?i:!e.xmlMode,this.tokenizer=new(null!==(s=e.Tokenizer)&&void 0!==s?s:n.default)(this.options,this),null===(a=(o=this.cbs).onparserinit)||void 0===a||a.call(o,this)}return t.prototype.updatePosition=function(t){null===this.endIndex?this.tokenizer.sectionStart<=t?this.startIndex=0:this.startIndex=this.tokenizer.sectionStart-t:this.startIndex=this.endIndex+1,this.endIndex=this.tokenizer.getAbsoluteIndex()},t.prototype.ontext=function(t){var e,r;this.updatePosition(1),this.endIndex--,null===(r=(e=this.cbs).ontext)||void 0===r||r.call(e,t)},t.prototype.onopentagname=function(t){var e,r;if(this.lowerCaseTagNames&&(t=t.toLowerCase()),this.tagname=t,!this.options.xmlMode&&Object.prototype.hasOwnProperty.call(a,t))for(var i=void 0;this.stack.length>0&&a[t].has(i=this.stack[this.stack.length-1]);)this.onclosetag(i);!this.options.xmlMode&&l.has(t)||(this.stack.push(t),c.has(t)?this.foreignContext.push(!0):u.has(t)&&this.foreignContext.push(!1)),null===(r=(e=this.cbs).onopentagname)||void 0===r||r.call(e,t),this.cbs.onopentag&&(this.attribs={})},t.prototype.onopentagend=function(){var t,e;this.updatePosition(1),this.attribs&&(null===(e=(t=this.cbs).onopentag)||void 0===e||e.call(t,this.tagname,this.attribs),this.attribs=null),!this.options.xmlMode&&this.cbs.onclosetag&&l.has(this.tagname)&&this.cbs.onclosetag(this.tagname),this.tagname=""},t.prototype.onclosetag=function(t){if(this.updatePosition(1),this.lowerCaseTagNames&&(t=t.toLowerCase()),(c.has(t)||u.has(t))&&this.foreignContext.pop(),!this.stack.length||!this.options.xmlMode&&l.has(t))this.options.xmlMode||"br"!==t&&"p"!==t||(this.onopentagname(t),this.closeCurrentTag());else{var e=this.stack.lastIndexOf(t);if(-1!==e)if(this.cbs.onclosetag)for(e=this.stack.length-e;e--;)this.cbs.onclosetag(this.stack.pop());else this.stack.length=e;else"p"!==t||this.options.xmlMode||(this.onopentagname(t),this.closeCurrentTag())}},t.prototype.onselfclosingtag=function(){this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?this.closeCurrentTag():this.onopentagend()},t.prototype.closeCurrentTag=function(){var t,e,r=this.tagname;this.onopentagend(),this.stack[this.stack.length-1]===r&&(null===(e=(t=this.cbs).onclosetag)||void 0===e||e.call(t,r),this.stack.pop())},t.prototype.onattribname=function(t){this.lowerCaseAttributeNames&&(t=t.toLowerCase()),this.attribname=t},t.prototype.onattribdata=function(t){this.attribvalue+=t},t.prototype.onattribend=function(t){var e,r;null===(r=(e=this.cbs).onattribute)||void 0===r||r.call(e,this.attribname,this.attribvalue,t),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribname="",this.attribvalue=""},t.prototype.getInstructionName=function(t){var e=t.search(h),r=e<0?t:t.substr(0,e);return this.lowerCaseTagNames&&(r=r.toLowerCase()),r},t.prototype.ondeclaration=function(t){if(this.cbs.onprocessinginstruction){var e=this.getInstructionName(t);this.cbs.onprocessinginstruction("!"+e,"!"+t)}},t.prototype.onprocessinginstruction=function(t){if(this.cbs.onprocessinginstruction){var e=this.getInstructionName(t);this.cbs.onprocessinginstruction("?"+e,"?"+t)}},t.prototype.oncomment=function(t){var e,r,i,n;this.updatePosition(4),null===(r=(e=this.cbs).oncomment)||void 0===r||r.call(e,t),null===(n=(i=this.cbs).oncommentend)||void 0===n||n.call(i)},t.prototype.oncdata=function(t){var e,r,i,n,s,o;this.updatePosition(1),this.options.xmlMode||this.options.recognizeCDATA?(null===(r=(e=this.cbs).oncdatastart)||void 0===r||r.call(e),null===(n=(i=this.cbs).ontext)||void 0===n||n.call(i,t),null===(o=(s=this.cbs).oncdataend)||void 0===o||o.call(s)):this.oncomment("[CDATA["+t+"]]")},t.prototype.onerror=function(t){var e,r;null===(r=(e=this.cbs).onerror)||void 0===r||r.call(e,t)},t.prototype.onend=function(){var t,e;if(this.cbs.onclosetag)for(var r=this.stack.length;r>0;this.cbs.onclosetag(this.stack[--r]));null===(e=(t=this.cbs).onend)||void 0===e||e.call(t)},t.prototype.reset=function(){var t,e,r,i;null===(e=(t=this.cbs).onreset)||void 0===e||e.call(t),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack=[],null===(i=(r=this.cbs).onparserinit)||void 0===i||i.call(r,this)},t.prototype.parseComplete=function(t){this.reset(),this.end(t)},t.prototype.write=function(t){this.tokenizer.write(t)},t.prototype.end=function(t){this.tokenizer.end(t)},t.prototype.pause=function(){this.tokenizer.pause()},t.prototype.resume=function(){this.tokenizer.resume()},t.prototype.parseChunk=function(t){this.write(t)},t.prototype.done=function(t){this.end(t)},t}();e.Parser=p},9636:function(t,e,r){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var n=i(r(105)),s=i(r(2059)),o=i(r(2184)),a=i(r(1542));function l(t){return" "===t||"\n"===t||"\t"===t||"\f"===t||"\r"===t}function c(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"}function u(t,e,r){var i=t.toLowerCase();return t===i?function(t,n){n===i?t._state=e:(t._state=r,t._index--)}:function(n,s){s===i||s===t?n._state=e:(n._state=r,n._index--)}}function h(t,e){var r=t.toLowerCase();return function(i,n){n===r||n===t?i._state=e:(i._state=3,i._index--)}}var p=u("C",24,16),d=u("D",25,16),f=u("A",26,16),m=u("T",27,16),g=u("A",28,16),b=h("R",35),y=h("I",36),v=h("P",37),w=h("T",38),x=u("R",40,1),S=u("I",41,1),_=u("P",42,1),T=u("T",43,1),C=h("Y",45),O=h("L",46),k=h("E",47),A=u("Y",49,1),E=u("L",50,1),D=u("E",51,1),P=h("I",54),L=h("T",55),M=h("L",56),q=h("E",57),N=u("I",58,1),j=u("T",59,1),I=u("L",60,1),R=u("E",61,1),B=u("#",63,64),U=u("X",66,65),F=function(){function t(t,e){var r;this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1,this.cbs=e,this.xmlMode=!!(null==t?void 0:t.xmlMode),this.decodeEntities=null===(r=null==t?void 0:t.decodeEntities)||void 0===r||r}return t.prototype.reset=function(){this._state=1,this.buffer="",this.sectionStart=0,this._index=0,this.bufferOffset=0,this.baseState=1,this.special=1,this.running=!0,this.ended=!1},t.prototype.write=function(t){this.ended&&this.cbs.onerror(Error(".write() after done!")),this.buffer+=t,this.parse()},t.prototype.end=function(t){this.ended&&this.cbs.onerror(Error(".end() after done!")),t&&this.write(t),this.ended=!0,this.running&&this.finish()},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.running=!0,this._indexthis.sectionStart&&this.cbs.ontext(this.getSection()),this._state=2,this.sectionStart=this._index):!this.decodeEntities||"&"!==t||1!==this.special&&4!==this.special||(this._index>this.sectionStart&&this.cbs.ontext(this.getSection()),this.baseState=1,this._state=62,this.sectionStart=this._index)},t.prototype.isTagStartChar=function(t){return c(t)||this.xmlMode&&!l(t)&&"/"!==t&&">"!==t},t.prototype.stateBeforeTagName=function(t){"/"===t?this._state=5:"<"===t?(this.cbs.ontext(this.getSection()),this.sectionStart=this._index):">"===t||1!==this.special||l(t)?this._state=1:"!"===t?(this._state=15,this.sectionStart=this._index+1):"?"===t?(this._state=17,this.sectionStart=this._index+1):this.isTagStartChar(t)?(this._state=this.xmlMode||"s"!==t&&"S"!==t?this.xmlMode||"t"!==t&&"T"!==t?3:52:32,this.sectionStart=this._index):this._state=1},t.prototype.stateInTagName=function(t){("/"===t||">"===t||l(t))&&(this.emitToken("onopentagname"),this._state=8,this._index--)},t.prototype.stateBeforeClosingTagName=function(t){l(t)||(">"===t?this._state=1:1!==this.special?4===this.special||"s"!==t&&"S"!==t?4!==this.special||"t"!==t&&"T"!==t?(this._state=1,this._index--):this._state=53:this._state=33:this.isTagStartChar(t)?(this._state=6,this.sectionStart=this._index):(this._state=20,this.sectionStart=this._index))},t.prototype.stateInClosingTagName=function(t){(">"===t||l(t))&&(this.emitToken("onclosetag"),this._state=7,this._index--)},t.prototype.stateAfterClosingTagName=function(t){">"===t&&(this._state=1,this.sectionStart=this._index+1)},t.prototype.stateBeforeAttributeName=function(t){">"===t?(this.cbs.onopentagend(),this._state=1,this.sectionStart=this._index+1):"/"===t?this._state=4:l(t)||(this._state=9,this.sectionStart=this._index)},t.prototype.stateInSelfClosingTag=function(t){">"===t?(this.cbs.onselfclosingtag(),this._state=1,this.sectionStart=this._index+1,this.special=1):l(t)||(this._state=8,this._index--)},t.prototype.stateInAttributeName=function(t){("="===t||"/"===t||">"===t||l(t))&&(this.cbs.onattribname(this.getSection()),this.sectionStart=-1,this._state=10,this._index--)},t.prototype.stateAfterAttributeName=function(t){"="===t?this._state=11:"/"===t||">"===t?(this.cbs.onattribend(void 0),this._state=8,this._index--):l(t)||(this.cbs.onattribend(void 0),this._state=9,this.sectionStart=this._index)},t.prototype.stateBeforeAttributeValue=function(t){'"'===t?(this._state=12,this.sectionStart=this._index+1):"'"===t?(this._state=13,this.sectionStart=this._index+1):l(t)||(this._state=14,this.sectionStart=this._index,this._index--)},t.prototype.handleInAttributeValue=function(t,e){t===e?(this.emitToken("onattribdata"),this.cbs.onattribend(e),this._state=8):this.decodeEntities&&"&"===t&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},t.prototype.stateInAttributeValueDoubleQuotes=function(t){this.handleInAttributeValue(t,'"')},t.prototype.stateInAttributeValueSingleQuotes=function(t){this.handleInAttributeValue(t,"'")},t.prototype.stateInAttributeValueNoQuotes=function(t){l(t)||">"===t?(this.emitToken("onattribdata"),this.cbs.onattribend(null),this._state=8,this._index--):this.decodeEntities&&"&"===t&&(this.emitToken("onattribdata"),this.baseState=this._state,this._state=62,this.sectionStart=this._index)},t.prototype.stateBeforeDeclaration=function(t){this._state="["===t?23:"-"===t?18:16},t.prototype.stateInDeclaration=function(t){">"===t&&(this.cbs.ondeclaration(this.getSection()),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateInProcessingInstruction=function(t){">"===t&&(this.cbs.onprocessinginstruction(this.getSection()),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateBeforeComment=function(t){"-"===t?(this._state=19,this.sectionStart=this._index+1):this._state=16},t.prototype.stateInComment=function(t){"-"===t&&(this._state=21)},t.prototype.stateInSpecialComment=function(t){">"===t&&(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index)),this._state=1,this.sectionStart=this._index+1)},t.prototype.stateAfterComment1=function(t){this._state="-"===t?22:19},t.prototype.stateAfterComment2=function(t){">"===t?(this.cbs.oncomment(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"-"!==t&&(this._state=19)},t.prototype.stateBeforeCdata6=function(t){"["===t?(this._state=29,this.sectionStart=this._index+1):(this._state=16,this._index--)},t.prototype.stateInCdata=function(t){"]"===t&&(this._state=30)},t.prototype.stateAfterCdata1=function(t){this._state="]"===t?31:29},t.prototype.stateAfterCdata2=function(t){">"===t?(this.cbs.oncdata(this.buffer.substring(this.sectionStart,this._index-2)),this._state=1,this.sectionStart=this._index+1):"]"!==t&&(this._state=29)},t.prototype.stateBeforeSpecialS=function(t){"c"===t||"C"===t?this._state=34:"t"===t||"T"===t?this._state=44:(this._state=3,this._index--)},t.prototype.stateBeforeSpecialSEnd=function(t){2!==this.special||"c"!==t&&"C"!==t?3!==this.special||"t"!==t&&"T"!==t?this._state=1:this._state=48:this._state=39},t.prototype.stateBeforeSpecialLast=function(t,e){("/"===t||">"===t||l(t))&&(this.special=e),this._state=3,this._index--},t.prototype.stateAfterSpecialLast=function(t,e){">"===t||l(t)?(this.special=1,this._state=6,this.sectionStart=this._index-e,this._index--):this._state=1},t.prototype.parseFixedEntity=function(t){if(void 0===t&&(t=this.xmlMode?a.default:s.default),this.sectionStart+1=2;){var r=this.buffer.substr(t,e);if(Object.prototype.hasOwnProperty.call(o.default,r))return this.emitPartial(o.default[r]),void(this.sectionStart+=e+1);e--}},t.prototype.stateInNamedEntity=function(t){";"===t?(this.parseFixedEntity(),1===this.baseState&&this.sectionStart+1"9")&&!c(t)&&(this.xmlMode||this.sectionStart+1===this._index||(1!==this.baseState?"="!==t&&this.parseFixedEntity(o.default):this.parseLegacyEntity()),this._state=this.baseState,this._index--)},t.prototype.decodeNumericEntity=function(t,e,r){var i=this.sectionStart+t;if(i!==this._index){var s=this.buffer.substring(i,this._index),o=parseInt(s,e);this.emitPartial(n.default(o)),this.sectionStart=r?this._index+1:this._index}this._state=this.baseState},t.prototype.stateInNumericEntity=function(t){";"===t?this.decodeNumericEntity(2,10,!0):(t<"0"||t>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(2,10,!1),this._index--)},t.prototype.stateInHexEntity=function(t){";"===t?this.decodeNumericEntity(3,16,!0):(t<"a"||t>"f")&&(t<"A"||t>"F")&&(t<"0"||t>"9")&&(this.xmlMode?this._state=this.baseState:this.decodeNumericEntity(3,16,!1),this._index--)},t.prototype.cleanup=function(){this.sectionStart<0?(this.buffer="",this.bufferOffset+=this._index,this._index=0):this.running&&(1===this._state?(this.sectionStart!==this._index&&this.cbs.ontext(this.buffer.substr(this.sectionStart)),this.buffer="",this.bufferOffset+=this._index,this._index=0):this.sectionStart===this._index?(this.buffer="",this.bufferOffset+=this._index,this._index=0):(this.buffer=this.buffer.substr(this.sectionStart),this._index-=this.sectionStart,this.bufferOffset+=this.sectionStart),this.sectionStart=0)},t.prototype.parse=function(){for(;this._index{"use strict";function r(t){return"[object Object]"===Object.prototype.toString.call(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPlainObject=function(t){var e,i;return!1!==r(t)&&(void 0===(e=t.constructor)||!1!==r(i=e.prototype)&&!1!==i.hasOwnProperty("isPrototypeOf"))}},8915:function(t,e){var r,i;void 0===(i="function"==typeof(r=function(){return function(t){function e(t){return" "===t||"\t"===t||"\n"===t||"\f"===t||"\r"===t}function r(e){var r,i=e.exec(t.substring(m));if(i)return r=i[0],m+=r.length,r}for(var i,n,s,o,a,l=t.length,c=/^[ \t\n\r\u000c]+/,u=/^[, \t\n\r\u000c]+/,h=/^[^ \t\n\r\u000c]+/,p=/[,]+$/,d=/^\d+$/,f=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,m=0,g=[];;){if(r(u),m>=l)return g;i=r(h),n=[],","===i.slice(-1)?(i=i.replace(p,""),y()):b()}function b(){for(r(c),s="",o="in descriptor";;){if(a=t.charAt(m),"in descriptor"===o)if(e(a))s&&(n.push(s),s="",o="after descriptor");else{if(","===a)return m+=1,s&&n.push(s),void y();if("("===a)s+=a,o="in parens";else{if(""===a)return s&&n.push(s),void y();s+=a}}else if("in parens"===o)if(")"===a)s+=a,o="in descriptor";else{if(""===a)return n.push(s),void y();s+=a}else if("after descriptor"===o)if(e(a));else{if(""===a)return void y();o="in descriptor",m-=1}m+=1}}function y(){var e,r,s,o,a,l,c,u,h,p=!1,m={};for(o=0;o{var e=String,r=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};t.exports=r(),t.exports.createColors=r},4406:t=>{var e,r,i=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,l=[],c=!1,u=-1;function h(){c&&a&&(c=!1,a.length?l=a.concat(l):u=-1,l.length&&p())}function p(){if(!c){var t=o(h);c=!0;for(var e=l.length;e;){for(a=l,l=[];++u1)for(var r=1;r{const i=r(883),n=r(5555),{isPlainObject:s}=r(303),o=r(9714),a=r(8915),{parse:l}=r(9719),c=["img","audio","video","picture","svg","object","map","iframe","embed"],u=["script","style"];function h(t,e){t&&Object.keys(t).forEach((function(r){e(t[r],r)}))}function p(t,e){return{}.hasOwnProperty.call(t,e)}function d(t,e){const r=[];return h(t,(function(t){e(t)&&r.push(t)})),r}t.exports=m;const f=/^[^\0\t\n\f\r /<=>]+$/;function m(t,e,r){if(null==t)return"";let b="",y="";function v(t,e){const r=this;this.tag=t,this.attribs=e||{},this.tagPosition=b.length,this.text="",this.mediaChildren=[],this.updateParentNodeText=function(){E.length&&(E[E.length-1].text+=r.text)},this.updateParentNodeMediaChildren=function(){E.length&&c.includes(this.tag)&&E[E.length-1].mediaChildren.push(this.tag)}}(e=Object.assign({},m.defaults,e)).parser=Object.assign({},g,e.parser),u.forEach((function(t){!1!==e.allowedTags&&(e.allowedTags||[]).indexOf(t)>-1&&!e.allowVulnerableTags&&console.warn(`\n\n⚠️ Your \`allowedTags\` option includes, \`${t}\`, which is inherently\nvulnerable to XSS attacks. Please remove it from \`allowedTags\`.\nOr, to disable this warning, add the \`allowVulnerableTags\` option\nand ensure you are accounting for this risk.\n\n`)}));const w=e.nonTextTags||["script","style","textarea","option"];let x,S;e.allowedAttributes&&(x={},S={},h(e.allowedAttributes,(function(t,e){x[e]=[];const r=[];t.forEach((function(t){"string"==typeof t&&t.indexOf("*")>=0?r.push(n(t).replace(/\\\*/g,".*")):x[e].push(t)})),r.length&&(S[e]=new RegExp("^("+r.join("|")+")$"))})));const _={},T={},C={};h(e.allowedClasses,(function(t,e){x&&(p(x,e)||(x[e]=[]),x[e].push("class")),_[e]=[],C[e]=[];const r=[];t.forEach((function(t){"string"==typeof t&&t.indexOf("*")>=0?r.push(n(t).replace(/\\\*/g,".*")):t instanceof RegExp?C[e].push(t):_[e].push(t)})),r.length&&(T[e]=new RegExp("^("+r.join("|")+")$"))}));const O={};let k,A,E,D,P,L,M;h(e.transformTags,(function(t,e){let r;"function"==typeof t?r=t:"string"==typeof t&&(r=m.simpleTransform(t)),"*"===e?k=r:O[e]=r}));let q=!1;j();const N=new i.Parser({onopentag:function(t,r){if(e.enforceHtmlBoundary&&"html"===t&&j(),L)return void M++;const i=new v(t,r);E.push(i);let n=!1;const c=!!i.text;let u;if(p(O,t)&&(u=O[t](t,r),i.attribs=r=u.attribs,void 0!==u.text&&(i.innerText=u.text),t!==u.tagName&&(i.name=t=u.tagName,P[A]=u.tagName)),k&&(u=k(t,r),i.attribs=r=u.attribs,t!==u.tagName&&(i.name=t=u.tagName,P[A]=u.tagName)),(!1!==e.allowedTags&&-1===(e.allowedTags||[]).indexOf(t)||"recursiveEscape"===e.disallowedTagsMode&&!function(t){for(const e in t)if(p(t,e))return!1;return!0}(D)||null!=e.nestingLimit&&A>=e.nestingLimit)&&(n=!0,D[A]=!0,"discard"===e.disallowedTagsMode&&-1!==w.indexOf(t)&&(L=!0,M=1),D[A]=!0),A++,n){if("discard"===e.disallowedTagsMode)return;y=b,b=""}b+="<"+t,"script"===t&&(e.allowedScriptHostnames||e.allowedScriptDomains)&&(i.innerText=""),(!x||p(x,t)||x["*"])&&h(r,(function(r,n){if(!f.test(n))return void delete i.attribs[n];let c=!1;if(!x||p(x,t)&&-1!==x[t].indexOf(n)||x["*"]&&-1!==x["*"].indexOf(n)||p(S,t)&&S[t].test(n)||S["*"]&&S["*"].test(n))c=!0;else if(x&&x[t])for(const e of x[t])if(s(e)&&e.name&&e.name===n){c=!0;let t="";if(!0===e.multiple){const i=r.split(" ");for(const r of i)-1!==e.values.indexOf(r)&&(""===t?t=r:t+=" "+r)}else e.values.indexOf(r)>=0&&(t=r);r=t}if(c){if(-1!==e.allowedSchemesAppliedToAttributes.indexOf(n)&&R(t,r))return void delete i.attribs[n];if("script"===t&&"src"===n){let t=!0;try{const i=B(r);if(e.allowedScriptHostnames||e.allowedScriptDomains){const r=(e.allowedScriptHostnames||[]).find((function(t){return t===i.url.hostname})),n=(e.allowedScriptDomains||[]).find((function(t){return i.url.hostname===t||i.url.hostname.endsWith(`.${t}`)}));t=r||n}}catch(e){t=!1}if(!t)return void delete i.attribs[n]}if("iframe"===t&&"src"===n){let t=!0;try{const i=B(r);if(i.isRelativeUrl)t=p(e,"allowIframeRelativeUrls")?e.allowIframeRelativeUrls:!e.allowedIframeHostnames&&!e.allowedIframeDomains;else if(e.allowedIframeHostnames||e.allowedIframeDomains){const r=(e.allowedIframeHostnames||[]).find((function(t){return t===i.url.hostname})),n=(e.allowedIframeDomains||[]).find((function(t){return i.url.hostname===t||i.url.hostname.endsWith(`.${t}`)}));t=r||n}}catch(e){t=!1}if(!t)return void delete i.attribs[n]}if("srcset"===n)try{let t=a(r);if(t.forEach((function(t){R("srcset",t.url)&&(t.evil=!0)})),t=d(t,(function(t){return!t.evil})),!t.length)return void delete i.attribs[n];r=d(t,(function(t){return!t.evil})).map((function(t){if(!t.url)throw new Error("URL missing");return t.url+(t.w?` ${t.w}w`:"")+(t.h?` ${t.h}h`:"")+(t.d?` ${t.d}x`:"")})).join(", "),i.attribs[n]=r}catch(t){return void delete i.attribs[n]}if("class"===n){const e=_[t],s=_["*"],a=T[t],l=C[t],c=[a,T["*"]].concat(l).filter((function(t){return t}));if(!(u=r,h=e&&s?o(e,s):e||s,m=c,r=h?(u=u.split(/\s+/)).filter((function(t){return-1!==h.indexOf(t)||m.some((function(e){return e.test(t)}))})).join(" "):u).length)return void delete i.attribs[n]}if("style"===n)try{if(r=function(t){return t.nodes[0].nodes.reduce((function(t,e){return t.push(`${e.prop}:${e.value}${e.important?" !important":""}`),t}),[]).join(";")}(function(t,e){if(!e)return t;const r=t.nodes[0];let i;return i=e[r.selector]&&e["*"]?o(e[r.selector],e["*"]):e[r.selector]||e["*"],i&&(t.nodes[0].nodes=r.nodes.reduce(function(t){return function(e,r){return p(t,r.prop)&&t[r.prop].some((function(t){return t.test(r.value)}))&&e.push(r),e}}(i),[])),t}(l(t+" {"+r+"}"),e.allowedStyles)),0===r.length)return void delete i.attribs[n]}catch(t){return void delete i.attribs[n]}b+=" "+n,r&&r.length&&(b+='="'+I(r,!0)+'"')}else delete i.attribs[n];var u,h,m})),-1!==e.selfClosing.indexOf(t)?b+=" />":(b+=">",!i.innerText||c||e.textFilter||(b+=I(i.innerText),q=!0)),n&&(b=y+I(b),y="")},ontext:function(t){if(L)return;const r=E[E.length-1];let i;if(r&&(i=r.tag,t=void 0!==r.innerText?r.innerText:t),"discard"!==e.disallowedTagsMode||"script"!==i&&"style"!==i){const r=I(t,!1);e.textFilter&&!q?b+=e.textFilter(r,i):q||(b+=r)}else b+=t;E.length&&(E[E.length-1].text+=t)},onclosetag:function(t){if(L){if(M--,M)return;L=!1}const r=E.pop();if(!r)return;if(r.tag!==t)return void E.push(r);L=!!e.enforceHtmlBoundary&&"html"===t,A--;const i=D[A];if(i){if(delete D[A],"discard"===e.disallowedTagsMode)return void r.updateParentNodeText();y=b,b=""}P[A]&&(t=P[A],delete P[A]),e.exclusiveFilter&&e.exclusiveFilter(r)?b=b.substr(0,r.tagPosition):(r.updateParentNodeMediaChildren(),r.updateParentNodeText(),-1===e.selfClosing.indexOf(t)?(b+="",i&&(b=y+I(b),y=""),q=!1):i&&(b=y,y=""))}},e.parser);return N.write(t),N.end(),b;function j(){b="",A=0,E=[],D={},P={},L=!1,M=0}function I(t,r){return"string"!=typeof t&&(t+=""),e.parser.decodeEntities&&(t=t.replace(/&/g,"&").replace(//g,">"),r&&(t=t.replace(/"/g,"""))),t=t.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),r&&(t=t.replace(/"/g,""")),t}function R(t,r){for(r=r.replace(/[\x00-\x20]+/g,"");;){const t=r.indexOf("\x3c!--");if(-1===t)break;const e=r.indexOf("--\x3e",t+4);if(-1===e)break;r=r.substring(0,t)+r.substring(e+3)}const i=r.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!i)return!!r.match(/^[/\\]{2}/)&&!e.allowProtocolRelative;const n=i[1].toLowerCase();return p(e.allowedSchemesByTag,t)?-1===e.allowedSchemesByTag[t].indexOf(n):!e.allowedSchemes||-1===e.allowedSchemes.indexOf(n)}function B(t){if((t=t.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//")).startsWith("relative:"))throw new Error("relative: exploit attempt");let e="relative://relative-site";for(let t=0;t<100;t++)e+=`/${t}`;const r=new URL(t,e);return{isRelativeUrl:r&&"relative-site"===r.hostname&&"relative:"===r.protocol,url:r}}}const g={decodeEntities:!0};m.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1},m.simpleTransform=function(t,e,r){return r=void 0===r||r,e=e||{},function(i,n){let s;if(r)for(s in e)n[s]=e[s];else n=e;return{tagName:t,attribs:n}}}},5555:t=>{"use strict";t.exports=t=>{if("string"!=typeof t)throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}},1446:(t,e,r)=>{"use strict";let i=r(7044);class n extends i{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}}t.exports=n,n.default=n,i.registerAtRule(n)},6510:(t,e,r)=>{"use strict";let i=r(1254);class n extends i{constructor(t){super(t),this.type="comment"}}t.exports=n,n.default=n},7044:(t,e,r)=>{"use strict";let i,n,s,o,{isClean:a,my:l}=r(7140),c=r(954),u=r(6510),h=r(1254);function p(t){return t.map((t=>(t.nodes&&(t.nodes=p(t.nodes)),delete t.source,t)))}function d(t){if(t[a]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)d(e)}class f extends h{push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}each(t){if(!this.proxyOf.nodes)return;let e,r,i=this.getIterator();for(;this.indexes[i]{let i;try{i=t(e,r)}catch(t){throw e.addToError(t)}return!1!==i&&e.walk&&(i=e.walk(t)),i}))}walkDecls(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("decl"===r.type&&t.test(r.prop))return e(r,i)})):this.walk(((r,i)=>{if("decl"===r.type&&r.prop===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("decl"===t.type)return e(t,r)})))}walkRules(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("rule"===r.type&&t.test(r.selector))return e(r,i)})):this.walk(((r,i)=>{if("rule"===r.type&&r.selector===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("rule"===t.type)return e(t,r)})))}walkAtRules(t,e){return e?t instanceof RegExp?this.walk(((r,i)=>{if("atrule"===r.type&&t.test(r.name))return e(r,i)})):this.walk(((r,i)=>{if("atrule"===r.type&&r.name===t)return e(r,i)})):(e=t,this.walk(((t,r)=>{if("atrule"===t.type)return e(t,r)})))}walkComments(t){return this.walk(((e,r)=>{if("comment"===e.type)return t(e,r)}))}append(...t){for(let e of t){let t=this.normalize(e,this.last);for(let e of t)this.proxyOf.nodes.push(e)}return this.markDirty(),this}prepend(...t){t=t.reverse();for(let e of t){let t=this.normalize(e,this.first,"prepend").reverse();for(let e of t)this.proxyOf.nodes.unshift(e);for(let e in this.indexes)this.indexes[e]=this.indexes[e]+t.length}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let e of this.nodes)e.cleanRaws(t)}insertBefore(t,e){let r,i=this.index(t),n=0===i&&"prepend",s=this.normalize(e,this.proxyOf.nodes[i],n).reverse();i=this.index(t);for(let t of s)this.proxyOf.nodes.splice(i,0,t);for(let t in this.indexes)r=this.indexes[t],i<=r&&(this.indexes[t]=r+s.length);return this.markDirty(),this}insertAfter(t,e){let r,i=this.index(t),n=this.normalize(e,this.proxyOf.nodes[i]).reverse();i=this.index(t);for(let t of n)this.proxyOf.nodes.splice(i+1,0,t);for(let t in this.indexes)r=this.indexes[t],i=t&&(this.indexes[r]=e-1);return this.markDirty(),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(t,e,r){return r||(r=e,e={}),this.walkDecls((i=>{e.props&&!e.props.includes(i.prop)||e.fast&&!i.value.includes(e.fast)||(i.value=i.value.replace(t,r))})),this.markDirty(),this}every(t){return this.nodes.every(t)}some(t){return this.nodes.some(t)}index(t){return"number"==typeof t?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(t,e){if("string"==typeof t)t=p(i(t).nodes);else if(Array.isArray(t)){t=t.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if("root"===t.type&&"document"!==this.type){t=t.nodes.slice(0);for(let e of t)e.parent&&e.parent.removeChild(e,"ignore")}else if(t.type)t=[t];else if(t.prop){if(void 0===t.value)throw new Error("Value field is missed in node creation");"string"!=typeof t.value&&(t.value=String(t.value)),t=[new c(t)]}else if(t.selector)t=[new n(t)];else if(t.name)t=[new s(t)];else{if(!t.text)throw new Error("Unknown node type in node creation");t=[new u(t)]}return t.map((t=>(t[l]||f.rebuild(t),(t=t.proxyOf).parent&&t.parent.removeChild(t),t[a]&&d(t),void 0===t.raws.before&&e&&void 0!==e.raws.before&&(t.raws.before=e.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t)))}getProxyProcessor(){return{set:(t,e,r)=>(t[e]===r||(t[e]=r,"name"!==e&&"params"!==e&&"selector"!==e||t.markDirty()),!0),get:(t,e)=>"proxyOf"===e?t:t[e]?"each"===e||"string"==typeof e&&e.startsWith("walk")?(...r)=>t[e](...r.map((t=>"function"==typeof t?(e,r)=>t(e.toProxy(),r):t))):"every"===e||"some"===e?r=>t[e](((t,...e)=>r(t.toProxy(),...e))):"root"===e?()=>t.root().toProxy():"nodes"===e?t.nodes.map((t=>t.toProxy())):"first"===e||"last"===e?t[e].toProxy():t[e]:t[e]}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}}f.registerParse=t=>{i=t},f.registerRule=t=>{n=t},f.registerAtRule=t=>{s=t},f.registerRoot=t=>{o=t},t.exports=f,f.default=f,f.rebuild=t=>{"atrule"===t.type?Object.setPrototypeOf(t,s.prototype):"rule"===t.type?Object.setPrototypeOf(t,n.prototype):"decl"===t.type?Object.setPrototypeOf(t,c.prototype):"comment"===t.type?Object.setPrototypeOf(t,u.prototype):"root"===t.type&&Object.setPrototypeOf(t,o.prototype),t[l]=!0,t.nodes&&t.nodes.forEach((t=>{f.rebuild(t)}))}},7397:(t,e,r)=>{"use strict";let i=r(4470),n=r(6527);class s extends Error{constructor(t,e,r,i,n,o){super(t),this.name="CssSyntaxError",this.reason=t,n&&(this.file=n),i&&(this.source=i),o&&(this.plugin=o),void 0!==e&&void 0!==r&&("number"==typeof e?(this.line=e,this.column=r):(this.line=e.line,this.column=e.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",void 0!==this.line&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let e=this.source;null==t&&(t=i.isColorSupported),n&&t&&(e=n(e));let r,s,o=e.split(/\r?\n/),a=Math.max(this.line-3,0),l=Math.min(this.line+2,o.length),c=String(l).length;if(t){let{bold:t,red:e,gray:n}=i.createColors(!0);r=r=>t(e(r)),s=t=>n(t)}else r=s=t=>t;return o.slice(a,l).map(((t,e)=>{let i=a+1+e,n=" "+(" "+i).slice(-c)+" | ";if(i===this.line){let e=s(n.replace(/\d/g," "))+t.slice(0,this.column-1).replace(/[^\t]/g," ");return r(">")+s(n)+t+"\n "+e+r("^")}return" "+s(n)+t})).join("\n")}toString(){let t=this.showSourceCode();return t&&(t="\n\n"+t+"\n"),this.name+": "+this.message+t}}t.exports=s,s.default=s},954:(t,e,r)=>{"use strict";let i=r(1254);class n extends i{constructor(t){t&&void 0!==t.value&&"string"!=typeof t.value&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}}t.exports=n,n.default=n},5606:(t,e,r)=>{"use strict";let i,n,s=r(7044);class o extends s{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new i(new n,this,t).stringify()}}o.registerLazyResult=t=>{i=t},o.registerProcessor=t=>{n=t},t.exports=o,o.default=o},2598:(t,e,r)=>{"use strict";let i=r(954),n=r(7594),s=r(6510),o=r(1446),a=r(2065),l=r(3202),c=r(2527);function u(t,e){if(Array.isArray(t))return t.map((t=>u(t)));let{inputs:r,...h}=t;if(r){e=[];for(let t of r){let r={...t,__proto__:a.prototype};r.map&&(r.map={...r.map,__proto__:n.prototype}),e.push(r)}}if(h.nodes&&(h.nodes=t.nodes.map((t=>u(t,e)))),h.source){let{inputId:t,...r}=h.source;h.source=r,null!=t&&(h.source.input=e[t])}if("root"===h.type)return new l(h);if("decl"===h.type)return new i(h);if("rule"===h.type)return new c(h);if("comment"===h.type)return new s(h);if("atrule"===h.type)return new o(h);throw new Error("Unknown node type: "+t.type)}t.exports=u,u.default=u},2065:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{fileURLToPath:s,pathToFileURL:o}=r(3443),{resolve:a,isAbsolute:l}=r(2232),{nanoid:c}=r(8864),u=r(6527),h=r(7397),p=r(7594),d=Symbol("fromOffsetCache"),f=Boolean(i&&n),m=Boolean(a&&l);class g{constructor(t,e={}){if(null==t||"object"==typeof t&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,e.from&&(!m||/^\w+:\/\//.test(e.from)||l(e.from)?this.file=e.from:this.file=a(e.from)),m&&f){let t=new p(this.css,e);if(t.text){this.map=t;let e=t.consumer().file;!this.file&&e&&(this.file=this.mapResolve(e))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(t){let e,r;if(this[d])r=this[d];else{let t=this.css.split("\n");r=new Array(t.length);let e=0;for(let i=0,n=t.length;i=e)i=r.length-1;else{let e,n=r.length-2;for(;i>1),t=r[e+1])){i=e;break}i=e+1}}return{line:i+1,col:t-r[i]+1}}error(t,e,r,i={}){let n,s,a;if(e&&"object"==typeof e){let t=e,i=r;if("number"==typeof t.offset){let i=this.fromOffset(t.offset);e=i.line,r=i.col}else e=t.line,r=t.column;if("number"==typeof i.offset){let t=this.fromOffset(i.offset);s=t.line,a=t.col}else s=i.line,a=i.column}else if(!r){let t=this.fromOffset(e);e=t.line,r=t.col}let l=this.origin(e,r,s,a);return n=l?new h(t,void 0===l.endLine?l.line:{line:l.line,column:l.column},void 0===l.endLine?l.column:{line:l.endLine,column:l.endColumn},l.source,l.file,i.plugin):new h(t,void 0===s?e:{line:e,column:r},void 0===s?r:{line:s,column:a},this.css,this.file,i.plugin),n.input={line:e,column:r,endLine:s,endColumn:a,source:this.css},this.file&&(o&&(n.input.url=o(this.file).toString()),n.input.file=this.file),n}origin(t,e,r,i){if(!this.map)return!1;let n,a,c=this.map.consumer(),u=c.originalPositionFor({line:t,column:e});if(!u.source)return!1;"number"==typeof r&&(n=c.originalPositionFor({line:r,column:i})),a=l(u.source)?o(u.source):new URL(u.source,this.map.consumer().sourceRoot||o(this.map.mapFile));let h={url:a.toString(),line:u.line,column:u.column,endLine:n&&n.line,endColumn:n&&n.column};if("file:"===a.protocol){if(!s)throw new Error("file: protocol is not available in this PostCSS build");h.file=s(a)}let p=c.sourceContentFor(u.source);return p&&(h.source=p),h}mapResolve(t){return/^\w+:\/\//.test(t)?t:a(this.map.consumer().sourceRoot||this.map.root||".",t)}get from(){return this.file||this.id}toJSON(){let t={};for(let e of["hasBOM","css","file","id"])null!=this[e]&&(t[e]=this[e]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}}t.exports=g,g.default=g,u&&u.registerInput&&u.registerInput(g)},4235:(t,e,r)=>{"use strict";let{isClean:i,my:n}=r(7140),s=r(2037),o=r(3557),a=r(7044),l=r(5606),c=(r(1095),r(271)),u=r(1429),h=r(3202);const p={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},d={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},f={postcssPlugin:!0,prepare:!0,Once:!0};function m(t){return"object"==typeof t&&"function"==typeof t.then}function g(t){let e=!1,r=p[t.type];return"decl"===t.type?e=t.prop.toLowerCase():"atrule"===t.type&&(e=t.name.toLowerCase()),e&&t.append?[r,r+"-"+e,0,r+"Exit",r+"Exit-"+e]:e?[r,r+"-"+e,r+"Exit",r+"Exit-"+e]:t.append?[r,0,r+"Exit"]:[r,r+"Exit"]}function b(t){let e;return e="document"===t.type?["Document",0,"DocumentExit"]:"root"===t.type?["Root",0,"RootExit"]:g(t),{node:t,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function y(t){return t[i]=!1,t.nodes&&t.nodes.forEach((t=>y(t))),t}let v={};class w{constructor(t,e,r){let i;if(this.stringified=!1,this.processed=!1,"object"!=typeof e||null===e||"root"!==e.type&&"document"!==e.type)if(e instanceof w||e instanceof c)i=y(e.root),e.map&&(void 0===r.map&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=e.map);else{let t=u;r.syntax&&(t=r.syntax.parse),r.parser&&(t=r.parser),t.parse&&(t=t.parse);try{i=t(e,r)}catch(t){this.processed=!0,this.error=t}i&&!i[n]&&a.rebuild(i)}else i=y(e);this.result=new c(t,i,r),this.helpers={...v,result:this.result,postcss:v},this.plugins=this.processor.plugins.map((t=>"object"==typeof t&&t.prepare?{...t,...t.prepare(this.result)}:t))}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(t,e){return this.async().then(t,e)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins)if(m(this.runOnRoot(t)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[i];)t[i]=!0,this.walkSync(t);if(this.listeners.OnceExit)if("document"===t.type)for(let e of t.nodes)this.visitSync(this.listeners.OnceExit,e);else this.visitSync(this.listeners.OnceExit,t)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,e=o;t.syntax&&(e=t.syntax.stringify),t.stringifier&&(e=t.stringifier),e.stringify&&(e=e.stringify);let r=new s(e,this.result.root,this.result.opts).generate();return this.result.css=r[0],this.result.map=r[1],this.result}walkSync(t){t[i]=!0;let e=g(t);for(let r of e)if(0===r)t.nodes&&t.each((t=>{t[i]||this.walkSync(t)}));else{let e=this.listeners[r];if(e&&this.visitSync(e,t.toProxy()))return}}visitSync(t,e){for(let[r,i]of t){let t;this.result.lastPlugin=r;try{t=i(e,this.helpers)}catch(t){throw this.handleError(t,e.proxyOf)}if("root"!==e.type&&"document"!==e.type&&!e.parent)return!0;if(m(t))throw this.getAsyncError()}}runOnRoot(t){this.result.lastPlugin=t;try{if("object"==typeof t&&t.Once){if("document"===this.result.root.type){let e=this.result.root.nodes.map((e=>t.Once(e,this.helpers)));return m(e[0])?Promise.all(e):e}return t.Once(this.result.root,this.helpers)}if("function"==typeof t)return t(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,e){let r=this.result.lastPlugin;try{e&&e.addToError(t),this.error=t,"CssSyntaxError"!==t.name||t.plugin?r.postcssVersion:(t.plugin=r.postcssPlugin,t.setMessage())}catch(t){console&&console.error&&console.error(t)}return t}async runAsync(){this.plugin=0;for(let t=0;t0;){let t=this.visitTick(e);if(m(t))try{await t}catch(t){let r=e[e.length-1].node;throw this.handleError(t,r)}}}if(this.listeners.OnceExit)for(let[e,r]of this.listeners.OnceExit){this.result.lastPlugin=e;try{if("document"===t.type){let e=t.nodes.map((t=>r(t,this.helpers)));await Promise.all(e)}else await r(t,this.helpers)}catch(t){throw this.handleError(t)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let t=(t,e,r)=>{this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push([t,r])};for(let e of this.plugins)if("object"==typeof e)for(let r in e){if(!d[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${e.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[r])if("object"==typeof e[r])for(let i in e[r])t(e,"*"===i?r:r+"-"+i.toLowerCase(),e[r][i]);else"function"==typeof e[r]&&t(e,r,e[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(t){let e=t[t.length-1],{node:r,visitors:n}=e;if("root"!==r.type&&"document"!==r.type&&!r.parent)return void t.pop();if(n.length>0&&e.visitorIndex{v=t},t.exports=w,w.default=w,h.registerLazyResult(w),l.registerLazyResult(w)},2553:t=>{"use strict";let e={split(t,e,r){let i=[],n="",s=!1,o=0,a=!1,l="",c=!1;for(let r of t)c?c=!1:"\\"===r?c=!0:a?r===l&&(a=!1):'"'===r||"'"===r?(a=!0,l=r):"("===r?o+=1:")"===r?o>0&&(o-=1):0===o&&e.includes(r)&&(s=!0),s?(""!==n&&i.push(n.trim()),n="",s=!1):n+=r;return(r||""!==n)&&i.push(n.trim()),i},space:t=>e.split(t,[" ","\n","\t"]),comma:t=>e.split(t,[","],!0)};t.exports=e,e.default=e},2037:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{dirname:s,resolve:o,relative:a,sep:l}=r(2232),{pathToFileURL:c}=r(3443),u=r(2065),h=Boolean(i&&n),p=Boolean(s&&o&&a&&l);t.exports=class{constructor(t,e,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=e,this.opts=r,this.css=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute}isMap(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk((t=>{if(t.source&&t.source.input.map){let e=t.source.input.map;this.previousMaps.includes(e)||this.previousMaps.push(e)}}));else{let t=new u(this.css,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}isInline(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;let t=this.mapOpts.annotation;return(void 0===t||!0===t)&&(!this.previous().length||this.previous().some((t=>t.inline)))}isSourcesContent(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some((t=>t.withContent()))}clearAnnotation(){if(!1!==this.mapOpts.annotation)if(this.root){let t;for(let e=this.root.nodes.length-1;e>=0;e--)t=this.root.nodes[e],"comment"===t.type&&0===t.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(e)}else this.css&&(this.css=this.css.replace(/(\n)?\/\*#[\S\s]*?\*\/$/gm,""))}setSourcesContent(){let t={};if(this.root)this.root.walk((e=>{if(e.source){let r=e.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,e.source.input.css)}}}));else if(this.css){let t=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(t,this.css)}}applyPrevMaps(){for(let t of this.previous()){let e,r=this.toUrl(this.path(t.file)),n=t.root||s(t.file);!1===this.mapOpts.sourcesContent?(e=new i(t.text),e.sourcesContent&&(e.sourcesContent=e.sourcesContent.map((()=>null)))):e=t.consumer(),this.map.applySourceMap(e,r,this.toUrl(this.path(n)))}}isAnnotation(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some((t=>t.annotation)))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}addAnnotation(){let t;t=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:"function"==typeof this.mapOpts.annotation?this.mapOpts.annotation(this.opts.to,this.root):this.outputFile()+".map";let e="\n";this.css.includes("\r\n")&&(e="\r\n"),this.css+=e+"/*# sourceMappingURL="+t+" */"}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}generateMap(){if(this.root)this.generateString();else if(1===this.previous().length){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=n.fromSourceMap(t)}else this.map=new n({file:this.outputFile()}),this.map.addMapping({source:this.opts.from?this.toUrl(this.path(this.opts.from)):"",generated:{line:1,column:0},original:{line:1,column:0}});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}path(t){if(0===t.indexOf("<"))return t;if(/^\w+:\/\//.test(t))return t;if(this.mapOpts.absolute)return t;let e=this.opts.to?s(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(e=s(o(e,this.mapOpts.annotation))),a(e,t)}toUrl(t){return"\\"===l&&(t=t.replace(/\\/g,"/")),encodeURI(t).replace(/[#?]/g,encodeURIComponent)}toFileUrl(t){if(c)return c(t).toString();throw new Error("`map.absolute` option is not available in this PostCSS build")}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}generateString(){this.css="",this.map=new n({file:this.outputFile()});let t,e,r=1,i=1,s="",o={source:"",generated:{line:0,column:0},original:{line:0,column:0}};this.stringify(this.root,((n,a,l)=>{if(this.css+=n,a&&"end"!==l&&(o.generated.line=r,o.generated.column=i-1,a.source&&a.source.start?(o.source=this.sourcePath(a),o.original.line=a.source.start.line,o.original.column=a.source.start.column-1,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,this.map.addMapping(o))),t=n.match(/\n/g),t?(r+=t.length,e=n.lastIndexOf("\n"),i=n.length-e):i+=n.length,a&&"start"!==l){let t=a.parent||{raws:{}};("decl"===a.type||"atrule"===a.type&&!a.nodes)&&a===t.last&&!t.raws.semicolon||(a.source&&a.source.end?(o.source=this.sourcePath(a),o.original.line=a.source.end.line,o.original.column=a.source.end.column-1,o.generated.line=r,o.generated.column=i-2,this.map.addMapping(o)):(o.source=s,o.original.line=1,o.original.column=0,o.generated.line=r,o.generated.column=i-1,this.map.addMapping(o)))}}))}generate(){if(this.clearAnnotation(),p&&h&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,(e=>{t+=e})),[t]}}}},6905:(t,e,r)=>{"use strict";let i=r(2037),n=r(3557),s=(r(1095),r(1429));const o=r(271);class a{constructor(t,e,r){let s;e=e.toString(),this.stringified=!1,this._processor=t,this._css=e,this._opts=r,this._map=void 0;let a=n;this.result=new o(this._processor,s,this._opts),this.result.css=e;let l=this;Object.defineProperty(this.result,"root",{get:()=>l.root});let c=new i(a,s,this._opts,e);if(c.isMap()){let[t,e]=c.generate();t&&(this.result.css=t),e&&(this.result.map=e)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let t,e=s;try{t=e(this._css,this._opts)}catch(t){this.error=t}if(this.error)throw this.error;return this._root=t,t}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(t,e){return this.async().then(t,e)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}}t.exports=a,a.default=a},1254:(t,e,r)=>{"use strict";let{isClean:i,my:n}=r(7140),s=r(7397),o=r(166),a=r(3557);function l(t,e){let r=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;if("proxyCache"===i)continue;let n=t[i],s=typeof n;"parent"===i&&"object"===s?e&&(r[i]=e):"source"===i?r[i]=n:Array.isArray(n)?r[i]=n.map((t=>l(t,r))):("object"===s&&null!==n&&(n=l(n)),r[i]=n)}return r}class c{constructor(t={}){this.raws={},this[i]=!1,this[n]=!0;for(let e in t)if("nodes"===e){this.nodes=[];for(let r of t[e])"function"==typeof r.clone?this.append(r.clone()):this.append(r)}else this[e]=t[e]}error(t,e={}){if(this.source){let{start:r,end:i}=this.rangeBy(e);return this.source.input.error(t,{line:r.line,column:r.column},{line:i.line,column:i.column},e)}return new s(t)}warn(t,e,r){let i={node:this};for(let t in r)i[t]=r[t];return t.warn(e,i)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(t=a){t.stringify&&(t=t.stringify);let e="";return t(this,(t=>{e+=t})),e}assign(t={}){for(let e in t)this[e]=t[e];return this}clone(t={}){let e=l(this);for(let r in t)e[r]=t[r];return e}cloneBefore(t={}){let e=this.clone(t);return this.parent.insertBefore(this,e),e}cloneAfter(t={}){let e=this.clone(t);return this.parent.insertAfter(this,e),e}replaceWith(...t){if(this.parent){let e=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(e,i),e=i):this.parent.insertBefore(e,i);r||this.remove()}return this}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}before(t){return this.parent.insertBefore(this,t),this}after(t){return this.parent.insertAfter(this,t),this}root(){let t=this;for(;t.parent&&"document"!==t.parent.type;)t=t.parent;return t}raw(t,e){return(new o).raw(this,t,e)}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}toJSON(t,e){let r={},i=null==e;e=e||new Map;let n=0;for(let t in this){if(!Object.prototype.hasOwnProperty.call(this,t))continue;if("parent"===t||"proxyCache"===t)continue;let i=this[t];if(Array.isArray(i))r[t]=i.map((t=>"object"==typeof t&&t.toJSON?t.toJSON(null,e):t));else if("object"==typeof i&&i.toJSON)r[t]=i.toJSON(null,e);else if("source"===t){let s=e.get(i.input);null==s&&(s=n,e.set(i.input,n),n++),r[t]={inputId:s,start:i.start,end:i.end}}else r[t]=i}return i&&(r.inputs=[...e.keys()].map((t=>t.toJSON()))),r}positionInside(t){let e=this.toString(),r=this.source.start.column,i=this.source.start.line;for(let n=0;n(t[e]===r||(t[e]=r,"prop"!==e&&"value"!==e&&"name"!==e&&"params"!==e&&"important"!==e&&"text"!==e||t.markDirty()),!0),get:(t,e)=>"proxyOf"===e?t:"root"===e?()=>t.root().toProxy():t[e]}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\n\s{4}at /.test(t.stack)){let e=this.source;t.stack=t.stack.replace(/\n\s{4}at /,`$&${e.input.from}:${e.start.line}:${e.start.column}$&`)}return t}markDirty(){if(this[i]){this[i]=!1;let t=this;for(;t=t.parent;)t[i]=!1}}get proxyOf(){return this}}t.exports=c,c.default=c},1429:(t,e,r)=>{"use strict";let i=r(7044),n=r(909),s=r(2065);function o(t,e){let r=new s(t,e),i=new n(r);try{i.parse()}catch(t){throw t}return i.root}t.exports=o,o.default=o,i.registerParse(o)},909:(t,e,r)=>{"use strict";let i=r(954),n=r(7377),s=r(6510),o=r(1446),a=r(3202),l=r(2527);const c={empty:!0,space:!0};t.exports=class{constructor(t){this.input=t,this.root=new a,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:t,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=n(this.input)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t)}this.endFile()}comment(t){let e=new s;this.init(e,t[2]),e.source.end=this.getPosition(t[3]||t[2]);let r=t[1].slice(2,-2);if(/^\s*$/.test(r))e.text="",e.raws.left=r,e.raws.right="";else{let t=r.match(/^(\s*)([^]*\S)(\s*)$/);e.text=t[2],e.raws.left=t[1],e.raws.right=t[3]}}emptyRule(t){let e=new l;this.init(e,t[2]),e.selector="",e.raws.between="",this.current=e}other(t){let e=!1,r=null,i=!1,n=null,s=[],o=t[1].startsWith("--"),a=[],l=t;for(;l;){if(r=l[0],a.push(l),"("===r||"["===r)n||(n=l),s.push("("===r?")":"]");else if(o&&i&&"{"===r)n||(n=l),s.push("}");else if(0===s.length){if(";"===r){if(i)return void this.decl(a,o);break}if("{"===r)return void this.rule(a);if("}"===r){this.tokenizer.back(a.pop()),e=!0;break}":"===r&&(i=!0)}else r===s[s.length-1]&&(s.pop(),0===s.length&&(n=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(e=!0),s.length>0&&this.unclosedBracket(n),e&&i){if(!o)for(;a.length&&(l=a[a.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(a.pop());this.decl(a,o)}else this.unknownWord(a)}rule(t){t.pop();let e=new l;this.init(e,t[0][2]),e.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(e,"selector",t),this.current=e}decl(t,e){let r=new i;this.init(r,t[0][2]);let n,s=t[t.length-1];for(";"===s[0]&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(s[3]||s[2]||function(t){for(let e=t.length-1;e>=0;e--){let r=t[e],i=r[3]||r[2];if(i)return i}}(t));"word"!==t[0][0];)1===t.length&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let e=t[0][0];if(":"===e||"space"===e||"comment"===e)break;r.prop+=t.shift()[1]}for(r.raws.between="";t.length;){if(n=t.shift(),":"===n[0]){r.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),r.raws.between+=n[1]}"_"!==r.prop[0]&&"*"!==r.prop[0]||(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let o,a=[];for(;t.length&&(o=t[0][0],"space"===o||"comment"===o);)a.push(t.shift());this.precheckMissedSemicolon(t);for(let e=t.length-1;e>=0;e--){if(n=t[e],"!important"===n[1].toLowerCase()){r.important=!0;let i=this.stringFrom(t,e);i=this.spacesFromEnd(t)+i," !important"!==i&&(r.raws.important=i);break}if("important"===n[1].toLowerCase()){let i=t.slice(0),n="";for(let t=e;t>0;t--){let e=i[t][0];if(0===n.trim().indexOf("!")&&"space"!==e)break;n=i.pop()[1]+n}0===n.trim().indexOf("!")&&(r.important=!0,r.raws.important=n,t=i)}if("space"!==n[0]&&"comment"!==n[0])break}t.some((t=>"space"!==t[0]&&"comment"!==t[0]))&&(r.raws.between+=a.map((t=>t[1])).join(""),a=[]),this.raw(r,"value",a.concat(t),e),r.value.includes(":")&&!e&&this.checkMissedSemicolon(t)}atrule(t){let e,r,i,n=new o;n.name=t[1].slice(1),""===n.name&&this.unnamedAtrule(n,t),this.init(n,t[2]);let s=!1,a=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=(t=this.tokenizer.nextToken())[0],"("===e||"["===e?c.push("("===e?")":"]"):"{"===e&&c.length>0?c.push("}"):e===c[c.length-1]&&c.pop(),0===c.length){if(";"===e){n.source.end=this.getPosition(t[2]),this.semicolon=!0;break}if("{"===e){a=!0;break}if("}"===e){if(l.length>0){for(i=l.length-1,r=l[i];r&&"space"===r[0];)r=l[--i];r&&(n.source.end=this.getPosition(r[3]||r[2]))}this.end(t);break}l.push(t)}else l.push(t);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(n.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(n,"params",l),s&&(t=l[l.length-1],n.source.end=this.getPosition(t[3]||t[2]),this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),a&&(n.nodes=[],this.current=n)}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(t){let e=this.input.fromOffset(t);return{offset:t,line:e.line,column:e.col}}init(t,e){this.current.push(t),t.source={start:this.getPosition(e),input:this.input},t.raws.before=this.spaces,this.spaces="","comment"!==t.type&&(this.semicolon=!1)}raw(t,e,r,i){let n,s,o,a,l=r.length,u="",h=!0;for(let t=0;tt+e[1]),"");t.raws[e]={value:u,raw:i}}t[e]=u}spacesAndCommentsFromEnd(t){let e,r="";for(;t.length&&(e=t[t.length-1][0],"space"===e||"comment"===e);)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let e,r="";for(;t.length&&(e=t[0][0],"space"===e||"comment"===e);)r+=t.shift()[1];return r}spacesFromEnd(t){let e,r="";for(;t.length&&(e=t[t.length-1][0],"space"===e);)r=t.pop()[1]+r;return r}stringFrom(t,e){let r="";for(let i=e;i=0&&(r=t[n],"space"===r[0]||(i+=1,2!==i));n--);throw this.input.error("Missed semicolon","word"===r[0]?r[3]+1:r[2])}}},9719:(t,e,r)=>{"use strict";var i=r(4406);let n=r(7397),s=r(954),o=r(4235),a=r(7044),l=r(4418),c=r(3557),u=r(2598),h=r(5606),p=r(8555),d=r(6510),f=r(1446),m=r(271),g=r(2065),b=r(1429),y=r(2553),v=r(2527),w=r(3202),x=r(1254);function S(...t){return 1===t.length&&Array.isArray(t[0])&&(t=t[0]),new l(t)}S.plugin=function(t,e){let r,n=!1;function s(...r){console&&console.warn&&!n&&(n=!0,console.warn(t+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"),i.env.LANG&&i.env.LANG.startsWith("cn")&&console.warn(t+": 里面 postcss.plugin 被弃用. 迁移指南:\nhttps://www.w3ctech.com/topic/2226"));let s=e(...r);return s.postcssPlugin=t,s.postcssVersion=(new l).version,s}return Object.defineProperty(s,"postcss",{get:()=>(r||(r=s()),r)}),s.process=function(t,e,r){return S([s(r)]).process(t,e)},s},S.stringify=c,S.parse=b,S.fromJSON=u,S.list=y,S.comment=t=>new d(t),S.atRule=t=>new f(t),S.decl=t=>new s(t),S.rule=t=>new v(t),S.root=t=>new w(t),S.document=t=>new h(t),S.CssSyntaxError=n,S.Declaration=s,S.Container=a,S.Processor=l,S.Document=h,S.Comment=d,S.Warning=p,S.AtRule=f,S.Result=m,S.Input=g,S.Rule=v,S.Root=w,S.Node=x,o.registerPostcss(S),t.exports=S,S.default=S},7594:(t,e,r)=>{"use strict";let{SourceMapConsumer:i,SourceMapGenerator:n}=r(4195),{existsSync:s,readFileSync:o}=r(6969),{dirname:a,join:l}=r(2232);class c{constructor(t,e){if(!1===e.map)return;this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=e.map?e.map.prev:void 0,i=this.loadMap(e.from,r);!this.mapFile&&e.from&&(this.mapFile=e.from),this.mapFile&&(this.root=a(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new i(this.text)),this.consumerCache}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}startWith(t,e){return!!t&&t.substr(0,e.length)===e}getAnnotationURL(t){return t.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}loadAnnotation(t){let e=t.match(/\/\*\s*# sourceMappingURL=/gm);if(!e)return;let r=t.lastIndexOf(e.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}decodeInline(t){if(/^data:application\/json;charset=utf-?8,/.test(t)||/^data:application\/json,/.test(t))return decodeURIComponent(t.substr(RegExp.lastMatch.length));if(/^data:application\/json;charset=utf-?8;base64,/.test(t)||/^data:application\/json;base64,/.test(t))return e=t.substr(RegExp.lastMatch.length),Buffer?Buffer.from(e,"base64").toString():window.atob(e);var e;let r=t.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+r)}loadFile(t){if(this.root=a(t),s(t))return this.mapFile=t,o(t,"utf-8").toString().trim()}loadMap(t,e){if(!1===e)return!1;if(e){if("string"==typeof e)return e;if("function"!=typeof e){if(e instanceof i)return n.fromSourceMap(e).toString();if(e instanceof n)return e.toString();if(this.isMap(e))return JSON.stringify(e);throw new Error("Unsupported previous source map format: "+e.toString())}{let r=e(t);if(r){let t=this.loadFile(r);if(!t)throw new Error("Unable to load previous source map: "+r.toString());return t}}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let e=this.annotation;return t&&(e=l(a(t),e)),this.loadFile(e)}}}isMap(t){return"object"==typeof t&&("string"==typeof t.mappings||"string"==typeof t._mappings||Array.isArray(t.sections))}}t.exports=c,c.default=c},4418:(t,e,r)=>{"use strict";let i=r(6905),n=r(4235),s=r(5606),o=r(3202);class a{constructor(t=[]){this.version="8.4.21",this.plugins=this.normalize(t)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}process(t,e={}){return 0===this.plugins.length&&void 0===e.parser&&void 0===e.stringifier&&void 0===e.syntax?new i(this,t,e):new n(this,t,e)}normalize(t){let e=[];for(let r of t)if(!0===r.postcss?r=r():r.postcss&&(r=r.postcss),"object"==typeof r&&Array.isArray(r.plugins))e=e.concat(r.plugins);else if("object"==typeof r&&r.postcssPlugin)e.push(r);else if("function"==typeof r)e.push(r);else if("object"!=typeof r||!r.parse&&!r.stringify)throw new Error(r+" is not a PostCSS plugin");return e}}t.exports=a,a.default=a,o.registerProcessor(a),s.registerProcessor(a)},271:(t,e,r)=>{"use strict";let i=r(8555);class n{constructor(t,e,r){this.processor=t,this.messages=[],this.root=e,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(t,e={}){e.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(e.plugin=this.lastPlugin.postcssPlugin);let r=new i(t,e);return this.messages.push(r),r}warnings(){return this.messages.filter((t=>"warning"===t.type))}get content(){return this.css}}t.exports=n,n.default=n},3202:(t,e,r)=>{"use strict";let i,n,s=r(7044);class o extends s{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}removeChild(t,e){let r=this.index(t);return!e&&0===r&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}normalize(t,e,r){let i=super.normalize(t);if(e)if("prepend"===r)this.nodes.length>1?e.raws.before=this.nodes[1].raws.before:delete e.raws.before;else if(this.first!==e)for(let t of i)t.raws.before=e.raws.before;return i}toResult(t={}){return new i(new n,this,t).stringify()}}o.registerLazyResult=t=>{i=t},o.registerProcessor=t=>{n=t},t.exports=o,o.default=o,s.registerRoot(o)},2527:(t,e,r)=>{"use strict";let i=r(7044),n=r(2553);class s extends i{constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return n.comma(this.selector)}set selectors(t){let e=this.selector?this.selector.match(/,\s*/):null,r=e?e[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}}t.exports=s,s.default=s,i.registerRule(s)},166:t=>{"use strict";const e={colon:": ",indent:" ",beforeDecl:"\n",beforeRule:"\n",beforeOpen:" ",beforeClose:"\n",beforeComment:"\n",after:"\n",emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};class r{constructor(t){this.builder=t}stringify(t,e){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,e)}document(t){this.body(t)}root(t){this.body(t),t.raws.after&&this.builder(t.raws.after)}comment(t){let e=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder("/*"+e+t.text+r+"*/",t)}decl(t,e){let r=this.raw(t,"between","colon"),i=t.prop+r+this.rawValue(t,"value");t.important&&(i+=t.raws.important||" !important"),e&&(i+=";"),this.builder(i,t)}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(t.raws.ownSemicolon,t,"end")}atrule(t,e){let r="@"+t.name,i=t.params?this.rawValue(t,"params"):"";if(void 0!==t.raws.afterName?r+=t.raws.afterName:i&&(r+=" "),t.nodes)this.block(t,r+i);else{let n=(t.raws.between||"")+(e?";":"");this.builder(r+i+n,t)}}body(t){let e=t.nodes.length-1;for(;e>0&&"comment"===t.nodes[e].type;)e-=1;let r=this.raw(t,"semicolon");for(let i=0;i{if(n=t.raws[r],void 0!==n)return!1}))}var a;return void 0===n&&(n=e[i]),o.rawCache[i]=n,n}rawSemicolon(t){let e;return t.walk((t=>{if(t.nodes&&t.nodes.length&&"decl"===t.last.type&&(e=t.raws.semicolon,void 0!==e))return!1})),e}rawEmptyBody(t){let e;return t.walk((t=>{if(t.nodes&&0===t.nodes.length&&(e=t.raws.after,void 0!==e))return!1})),e}rawIndent(t){if(t.raws.indent)return t.raws.indent;let e;return t.walk((r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&void 0!==r.raws.before){let t=r.raws.before.split("\n");return e=t[t.length-1],e=e.replace(/\S/g,""),!1}})),e}rawBeforeComment(t,e){let r;return t.walkComments((t=>{if(void 0!==t.raws.before)return r=t.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(e,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(t,e){let r;return t.walkDecls((t=>{if(void 0!==t.raws.before)return r=t.raws.before,r.includes("\n")&&(r=r.replace(/[^\n]+$/,"")),!1})),void 0===r?r=this.raw(e,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeRule(t){let e;return t.walk((r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&void 0!==r.raws.before)return e=r.raws.before,e.includes("\n")&&(e=e.replace(/[^\n]+$/,"")),!1})),e&&(e=e.replace(/\S/g,"")),e}rawBeforeClose(t){let e;return t.walk((t=>{if(t.nodes&&t.nodes.length>0&&void 0!==t.raws.after)return e=t.raws.after,e.includes("\n")&&(e=e.replace(/[^\n]+$/,"")),!1})),e&&(e=e.replace(/\S/g,"")),e}rawBeforeOpen(t){let e;return t.walk((t=>{if("decl"!==t.type&&(e=t.raws.between,void 0!==e))return!1})),e}rawColon(t){let e;return t.walkDecls((t=>{if(void 0!==t.raws.between)return e=t.raws.between.replace(/[^\s:]/g,""),!1})),e}beforeAfter(t,e){let r;r="decl"===t.type?this.raw(t,null,"beforeDecl"):"comment"===t.type?this.raw(t,null,"beforeComment"):"before"===e?this.raw(t,null,"beforeRule"):this.raw(t,null,"beforeClose");let i=t.parent,n=0;for(;i&&"root"!==i.type;)n+=1,i=i.parent;if(r.includes("\n")){let e=this.raw(t,null,"indent");if(e.length)for(let t=0;t{"use strict";let i=r(166);function n(t,e){new i(e).stringify(t)}t.exports=n,n.default=n},7140:t=>{"use strict";t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")},7377:t=>{"use strict";const e="'".charCodeAt(0),r='"'.charCodeAt(0),i="\\".charCodeAt(0),n="/".charCodeAt(0),s="\n".charCodeAt(0),o=" ".charCodeAt(0),a="\f".charCodeAt(0),l="\t".charCodeAt(0),c="\r".charCodeAt(0),u="[".charCodeAt(0),h="]".charCodeAt(0),p="(".charCodeAt(0),d=")".charCodeAt(0),f="{".charCodeAt(0),m="}".charCodeAt(0),g=";".charCodeAt(0),b="*".charCodeAt(0),y=":".charCodeAt(0),v="@".charCodeAt(0),w=/[\t\n\f\r "#'()/;[\\\]{}]/g,x=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,S=/.[\n"'(/\\]/,_=/[\da-f]/i;t.exports=function(t,T={}){let C,O,k,A,E,D,P,L,M,q,N=t.css.valueOf(),j=T.ignoreErrors,I=N.length,R=0,B=[],U=[];function F(e){throw t.error("Unclosed "+e,R)}return{back:function(t){U.push(t)},nextToken:function(t){if(U.length)return U.pop();if(R>=I)return;let T=!!t&&t.ignoreUnclosed;switch(C=N.charCodeAt(R),C){case s:case o:case l:case c:case a:O=R;do{O+=1,C=N.charCodeAt(O)}while(C===o||C===s||C===l||C===c||C===a);q=["space",N.slice(R,O)],R=O-1;break;case u:case h:case f:case m:case y:case g:case d:{let t=String.fromCharCode(C);q=[t,t,R];break}case p:if(L=B.length?B.pop()[1]:"",M=N.charCodeAt(R+1),"url"===L&&M!==e&&M!==r&&M!==o&&M!==s&&M!==l&&M!==a&&M!==c){O=R;do{if(D=!1,O=N.indexOf(")",O+1),-1===O){if(j||T){O=R;break}F("bracket")}for(P=O;N.charCodeAt(P-1)===i;)P-=1,D=!D}while(D);q=["brackets",N.slice(R,O+1),R,O],R=O}else O=N.indexOf(")",R+1),A=N.slice(R,O+1),-1===O||S.test(A)?q=["(","(",R]:(q=["brackets",A,R,O],R=O);break;case e:case r:k=C===e?"'":'"',O=R;do{if(D=!1,O=N.indexOf(k,O+1),-1===O){if(j||T){O=R+1;break}F("string")}for(P=O;N.charCodeAt(P-1)===i;)P-=1,D=!D}while(D);q=["string",N.slice(R,O+1),R,O],R=O;break;case v:w.lastIndex=R+1,w.test(N),O=0===w.lastIndex?N.length-1:w.lastIndex-2,q=["at-word",N.slice(R,O+1),R,O],R=O;break;case i:for(O=R,E=!0;N.charCodeAt(O+1)===i;)O+=1,E=!E;if(C=N.charCodeAt(O+1),E&&C!==n&&C!==o&&C!==s&&C!==l&&C!==c&&C!==a&&(O+=1,_.test(N.charAt(O)))){for(;_.test(N.charAt(O+1));)O+=1;N.charCodeAt(O+1)===o&&(O+=1)}q=["word",N.slice(R,O+1),R,O],R=O;break;default:C===n&&N.charCodeAt(R+1)===b?(O=N.indexOf("*/",R+2)+1,0===O&&(j||T?O=N.length:F("comment")),q=["comment",N.slice(R,O+1),R,O],R=O):(x.lastIndex=R+1,x.test(N),O=0===x.lastIndex?N.length-1:x.lastIndex-2,q=["word",N.slice(R,O+1),R,O],B.push(q),R=O)}return R++,q},endOfFile:function(){return 0===U.length&&R>=I},position:function(){return R}}}},1095:t=>{"use strict";let e={};t.exports=function(t){e[t]||(e[t]=!0,"undefined"!=typeof console&&console.warn&&console.warn(t))}},8555:t=>{"use strict";class e{constructor(t,e={}){if(this.type="warning",this.text=t,e.node&&e.node.source){let t=e.node.rangeBy(e);this.line=t.start.line,this.column=t.start.column,this.endLine=t.end.line,this.endColumn=t.end.column}for(let t in e)this[t]=e[t]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}t.exports=e,e.default=e},8864:t=>{t.exports={nanoid:(t=21)=>{let e="",r=t;for(;r--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return e},customAlphabet:(t,e=21)=>(r=e)=>{let i="",n=r;for(;n--;)i+=t[Math.random()*t.length|0];return i}}},9388:t=>{"use strict";t.exports=JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}')},2059:t=>{"use strict";t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}')},2184:t=>{"use strict";t.exports=JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}')},1542:t=>{"use strict";t.exports=JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}')}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt deleted file mode 100644 index fe4c1fe..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/113.270dbb43db912c1b3723.js.LICENSE.txt +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * is-plain-object - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js deleted file mode 100644 index e3938e8..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/134.402424ef4079078b2e0e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[134,61],{937:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,"/* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n.jupyter-widgets-disconnected::before {\n content: '\\f127'; /* chain-broken */\n display: inline-block;\n font: normal normal 900 14px/1 'Font Awesome 5 Free', 'FontAwesome';\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n color: #d9534f;\n padding: 3px;\n align-self: flex-start;\n}\n\n.jupyter-widgets-error-widget {\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n border: solid 1px red;\n margin: 0 auto;\n}\n\n.jupyter-widgets-error-widget.icon-error {\n min-width: var(--jp-widgets-inline-width-short);\n}\n.jupyter-widgets-error-widget.text-error {\n min-width: calc(2 * var(--jp-widgets-inline-width));\n min-height: calc(3 * var(--jp-widgets-inline-height));\n}\n\n.jupyter-widgets-error-widget p {\n text-align: center;\n}\n\n.jupyter-widgets-error-widget.text-error pre::first-line {\n font-weight: bold;\n}\n",""]);const d=a},7117:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,"/* This file has code derived from Lumino CSS files, as noted below. The license for this Lumino code is:\n\nCopyright (c) 2019 Project Jupyter Contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n\nCopyright (c) 2014-2017, PhosphorJS Contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n\n/*\n * The following section is derived from https://github.com/jupyterlab/lumino/blob/23b9d075ebc5b73ab148b6ebfc20af97f85714c4/packages/widgets/style/tabbar.css \n * We've scoped the rules so that they are consistent with exactly our code.\n */\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n display: flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar[data-orientation='horizontal'], /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar[data-orientation='horizontal'], /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar[data-orientation='horizontal'] {\n flex-direction: row;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar[data-orientation='vertical'], /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar[data-orientation='vertical'], /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar[data-orientation='vertical'] {\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar > .p-TabBar-content, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar > .p-TabBar-content, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar > .lm-TabBar-content {\n margin: 0;\n padding: 0;\n display: flex;\n flex: 1 1 auto;\n list-style-type: none;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar[data-orientation='horizontal']\n > .p-TabBar-content,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar[data-orientation='horizontal']\n> .p-TabBar-content,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar[data-orientation='horizontal']\n > .lm-TabBar-content {\n flex-direction: row;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar[data-orientation='vertical']\n > .p-TabBar-content,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar[data-orientation='vertical']\n> .p-TabBar-content,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar[data-orientation='vertical']\n > .lm-TabBar-content {\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab {\n display: flex;\n flex-direction: row;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabIcon,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabCloseIcon {\n flex: 0 0 auto;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabLabel {\n flex: 1 1 auto;\n overflow: hidden;\n white-space: nowrap;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-hidden, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-hidden, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-hidden {\n display: none !important;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar.p-mod-dragging .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar.lm-mod-dragging .lm-TabBar-tab {\n position: relative;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='horizontal']\n .p-TabBar-tab,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='horizontal']\n .p-TabBar-tab,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging[data-orientation='horizontal']\n .lm-TabBar-tab {\n left: 0;\n transition: left 150ms ease;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging[data-orientation='vertical']\n .p-TabBar-tab,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar.p-mod-dragging[data-orientation='vertical']\n.p-TabBar-tab,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging[data-orientation='vertical']\n .lm-TabBar-tab {\n top: 0;\n transition: top 150ms ease;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar.p-mod-dragging\n .p-TabBar-tab.p-mod-dragging,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar.p-mod-dragging\n.p-TabBar-tab.p-mod-dragging,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar.lm-mod-dragging\n .lm-TabBar-tab.lm-mod-dragging {\n transition: none;\n}\n\n/* End tabbar.css */\n",""]);const d=a},4788:(e,n,t)=>{t.d(n,{Z:()=>d});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o)()(r());a.push([e.id,'/*\n\nThe nouislider.css file is autogenerated from nouislider.less, which imports and wraps the nouislider/src/nouislider.less styles.\n\nMIT License\n\nCopyright (c) 2019 Léon Gersen\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n/* The .widget-slider class is deprecated */\n.widget-slider,\n.jupyter-widget-slider {\n /* Functional styling;\n * These styles are required for noUiSlider to function.\n * You don\'t need to change these rules to apply your design.\n */\n /* Wrapper for all connect elements.\n */\n /* Offset direction\n */\n /* Give origins 0 height/width so they don\'t interfere with clicking the\n * connect elements.\n */\n /* Slider size and handle placement;\n */\n /* Styling;\n * Giving the connect element a border radius causes issues with using transform: scale\n */\n /* Handles and cursors;\n */\n /* Handle stripes;\n */\n /* Disabled state;\n */\n /* Base;\n *\n */\n /* Values;\n *\n */\n /* Markings;\n *\n */\n /* Horizontal layout;\n *\n */\n /* Vertical layout;\n *\n */\n /* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n /* Custom CSS for nouislider */\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target,\n.widget-slider .noUi-target *,\n.jupyter-widget-slider .noUi-target * {\n -webkit-touch-callout: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-user-select: none;\n -ms-touch-action: none;\n touch-action: none;\n -ms-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n position: relative;\n}\n.widget-slider .noUi-base,\n.jupyter-widget-slider .noUi-base,\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n width: 100%;\n height: 100%;\n position: relative;\n z-index: 1;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n overflow: hidden;\n z-index: 0;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect,\n.widget-slider .noUi-origin,\n.jupyter-widget-slider .noUi-origin {\n will-change: transform;\n position: absolute;\n z-index: 1;\n top: 0;\n right: 0;\n -ms-transform-origin: 0 0;\n -webkit-transform-origin: 0 0;\n -webkit-transform-style: preserve-3d;\n transform-origin: 0 0;\n transform-style: flat;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n height: 100%;\n width: 100%;\n}\n.widget-slider .noUi-origin,\n.jupyter-widget-slider .noUi-origin {\n height: 10%;\n width: 10%;\n}\n.widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin,\n.jupyter-widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {\n left: 0;\n right: auto;\n}\n.widget-slider .noUi-vertical .noUi-origin,\n.jupyter-widget-slider .noUi-vertical .noUi-origin {\n width: 0;\n}\n.widget-slider .noUi-horizontal .noUi-origin,\n.jupyter-widget-slider .noUi-horizontal .noUi-origin {\n height: 0;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n position: absolute;\n}\n.widget-slider .noUi-touch-area,\n.jupyter-widget-slider .noUi-touch-area {\n height: 100%;\n width: 100%;\n}\n.widget-slider .noUi-state-tap .noUi-connect,\n.jupyter-widget-slider .noUi-state-tap .noUi-connect,\n.widget-slider .noUi-state-tap .noUi-origin,\n.jupyter-widget-slider .noUi-state-tap .noUi-origin {\n -webkit-transition: transform 0.3s;\n transition: transform 0.3s;\n}\n.widget-slider .noUi-state-drag *,\n.jupyter-widget-slider .noUi-state-drag * {\n cursor: inherit !important;\n}\n.widget-slider .noUi-horizontal,\n.jupyter-widget-slider .noUi-horizontal {\n height: 18px;\n}\n.widget-slider .noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-horizontal .noUi-handle {\n width: 34px;\n height: 28px;\n right: -17px;\n top: -6px;\n}\n.widget-slider .noUi-vertical,\n.jupyter-widget-slider .noUi-vertical {\n width: 18px;\n}\n.widget-slider .noUi-vertical .noUi-handle,\n.jupyter-widget-slider .noUi-vertical .noUi-handle {\n width: 28px;\n height: 34px;\n right: -6px;\n top: -17px;\n}\n.widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {\n left: -17px;\n right: auto;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n background: #FAFAFA;\n border-radius: 4px;\n border: 1px solid #D3D3D3;\n box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n border-radius: 3px;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n background: #3FB8AF;\n}\n.widget-slider .noUi-draggable,\n.jupyter-widget-slider .noUi-draggable {\n cursor: ew-resize;\n}\n.widget-slider .noUi-vertical .noUi-draggable,\n.jupyter-widget-slider .noUi-vertical .noUi-draggable {\n cursor: ns-resize;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n border: 1px solid #D9D9D9;\n border-radius: 3px;\n background: #FFF;\n cursor: default;\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;\n}\n.widget-slider .noUi-active,\n.jupyter-widget-slider .noUi-active {\n box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;\n}\n.widget-slider .noUi-handle:before,\n.jupyter-widget-slider .noUi-handle:before,\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n content: "";\n display: block;\n position: absolute;\n height: 14px;\n width: 1px;\n background: #E8E7E6;\n left: 14px;\n top: 6px;\n}\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n left: 17px;\n}\n.widget-slider .noUi-vertical .noUi-handle:before,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:before,\n.widget-slider .noUi-vertical .noUi-handle:after,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:after {\n width: 14px;\n height: 1px;\n left: 6px;\n top: 14px;\n}\n.widget-slider .noUi-vertical .noUi-handle:after,\n.jupyter-widget-slider .noUi-vertical .noUi-handle:after {\n top: 17px;\n}\n.widget-slider [disabled] .noUi-connect,\n.jupyter-widget-slider [disabled] .noUi-connect {\n background: #B8B8B8;\n}\n.widget-slider [disabled].noUi-target,\n.jupyter-widget-slider [disabled].noUi-target,\n.widget-slider [disabled].noUi-handle,\n.jupyter-widget-slider [disabled].noUi-handle,\n.widget-slider [disabled] .noUi-handle,\n.jupyter-widget-slider [disabled] .noUi-handle {\n cursor: not-allowed;\n}\n.widget-slider .noUi-pips,\n.jupyter-widget-slider .noUi-pips,\n.widget-slider .noUi-pips *,\n.jupyter-widget-slider .noUi-pips * {\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n.widget-slider .noUi-pips,\n.jupyter-widget-slider .noUi-pips {\n position: absolute;\n color: #999;\n}\n.widget-slider .noUi-value,\n.jupyter-widget-slider .noUi-value {\n position: absolute;\n white-space: nowrap;\n text-align: center;\n}\n.widget-slider .noUi-value-sub,\n.jupyter-widget-slider .noUi-value-sub {\n color: #ccc;\n font-size: 10px;\n}\n.widget-slider .noUi-marker,\n.jupyter-widget-slider .noUi-marker {\n position: absolute;\n background: #CCC;\n}\n.widget-slider .noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-sub {\n background: #AAA;\n}\n.widget-slider .noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-large {\n background: #AAA;\n}\n.widget-slider .noUi-pips-horizontal,\n.jupyter-widget-slider .noUi-pips-horizontal {\n padding: 10px 0;\n height: 80px;\n top: 100%;\n left: 0;\n width: 100%;\n}\n.widget-slider .noUi-value-horizontal,\n.jupyter-widget-slider .noUi-value-horizontal {\n -webkit-transform: translate(-50%, 50%);\n transform: translate(-50%, 50%);\n}\n.noUi-rtl .widget-slider .noUi-value-horizontal,\n.noUi-rtl .jupyter-widget-slider .noUi-value-horizontal {\n -webkit-transform: translate(50%, 50%);\n transform: translate(50%, 50%);\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker {\n margin-left: -1px;\n width: 2px;\n height: 5px;\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker-sub {\n height: 10px;\n}\n.widget-slider .noUi-marker-horizontal.noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-horizontal.noUi-marker-large {\n height: 15px;\n}\n.widget-slider .noUi-pips-vertical,\n.jupyter-widget-slider .noUi-pips-vertical {\n padding: 0 10px;\n height: 100%;\n top: 0;\n left: 100%;\n}\n.widget-slider .noUi-value-vertical,\n.jupyter-widget-slider .noUi-value-vertical {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n padding-left: 25px;\n}\n.noUi-rtl .widget-slider .noUi-value-vertical,\n.noUi-rtl .jupyter-widget-slider .noUi-value-vertical {\n -webkit-transform: translate(0, 50%);\n transform: translate(0, 50%);\n}\n.widget-slider .noUi-marker-vertical.noUi-marker,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker {\n width: 5px;\n height: 2px;\n margin-top: -1px;\n}\n.widget-slider .noUi-marker-vertical.noUi-marker-sub,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker-sub {\n width: 10px;\n}\n.widget-slider .noUi-marker-vertical.noUi-marker-large,\n.jupyter-widget-slider .noUi-marker-vertical.noUi-marker-large {\n width: 15px;\n}\n.widget-slider .noUi-tooltip,\n.jupyter-widget-slider .noUi-tooltip {\n display: block;\n position: absolute;\n border: 1px solid #D9D9D9;\n border-radius: 3px;\n background: #fff;\n color: #000;\n padding: 5px;\n text-align: center;\n white-space: nowrap;\n}\n.widget-slider .noUi-horizontal .noUi-tooltip,\n.jupyter-widget-slider .noUi-horizontal .noUi-tooltip {\n -webkit-transform: translate(-50%, 0);\n transform: translate(-50%, 0);\n left: 50%;\n bottom: 120%;\n}\n.widget-slider .noUi-vertical .noUi-tooltip,\n.jupyter-widget-slider .noUi-vertical .noUi-tooltip {\n -webkit-transform: translate(0, -50%);\n transform: translate(0, -50%);\n top: 50%;\n right: 120%;\n}\n.widget-slider .noUi-horizontal .noUi-origin > .noUi-tooltip,\n.jupyter-widget-slider .noUi-horizontal .noUi-origin > .noUi-tooltip {\n -webkit-transform: translate(50%, 0);\n transform: translate(50%, 0);\n left: auto;\n bottom: 10px;\n}\n.widget-slider .noUi-vertical .noUi-origin > .noUi-tooltip,\n.jupyter-widget-slider .noUi-vertical .noUi-origin > .noUi-tooltip {\n -webkit-transform: translate(0, -18px);\n transform: translate(0, -18px);\n top: auto;\n right: 28px;\n}\n.widget-slider .noUi-connect,\n.jupyter-widget-slider .noUi-connect {\n background: #2196f3;\n}\n.widget-slider .noUi-horizontal,\n.jupyter-widget-slider .noUi-horizontal {\n height: var(--jp-widgets-slider-track-thickness);\n}\n.widget-slider .noUi-vertical,\n.jupyter-widget-slider .noUi-vertical {\n width: var(--jp-widgets-slider-track-thickness);\n height: 100%;\n}\n.widget-slider .noUi-horizontal .noUi-handle,\n.jupyter-widget-slider .noUi-horizontal .noUi-handle {\n width: var(--jp-widgets-slider-handle-size);\n height: var(--jp-widgets-slider-handle-size);\n border-radius: 50%;\n top: calc((var(--jp-widgets-slider-track-thickness) - var(--jp-widgets-slider-handle-size)) / 2);\n right: calc(var(--jp-widgets-slider-handle-size) / -2);\n}\n.widget-slider .noUi-vertical .noUi-handle,\n.jupyter-widget-slider .noUi-vertical .noUi-handle {\n height: var(--jp-widgets-slider-handle-size);\n width: var(--jp-widgets-slider-handle-size);\n border-radius: 50%;\n right: calc((var(--jp-widgets-slider-handle-size) - var(--jp-widgets-slider-track-thickness)) / -2);\n top: calc(var(--jp-widgets-slider-handle-size) / -2);\n}\n.widget-slider .noUi-handle:after,\n.jupyter-widget-slider .noUi-handle:after {\n content: none;\n}\n.widget-slider .noUi-handle:before,\n.jupyter-widget-slider .noUi-handle:before {\n content: none;\n}\n.widget-slider .noUi-target,\n.jupyter-widget-slider .noUi-target {\n background: #fafafa;\n border-radius: 4px;\n border: 1px;\n /* box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; */\n}\n.widget-slider .ui-slider,\n.jupyter-widget-slider .ui-slider {\n border: var(--jp-widgets-slider-border-width) solid var(--jp-layout-color3);\n background: var(--jp-layout-color3);\n box-sizing: border-box;\n position: relative;\n border-radius: 0px;\n}\n.widget-slider .noUi-handle,\n.jupyter-widget-slider .noUi-handle {\n width: var(--jp-widgets-slider-handle-size);\n border: 1px solid #d9d9d9;\n border-radius: 3px;\n background: #fff;\n cursor: default;\n box-shadow: none;\n outline: none;\n}\n.widget-slider .noUi-target:not([disabled]) .noUi-handle:hover,\n.jupyter-widget-slider .noUi-target:not([disabled]) .noUi-handle:hover,\n.widget-slider .noUi-target:not([disabled]) .noUi-handle:focus,\n.jupyter-widget-slider .noUi-target:not([disabled]) .noUi-handle:focus {\n background-color: var(--jp-widgets-slider-active-handle-color);\n border: var(--jp-widgets-slider-border-width) solid var(--jp-widgets-slider-active-handle-color);\n}\n.widget-slider [disabled].noUi-target,\n.jupyter-widget-slider [disabled].noUi-target {\n opacity: 0.35;\n}\n.widget-slider .noUi-connects,\n.jupyter-widget-slider .noUi-connects {\n overflow: visible;\n z-index: 0;\n background: var(--jp-layout-color3);\n}\n.widget-slider .noUi-vertical .noUi-connect,\n.jupyter-widget-slider .noUi-vertical .noUi-connect {\n width: calc(100% + 2px);\n right: -1px;\n}\n.widget-slider .noUi-horizontal .noUi-connect,\n.jupyter-widget-slider .noUi-horizontal .noUi-connect {\n height: calc(100% + 2px);\n top: -1px;\n}\n',""]);const d=a},5309:(e,n,t)=>{t.d(n,{Z:()=>w});var i=t(9601),r=t.n(i),o=t(2609),a=t.n(o),d=t(7117),s=t(4788),l=t(8991),g=t.n(l),p=new URL(t(584),t.b),c=a()(r());c.i(d.Z),c.i(s.Z);var u=g()(p);c.push([e.id,"/* Copyright (c) Jupyter Development Team.\n * Distributed under the terms of the Modified BSD License.\n */\n\n/*\n * We assume that the CSS variables in\n * https://github.com/jupyterlab/jupyterlab/blob/master/src/default-theme/variables.css\n * have been defined.\n */\n\n:root {\n --jp-widgets-color: var(--jp-content-font-color1);\n --jp-widgets-label-color: var(--jp-widgets-color);\n --jp-widgets-readout-color: var(--jp-widgets-color);\n --jp-widgets-font-size: var(--jp-ui-font-size1);\n --jp-widgets-margin: 2px;\n --jp-widgets-inline-height: 28px;\n --jp-widgets-inline-width: 300px;\n --jp-widgets-inline-width-short: calc(\n var(--jp-widgets-inline-width) / 2 - var(--jp-widgets-margin)\n );\n --jp-widgets-inline-width-tiny: calc(\n var(--jp-widgets-inline-width-short) / 2 - var(--jp-widgets-margin)\n );\n --jp-widgets-inline-margin: 4px; /* margin between inline elements */\n --jp-widgets-inline-label-width: 80px;\n --jp-widgets-border-width: var(--jp-border-width);\n --jp-widgets-vertical-height: 200px;\n --jp-widgets-horizontal-tab-height: 24px;\n --jp-widgets-horizontal-tab-width: 144px;\n --jp-widgets-horizontal-tab-top-border: 2px;\n --jp-widgets-progress-thickness: 20px;\n --jp-widgets-container-padding: 15px;\n --jp-widgets-input-padding: 4px;\n --jp-widgets-radio-item-height-adjustment: 8px;\n --jp-widgets-radio-item-height: calc(\n var(--jp-widgets-inline-height) -\n var(--jp-widgets-radio-item-height-adjustment)\n );\n --jp-widgets-slider-track-thickness: 4px;\n --jp-widgets-slider-border-width: var(--jp-widgets-border-width);\n --jp-widgets-slider-handle-size: 16px;\n --jp-widgets-slider-handle-border-color: var(--jp-border-color1);\n --jp-widgets-slider-handle-background-color: var(--jp-layout-color1);\n --jp-widgets-slider-active-handle-color: var(--jp-brand-color1);\n --jp-widgets-menu-item-height: 24px;\n --jp-widgets-dropdown-arrow: url("+u+");\n --jp-widgets-input-color: var(--jp-ui-font-color1);\n --jp-widgets-input-background-color: var(--jp-layout-color1);\n --jp-widgets-input-border-color: var(--jp-border-color1);\n --jp-widgets-input-focus-border-color: var(--jp-brand-color2);\n --jp-widgets-input-border-width: var(--jp-widgets-border-width);\n --jp-widgets-disabled-opacity: 0.6;\n\n /* From Material Design Lite */\n --md-shadow-key-umbra-opacity: 0.2;\n --md-shadow-key-penumbra-opacity: 0.14;\n --md-shadow-ambient-shadow-opacity: 0.12;\n}\n\n.jupyter-widgets {\n margin: var(--jp-widgets-margin);\n box-sizing: border-box;\n color: var(--jp-widgets-color);\n overflow: visible;\n}\n\n.jp-Output-result > .jupyter-widgets {\n margin-left: 0;\n margin-right: 0;\n}\n\n/* vbox and hbox */\n\n/* */\n.widget-inline-hbox, /* */\n .jupyter-widget-inline-hbox {\n /* Horizontal widgets */\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: baseline;\n}\n\n/* */\n.widget-inline-vbox, /* */\n .jupyter-widget-inline-vbox {\n /* Vertical Widgets */\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n/* */\n.widget-box, /* */\n.jupyter-widget-box {\n box-sizing: border-box;\n display: flex;\n margin: 0;\n overflow: auto;\n}\n\n/* */\n.widget-gridbox, /* */\n.jupyter-widget-gridbox {\n box-sizing: border-box;\n display: grid;\n margin: 0;\n overflow: auto;\n}\n\n/* */\n.widget-hbox, /* */\n.jupyter-widget-hbox {\n flex-direction: row;\n}\n\n/* */\n.widget-vbox, /* */\n.jupyter-widget-vbox {\n flex-direction: column;\n}\n\n/* General Tags Styling */\n\n.jupyter-widget-tagsinput {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n overflow: auto;\n\n cursor: text;\n}\n\n.jupyter-widget-tag {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 0px;\n padding-bottom: 0px;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--jp-widgets-font-size);\n\n height: calc(var(--jp-widgets-inline-height) - 2px);\n border: 0px solid;\n line-height: calc(var(--jp-widgets-inline-height) - 2px);\n box-shadow: none;\n\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color2);\n border-color: var(--jp-border-color2);\n border: none;\n user-select: none;\n\n cursor: grab;\n transition: margin-left 200ms;\n margin: 1px 1px 1px 1px;\n}\n\n.jupyter-widget-tag.mod-active {\n /* MD Lite 4dp shadow */\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 1px 10px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity)),\n 0 2px 4px -1px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity));\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color3);\n}\n\n.jupyter-widget-colortag {\n color: var(--jp-inverse-ui-font-color1);\n}\n\n.jupyter-widget-colortag.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n}\n\n.jupyter-widget-taginput {\n color: var(--jp-ui-font-color0);\n background-color: var(--jp-layout-color0);\n\n cursor: text;\n text-align: left;\n}\n\n.jupyter-widget-taginput:focus {\n outline: none;\n}\n\n.jupyter-widget-tag-close {\n margin-left: var(--jp-widgets-inline-margin);\n padding: 2px 0px 2px 2px;\n}\n\n.jupyter-widget-tag-close:hover {\n cursor: pointer;\n}\n\n/* Tag \"Primary\" Styling */\n\n.jupyter-widget-tag.mod-primary {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-brand-color1);\n}\n\n.jupyter-widget-tag.mod-primary.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n/* Tag \"Success\" Styling */\n\n.jupyter-widget-tag.mod-success {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-success-color1);\n}\n\n.jupyter-widget-tag.mod-success.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n/* Tag \"Info\" Styling */\n\n.jupyter-widget-tag.mod-info {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-info-color1);\n}\n\n.jupyter-widget-tag.mod-info.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n/* Tag \"Warning\" Styling */\n\n.jupyter-widget-tag.mod-warning {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-warn-color1);\n}\n\n.jupyter-widget-tag.mod-warning.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n/* Tag \"Danger\" Styling */\n\n.jupyter-widget-tag.mod-danger {\n color: var(--jp-inverse-ui-font-color1);\n background-color: var(--jp-error-color1);\n}\n\n.jupyter-widget-tag.mod-danger.mod-active {\n color: var(--jp-inverse-ui-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n/* General Button Styling */\n\n.jupyter-button {\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 0px;\n padding-bottom: 0px;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n font-size: var(--jp-widgets-font-size);\n cursor: pointer;\n\n height: var(--jp-widgets-inline-height);\n border: 0px solid;\n line-height: var(--jp-widgets-inline-height);\n box-shadow: none;\n\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color2);\n border-color: var(--jp-border-color2);\n border: none;\n user-select: none;\n}\n\n.jupyter-button i.fa {\n margin-right: var(--jp-widgets-inline-margin);\n pointer-events: none;\n}\n\n.jupyter-button:empty:before {\n content: '\\200b'; /* zero-width space */\n}\n\n.jupyter-widgets.jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n.jupyter-button i.fa.center {\n margin-right: 0;\n}\n\n.jupyter-button:hover:enabled,\n.jupyter-button:focus:enabled {\n /* MD Lite 2dp shadow */\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 3px 1px -2px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity)),\n 0 1px 5px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity));\n}\n\n.jupyter-button:active,\n.jupyter-button.mod-active {\n /* MD Lite 4dp shadow */\n box-shadow: 0 4px 5px 0 rgba(0, 0, 0, var(--md-shadow-key-penumbra-opacity)),\n 0 1px 10px 0 rgba(0, 0, 0, var(--md-shadow-ambient-shadow-opacity)),\n 0 2px 4px -1px rgba(0, 0, 0, var(--md-shadow-key-umbra-opacity));\n color: var(--jp-ui-font-color1);\n background-color: var(--jp-layout-color3);\n}\n\n.jupyter-button:focus:enabled {\n outline: 1px solid var(--jp-widgets-input-focus-border-color);\n}\n\n/* Button \"Primary\" Styling */\n\n.jupyter-button.mod-primary {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-brand-color1);\n}\n\n.jupyter-button.mod-primary.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n.jupyter-button.mod-primary:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-brand-color0);\n}\n\n/* Button \"Success\" Styling */\n\n.jupyter-button.mod-success {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-success-color1);\n}\n\n.jupyter-button.mod-success.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n.jupyter-button.mod-success:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-success-color0);\n}\n\n/* Button \"Info\" Styling */\n\n.jupyter-button.mod-info {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-info-color1);\n}\n\n.jupyter-button.mod-info.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n.jupyter-button.mod-info:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-info-color0);\n}\n\n/* Button \"Warning\" Styling */\n\n.jupyter-button.mod-warning {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-warn-color1);\n}\n\n.jupyter-button.mod-warning.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n.jupyter-button.mod-warning:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-warn-color0);\n}\n\n/* Button \"Danger\" Styling */\n\n.jupyter-button.mod-danger {\n color: var(--jp-ui-inverse-font-color1);\n background-color: var(--jp-error-color1);\n}\n\n.jupyter-button.mod-danger.mod-active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n.jupyter-button.mod-danger:active {\n color: var(--jp-ui-inverse-font-color0);\n background-color: var(--jp-error-color0);\n}\n\n/* Widget Button, Widget Toggle Button, Widget Upload */\n\n/* */\n.widget-button, /* */\n/* */ .widget-toggle-button, /* */\n/* */ .widget-upload, /* */\n.jupyter-widget-button,\n.jupyter-widget-toggle-button,\n.jupyter-widget-upload {\n width: var(--jp-widgets-inline-width-short);\n}\n\n/* Widget Label Styling */\n\n/* Override Bootstrap label css */\n.jupyter-widgets label {\n margin-bottom: initial;\n}\n\n/* */\n.widget-label-basic, /* */\n.jupyter-widget-label-basic {\n /* Basic Label */\n color: var(--jp-widgets-label-color);\n font-size: var(--jp-widgets-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-label, /* */\n.jupyter-widget-label {\n /* Label */\n color: var(--jp-widgets-label-color);\n font-size: var(--jp-widgets-font-size);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-inline-hbox .widget-label, /* */\n.jupyter-widget-inline-hbox .jupyter-widget-label {\n /* Horizontal Widget Label */\n color: var(--jp-widgets-label-color);\n text-align: right;\n margin-right: calc(var(--jp-widgets-inline-margin) * 2);\n width: var(--jp-widgets-inline-label-width);\n flex-shrink: 0;\n}\n\n/* */\n.widget-inline-vbox .widget-label, /* */\n.jupyter-widget-inline-vbox .jupyter-widget-label {\n /* Vertical Widget Label */\n color: var(--jp-widgets-label-color);\n text-align: center;\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* Widget Readout Styling */\n\n/* */\n.widget-readout, /* */\n.jupyter-widget-readout {\n color: var(--jp-widgets-readout-color);\n font-size: var(--jp-widgets-font-size);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n overflow: hidden;\n white-space: nowrap;\n text-align: center;\n}\n\n/* */\n.widget-readout.overflow, /* */\n.jupyter-widget-readout.overflow {\n /* Overflowing Readout */\n\n /* From Material Design Lite\n shadow-key-umbra-opacity: 0.2;\n shadow-key-penumbra-opacity: 0.14;\n shadow-ambient-shadow-opacity: 0.12;\n */\n -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),\n 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n\n -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2),\n 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n\n box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2), 0 3px 1px -2px rgba(0, 0, 0, 0.14),\n 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n}\n\n/* */\n.widget-inline-hbox .widget-readout, /* */\n.jupyter-widget-inline-hbox .jupyter-widget-readout {\n /* Horizontal Readout */\n text-align: center;\n max-width: var(--jp-widgets-inline-width-short);\n min-width: var(--jp-widgets-inline-width-tiny);\n margin-left: var(--jp-widgets-inline-margin);\n}\n\n/* */\n.widget-inline-vbox .widget-readout, /* */\n.jupyter-widget-inline-vbox .jupyter-widget-readout {\n /* Vertical Readout */\n margin-top: var(--jp-widgets-inline-margin);\n /* as wide as the widget */\n width: inherit;\n}\n\n/* Widget Checkbox Styling */\n\n/* */\n.widget-checkbox, /* */\n.jupyter-widget-checkbox {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-checkbox input[type='checkbox'], /* */\n.jupyter-widget-checkbox input[type='checkbox'] {\n margin: 0px calc(var(--jp-widgets-inline-margin) * 2) 0px 0px;\n line-height: var(--jp-widgets-inline-height);\n font-size: large;\n flex-grow: 1;\n flex-shrink: 0;\n align-self: center;\n}\n\n/* Widget Valid Styling */\n\n/* */\n.widget-valid, /* */\n.jupyter-widget-valid {\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width-short);\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-valid i, /* */\n.jupyter-widget-valid i {\n line-height: var(--jp-widgets-inline-height);\n margin-right: var(--jp-widgets-inline-margin);\n margin-left: var(--jp-widgets-inline-margin);\n}\n\n/* */\n.widget-valid.mod-valid i, /* */\n.jupyter-widget-valid.mod-valid i {\n color: green;\n}\n\n/* */\n.widget-valid.mod-invalid i, /* */\n.jupyter-widget-valid.mod-invalid i {\n color: red;\n}\n\n/* */\n.widget-valid.mod-valid .widget-valid-readout, /* */\n.jupyter-widget-valid.mod-valid .jupyter-widget-valid-readout {\n display: none;\n}\n\n/* Widget Text and TextArea Styling */\n\n/* */\n.widget-textarea, /* */\n/* */ .widget-text, /* */\n.jupyter-widget-textarea,\n.jupyter-widget-text {\n width: var(--jp-widgets-inline-width);\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='number'], /* */\n/* */ .widget-text input[type='password'], /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='number'],\n.jupyter-widget-text input[type='password'] {\n height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-text input[type='text']:disabled, /* */\n/* */ .widget-text input[type='number']:disabled, /* */\n/* */ .widget-text input[type='password']:disabled, /* */\n/* */ .widget-textarea textarea:disabled, /* */\n.jupyter-widget-text input[type='text']:disabled,\n.jupyter-widget-text input[type='number']:disabled,\n.jupyter-widget-text input[type='password']:disabled,\n.jupyter-widget-textarea textarea:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='number'], /* */\n/* */ .widget-text input[type='password'], /* */\n/* */ .widget-textarea textarea, /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='number'],\n.jupyter-widget-text input[type='password'],\n.jupyter-widget-textarea textarea {\n box-sizing: border-box;\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n flex-grow: 1;\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n flex-shrink: 1;\n outline: none !important;\n}\n\n/* */\n.widget-text input[type='text'], /* */\n/* */ .widget-text input[type='password'], /* */\n/* */ .widget-textarea textarea, /* */\n.jupyter-widget-text input[type='text'],\n.jupyter-widget-text input[type='password'],\n.jupyter-widget-textarea textarea {\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n}\n\n/* */\n.widget-text input[type='number'], /* */\n.jupyter-widget-text input[type='number'] {\n padding: var(--jp-widgets-input-padding) 0 var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n}\n\n/* */\n.widget-textarea textarea, /* */\n.jupyter-widget-textarea textarea {\n height: inherit;\n width: inherit;\n}\n\n/* */\n.widget-text input:focus, /* */\n/* */ .widget-textarea textarea:focus, /* */\n.jupyter-widget-text input:focus,\n.jupyter-widget-textarea textarea:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* Horizontal Slider */\n/* */\n.widget-hslider, /* */\n.jupyter-widget-hslider {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n\n /* Override the align-items baseline. This way, the description and readout\n still seem to align their baseline properly, and we don't have to have\n align-self: stretch in the .slider-container. */\n align-items: center;\n}\n\n/* */\n.widgets-slider .slider-container, /* */\n.jupyter-widgets-slider .slider-container {\n overflow: visible;\n}\n\n/* */\n.widget-hslider .slider-container, /* */\n.jupyter-widget-hslider .slider-container {\n margin-left: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n margin-right: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n flex: 1 1 var(--jp-widgets-inline-width-short);\n}\n\n/* Vertical Slider */\n\n/* */\n.widget-vbox .widget-label, /* */\n.jupyter-widget-vbox .jupyter-widget-label {\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-vslider, /* */\n.jupyter-widget-vslider {\n /* Vertical Slider */\n height: var(--jp-widgets-vertical-height);\n width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-vslider .slider-container, /* */\n.jupyter-widget-vslider .slider-container {\n flex: 1 1 var(--jp-widgets-inline-width-short);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n margin-top: calc(\n var(--jp-widgets-slider-handle-size) / 2 - 2 *\n var(--jp-widgets-slider-border-width)\n );\n display: flex;\n flex-direction: column;\n}\n\n/* Widget Progress Styling */\n\n.progress-bar {\n -webkit-transition: none;\n -moz-transition: none;\n -ms-transition: none;\n -o-transition: none;\n transition: none;\n}\n\n.progress-bar {\n height: var(--jp-widgets-inline-height);\n}\n\n.progress-bar {\n background-color: var(--jp-brand-color1);\n}\n\n.progress-bar-success {\n background-color: var(--jp-success-color1);\n}\n\n.progress-bar-info {\n background-color: var(--jp-info-color1);\n}\n\n.progress-bar-warning {\n background-color: var(--jp-warn-color1);\n}\n\n.progress-bar-danger {\n background-color: var(--jp-error-color1);\n}\n\n.progress {\n background-color: var(--jp-layout-color2);\n border: none;\n box-shadow: none;\n}\n\n/* Horisontal Progress */\n\n/* */\n.widget-hprogress, /* */\n.jupyter-widget-hprogress {\n /* Progress Bar */\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width);\n align-items: center;\n}\n\n/* */\n.widget-hprogress .progress, /* */\n.jupyter-widget-hprogress .progress {\n flex-grow: 1;\n margin-top: var(--jp-widgets-input-padding);\n margin-bottom: var(--jp-widgets-input-padding);\n align-self: stretch;\n /* Override bootstrap style */\n height: initial;\n}\n\n/* Vertical Progress */\n\n/* */\n.widget-vprogress, /* */\n.jupyter-widget-vprogress {\n height: var(--jp-widgets-vertical-height);\n width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-vprogress .progress, /* */\n.jupyter-widget-vprogress .progress {\n flex-grow: 1;\n width: var(--jp-widgets-progress-thickness);\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 0;\n}\n\n/* Select Widget Styling */\n\n/* */\n.widget-dropdown, /* */\n.jupyter-widget-dropdown {\n height: var(--jp-widgets-inline-height);\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-dropdown > select, /* */\n.jupyter-widget-dropdown > select {\n padding-right: 20px;\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n border-radius: 0;\n height: inherit;\n flex: 1 1 var(--jp-widgets-inline-width-short);\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n box-sizing: border-box;\n outline: none !important;\n box-shadow: none;\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n vertical-align: top;\n padding-left: calc(var(--jp-widgets-input-padding) * 2);\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n background-repeat: no-repeat;\n background-size: 20px;\n background-position: right center;\n background-image: var(--jp-widgets-dropdown-arrow);\n}\n/* */\n.widget-dropdown > select:focus, /* */\n.jupyter-widget-dropdown > select:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-dropdown > select:disabled, /* */\n.jupyter-widget-dropdown > select:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* To disable the dotted border in Firefox around select controls.\n See http://stackoverflow.com/a/18853002 */\n/* */\n.widget-dropdown > select:-moz-focusring, /* */\n.jupyter-widget-dropdown > select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #000;\n}\n\n/* Select and SelectMultiple */\n\n/* */\n.widget-select, /* */\n.jupyter-widget-select {\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n\n /* Because Firefox defines the baseline of a select as the bottom of the\n control, we align the entire control to the top and add padding to the\n select to get an approximate first line baseline alignment. */\n align-items: flex-start;\n}\n\n/* */\n.widget-select > select, /* */\n.jupyter-widget-select > select {\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n flex: 1 1 var(--jp-widgets-inline-width-short);\n outline: none !important;\n overflow: auto;\n height: inherit;\n\n /* Because Firefox defines the baseline of a select as the bottom of the\n control, we align the entire control to the top and add padding to the\n select to get an approximate first line baseline alignment. */\n padding-top: 5px;\n}\n\n/* */\n.widget-select > select:focus, /* */\n.jupyter-widget-select > select:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n.wiget-select > select > option,\n.jupyter-wiget-select > select > option {\n padding-left: var(--jp-widgets-input-padding);\n line-height: var(--jp-widgets-inline-height);\n /* line-height doesn't work on some browsers for select options */\n padding-top: calc(\n var(--jp-widgets-inline-height) - var(--jp-widgets-font-size) / 2\n );\n padding-bottom: calc(\n var(--jp-widgets-inline-height) - var(--jp-widgets-font-size) / 2\n );\n}\n\n/* Toggle Buttons Styling */\n\n/* */\n.widget-toggle-buttons, /* */\n.jupyter-widget-toggle-buttons {\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-toggle-buttons .widget-toggle-button, /* */\n.jupyter-widget-toggle-buttons .jupyter-widget-toggle-button {\n margin-left: var(--jp-widgets-margin);\n margin-right: var(--jp-widgets-margin);\n}\n\n/* */\n.widget-toggle-buttons .jupyter-button:disabled, /* */\n.jupyter-widget-toggle-buttons .jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Radio Buttons Styling */\n\n/* */\n.widget-radio, /* */\n.jupyter-widget-radio {\n width: var(--jp-widgets-inline-width);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-radio-box, /* */\n.jupyter-widget-radio-box {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n box-sizing: border-box;\n flex-grow: 1;\n margin-bottom: var(--jp-widgets-radio-item-height-adjustment);\n}\n\n/* */\n.widget-radio-box label, /* */\n.jupyter-widget-radio-box label {\n height: var(--jp-widgets-radio-item-height);\n line-height: var(--jp-widgets-radio-item-height);\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-radio-box input, /* */\n.jupyter-widget-radio-box input {\n height: var(--jp-widgets-radio-item-height);\n line-height: var(--jp-widgets-radio-item-height);\n margin: 0 calc(var(--jp-widgets-input-padding) * 2) 0 1px;\n float: left;\n}\n\n/* Color Picker Styling */\n\n/* */\n.widget-colorpicker, /* */\n.jupyter-widget-colorpicker {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-colorpicker > .widget-colorpicker-input, /* */\n.jupyter-widget-colorpicker > .jupyter-widget-colorpicker-input {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: var(--jp-widgets-inline-width-tiny);\n}\n\n/* */\n.widget-colorpicker input[type='color'], /* */\n.jupyter-widget-colorpicker input[type='color'] {\n width: var(--jp-widgets-inline-height);\n height: var(--jp-widgets-inline-height);\n padding: 0 2px; /* make the color square actually square on Chrome on OS X */\n background: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n border-left: none;\n flex-grow: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n align-self: stretch;\n outline: none !important;\n}\n\n/* */\n.widget-colorpicker.concise input[type='color'], /* */\n.jupyter-widget-colorpicker.concise input[type='color'] {\n border-left: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n}\n\n/* */\n.widget-colorpicker input[type='color']:focus, /* */\n/* */ .widget-colorpicker input[type='text']:focus, /* */\n.jupyter-widget-colorpicker input[type='color']:focus,\n.jupyter-widget-colorpicker input[type='text']:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-colorpicker input[type='text'], /* */\n.jupyter-widget-colorpicker input[type='text'] {\n flex-grow: 1;\n outline: none !important;\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n background: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n font-size: var(--jp-widgets-font-size);\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n flex-shrink: 1;\n box-sizing: border-box;\n}\n\n/* */\n.widget-colorpicker input[type='text']:disabled, /* */\n.jupyter-widget-colorpicker input[type='text']:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Date Picker Styling */\n\n/* */\n.widget-datepicker, /* */\n.jupyter-widget-datepicker {\n width: var(--jp-widgets-inline-width);\n height: var(--jp-widgets-inline-height);\n line-height: var(--jp-widgets-inline-height);\n}\n\n/* */\n.widget-datepicker input[type='date'], /* */\n.jupyter-widget-datepicker input[type='date'] {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0; /* This makes it possible for the flexbox to shrink this input */\n outline: none !important;\n height: var(--jp-widgets-inline-height);\n border: var(--jp-widgets-input-border-width) solid\n var(--jp-widgets-input-border-color);\n background-color: var(--jp-widgets-input-background-color);\n color: var(--jp-widgets-input-color);\n font-size: var(--jp-widgets-font-size);\n padding: var(--jp-widgets-input-padding)\n calc(var(--jp-widgets-input-padding) * 2);\n box-sizing: border-box;\n}\n\n/* */\n.widget-datepicker input[type='date']:focus, /* */\n.jupyter-widget-datepicker input[type='date']:focus {\n border-color: var(--jp-widgets-input-focus-border-color);\n}\n\n/* */\n.widget-datepicker input[type='date']:invalid, /* */\n.jupyter-widget-datepicker input[type='date']:invalid {\n border-color: var(--jp-warn-color1);\n}\n\n/* */\n.widget-datepicker input[type='date']:disabled, /* */\n.jupyter-widget-datepicker input[type='date']:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Play Widget */\n\n/* */\n.widget-play, /* */\n.jupyter-widget-play {\n width: var(--jp-widgets-inline-width-short);\n display: flex;\n align-items: stretch;\n}\n\n/* */\n.widget-play .jupyter-button, /* */\n.jupyter-widget-play .jupyter-button {\n flex-grow: 1;\n height: auto;\n}\n\n/* */\n.widget-play .jupyter-button:disabled, /* */\n.jupyter-widget-play .jupyter-button:disabled {\n opacity: var(--jp-widgets-disabled-opacity);\n}\n\n/* Tab Widget */\n\n/* */\n.jupyter-widgets.widget-tab, /* */\n.jupyter-widgets.jupyter-widget-tab {\n display: flex;\n flex-direction: column;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n /* Necessary so that a tab can be shifted down to overlay the border of the box below. */\n overflow-x: visible;\n overflow-y: visible;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar > .p-TabBar-content, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar > .p-TabBar-content, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar > .lm-TabBar-content {\n /* Make sure that the tab grows from bottom up */\n align-items: flex-end;\n min-width: 0;\n min-height: 0;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .widget-tab-contents, /* */\n.jupyter-widgets.jupyter-widget-tab > .widget-tab-contents {\n width: 100%;\n box-sizing: border-box;\n margin: 0;\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n padding: var(--jp-widgets-container-padding);\n flex-grow: 1;\n overflow: auto;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar {\n font: var(--jp-widgets-font-size) Helvetica, Arial, sans-serif;\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + var(--jp-border-width)\n );\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab {\n flex: 0 1 var(--jp-widgets-horizontal-tab-width);\n min-width: 35px;\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + var(--jp-border-width)\n );\n line-height: var(--jp-widgets-horizontal-tab-height);\n margin-left: calc(-1 * var(--jp-border-width));\n padding: 0px 10px;\n background: var(--jp-layout-color2);\n color: var(--jp-ui-font-color2);\n border: var(--jp-border-width) solid var(--jp-border-color1);\n border-bottom: none;\n position: relative;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-current {\n color: var(--jp-ui-font-color0);\n /* We want the background to match the tab content background */\n background: var(--jp-layout-color1);\n min-height: calc(\n var(--jp-widgets-horizontal-tab-height) + 2 * var(--jp-border-width)\n );\n transform: translateY(var(--jp-border-width));\n overflow: visible;\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current:before, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab.p-mod-current:before, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab.lm-mod-current:before {\n position: absolute;\n top: calc(-1 * var(--jp-border-width));\n left: calc(-1 * var(--jp-border-width));\n content: '';\n height: var(--jp-widgets-horizontal-tab-top-border);\n width: calc(100% + 2 * var(--jp-border-width));\n background: var(--jp-brand-color1);\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tab:first-child, /* */\n/* */.jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tab:first-child, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tab:first-child {\n margin-left: 0;\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-TabBar-tab:hover:not(.p-mod-current),\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .p-TabBar\n .p-TabBar-tab:hover:not(.p-mod-current),\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-TabBar-tab:hover:not(.lm-mod-current) {\n background: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-mod-closable\n > .p-TabBar-tabCloseIcon,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-tab\n> .p-TabBar\n.p-mod-closable\n> .p-TabBar-tabCloseIcon,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-mod-closable\n > .lm-TabBar-tabCloseIcon {\n margin-left: 4px;\n}\n\n/* This font-awesome strategy may not work across FA4 and FA5, but we don't\nactually support closable tabs, so it really doesn't matter */\n/* */\n.jupyter-widgets.widget-tab\n > .p-TabBar\n .p-mod-closable\n > .p-TabBar-tabCloseIcon:before,\n/* */\n/* */\n.jupyter-widgets.jupyter-widget-widget-tab\n> .p-TabBar\n.p-mod-closable\n> .p-TabBar-tabCloseIcon:before,\n/* */\n.jupyter-widgets.jupyter-widget-tab\n > .lm-TabBar\n .lm-mod-closable\n > .lm-TabBar-tabCloseIcon:before {\n font-family: FontAwesome;\n content: '\\f00d'; /* close */\n}\n\n/* */\n.jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */ .jupyter-widgets.widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabIcon, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabLabel, /* */\n/* */ .jupyter-widgets.jupyter-widget-tab > .p-TabBar .p-TabBar-tabCloseIcon, /* */\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabIcon,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabLabel,\n.jupyter-widgets.jupyter-widget-tab > .lm-TabBar .lm-TabBar-tabCloseIcon {\n line-height: var(--jp-widgets-horizontal-tab-height);\n}\n\n/* Accordion Widget */\n\n.jupyter-widget-Collapse {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.jupyter-widget-Collapse-header {\n padding: var(--jp-widgets-input-padding);\n cursor: pointer;\n color: var(--jp-ui-font-color2);\n background-color: var(--jp-layout-color2);\n border: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n padding: calc(var(--jp-widgets-container-padding) * 2 / 3)\n var(--jp-widgets-container-padding);\n font-weight: bold;\n}\n\n.jupyter-widget-Collapse-header:hover {\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n}\n\n.jupyter-widget-Collapse-open > .jupyter-widget-Collapse-header {\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color0);\n cursor: default;\n border-bottom: none;\n}\n\n.jupyter-widget-Collapse-contents {\n padding: var(--jp-widgets-container-padding);\n background-color: var(--jp-layout-color1);\n color: var(--jp-ui-font-color1);\n border-left: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n border-right: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n border-bottom: var(--jp-widgets-border-width) solid var(--jp-border-color1);\n overflow: auto;\n}\n\n.jupyter-widget-Accordion {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n}\n\n.jupyter-widget-Accordion .jupyter-widget-Collapse {\n margin-bottom: 0;\n}\n\n.jupyter-widget-Accordion .jupyter-widget-Collapse + .jupyter-widget-Collapse {\n margin-top: 4px;\n}\n\n/* HTML widget */\n\n/* */\n.widget-html, /* */\n/* */ .widget-htmlmath, /* */\n.jupyter-widget-html,\n.jupyter-widget-htmlmath {\n font-size: var(--jp-widgets-font-size);\n}\n\n/* */\n.widget-html > .widget-html-content, /* */\n/* */.widget-htmlmath > .widget-html-content, /* */\n.jupyter-widget-html > .jupyter-widget-html-content,\n.jupyter-widget-htmlmath > .jupyter-widget-html-content {\n /* Fill out the area in the HTML widget */\n align-self: stretch;\n flex-grow: 1;\n flex-shrink: 1;\n /* Makes sure the baseline is still aligned with other elements */\n line-height: var(--jp-widgets-inline-height);\n /* Make it possible to have absolutely-positioned elements in the html */\n position: relative;\n}\n\n/* Image widget */\n\n/* */\n.widget-image, /* */\n.jupyter-widget-image {\n max-width: 100%;\n height: auto;\n}\n",""]);const w=c},2609:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t="",i=void 0!==n[5];return n[4]&&(t+="@supports (".concat(n[4],") {")),n[2]&&(t+="@media ".concat(n[2]," {")),i&&(t+="@layer".concat(n[5].length>0?" ".concat(n[5]):""," {")),t+=e(n),i&&(t+="}"),n[2]&&(t+="}"),n[4]&&(t+="}"),t})).join("")},n.i=function(e,t,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var d=0;d0?" ".concat(g[5]):""," {").concat(g[1],"}")),g[5]=o),t&&(g[2]?(g[1]="@media ".concat(g[2]," {").concat(g[1],"}"),g[2]=t):g[2]=t),r&&(g[4]?(g[1]="@supports (".concat(g[4],") {").concat(g[1],"}"),g[4]=r):g[4]="".concat(r)),n.push(g))}},n}},8991:e=>{e.exports=function(e,n){return n||(n={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),n.hash&&(e+=n.hash),/["'() \t\n]|(%20)/.test(e)||n.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},9601:e=>{e.exports=function(e){return e[1]}},6062:e=>{var n=[];function t(e){for(var t=-1,i=0;i{var n={};e.exports=function(e,t){var i=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}},1173:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},7892:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},4036:e=>{e.exports=function(e){var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var i="";t.supports&&(i+="@supports (".concat(t.supports,") {")),t.media&&(i+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(i+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),i+=t.css,r&&(i+="}"),t.media&&(i+="}"),t.supports&&(i+="}");var o=t.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),n.styleTagTransform(i,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},2464:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},61:(e,n,t)=>{t.d(n,{N:()=>i});const i="2.0.0"},134:(e,n,t)=>{t.r(n),t.d(n,{KernelWidgetManager:()=>T,LabWidgetManager:()=>v,WidgetManager:()=>f,WidgetRenderer:()=>w,default:()=>ge,output:()=>i,registerWidgetManager:()=>te});var i={};t.r(i),t.d(i,{OUTPUT_WIDGET_VERSION:()=>P,OutputModel:()=>U,OutputView:()=>k});var r=t(4411),o=t(6165),a=t(2634),d=t(9101),s=t(8714),l=t(8918),g=t(5923),p=t(5658),c=t(1526),u=t(3992);class w extends u.Panel{constructor(e,n){super(),this._manager=new c.PromiseDelegate,this._rerenderMimeModel=null,this.mimeType=e.mimeType,n&&(this.manager=n)}set manager(e){e.restored.connect(this._rerender,this),this._manager.resolve(e)}async renderModel(e){const n=e.data[this.mimeType];this.node.textContent="Loading widget...";const t=await this._manager.promise;if(""===n.model_id)return this.hide(),Promise.resolve();let i,r;try{i=await t.get_model(n.model_id)}catch(n){return t.restoredStatus?(this.node.textContent="Error displaying widget: model not found",this.addClass("jupyter-widgets"),void console.error(n)):void(this._rerenderMimeModel=e)}this._rerenderMimeModel=null;try{r=(await t.create_view(i)).luminoWidget}catch(e){return this.node.textContent="Error displaying widget",this.addClass("jupyter-widgets"),void console.error(e)}this.node.textContent="",this.addWidget(r),r.disposed.connect((()=>{this.hide(),n.model_id=""}))}dispose(){this.isDisposed||(this._manager=null,super.dispose())}_rerender(){this._rerenderMimeModel&&(this.node.textContent="",this.removeClass("jupyter-widgets"),this.renderModel(this._rerenderMimeModel))}}var h=t(7193),E=t(183),b=t(1840),j=t(9e3);class y{constructor(){this._cache=Object.create(null)}set(e,n,t){if(e in this._cache||(this._cache[e]=Object.create(null)),n in this._cache[e])throw`Version ${n} of key ${e} already registered.`;this._cache[e][n]=t}get(e,n){if(e in this._cache){const t=this._cache[e],i=(0,j.maxSatisfying)(Object.keys(t),n);if(null!==i)return t[i]}}getAllVersions(e){if(e in this._cache)return this._cache[e]}}const m="application/vnd.jupyter.widget-view+json",D="application/vnd.jupyter.widget-state+json";class v extends E.ManagerBase{constructor(e){super(),this._handleCommOpen=async(e,n)=>{const t=new h.shims.services.Comm(e);await this.handle_comm_open(t,n)},this._restored=new b.Signal(this),this._restoredStatus=!1,this._kernelRestoreInProgress=!1,this._isDisposed=!1,this._registry=new y,this._modelsSync=new Map,this._onUnhandledIOPubMessage=new b.Signal(this),this._rendermime=e}callbacks(e){return{iopub:{output:e=>{this._onUnhandledIOPubMessage.emit(e)}}}}_handleKernelChanged({oldValue:e,newValue:n}){e&&e.removeCommTarget(this.comm_target_name,this._handleCommOpen),n&&n.registerCommTarget(this.comm_target_name,this._handleCommOpen)}disconnect(){super.disconnect(),this._restoredStatus=!1}async _loadFromKernel(){var e;if(!this.kernel)throw new Error("Kernel not set");if(!1!==(null===(e=this.kernel)||void 0===e?void 0:e.handleComms))return super._loadFromKernel()}async _create_comm(e,n,t,i,r){const o=this.kernel;if(!o)throw new Error("No current kernel");const a=o.createComm(e,n);return(t||i)&&a.open(t,i,r),new h.shims.services.Comm(a)}async _get_comm_info(){const e=this.kernel;if(!e)throw new Error("No current kernel");const n=await e.requestCommInfo({target_name:this.comm_target_name});return"ok"===n.content.status?n.content.comms:{}}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,this._commRegistration&&this._commRegistration.dispose())}async resolveUrl(e){return e}async loadClass(e,n,t){"@jupyter-widgets/base"!==n&&"@jupyter-widgets/controls"!==n||!(0,j.valid)(t)||(t=`^${t}`);const i=this._registry.getAllVersions(n);if(!i)throw new Error(`No version of module ${n} is registered`);const r=this._registry.get(n,t);if(!r){const e=Object.keys(i);throw new Error(`Module ${n}, version ${t} is not registered, however, ${e.join(",")} ${e.length>1?"are":"is"}`)}let o;o="function"==typeof r?await r():await r;const a=o[e];if(!a)throw new Error(`Class ${e} not found in module ${n}`);return a}get rendermime(){return this._rendermime}get restored(){return this._restored}get restoredStatus(){return this._restoredStatus}get onUnhandledIOPubMessage(){return this._onUnhandledIOPubMessage}register(e){this._registry.set(e.name,e.version,e.exports)}register_model(e,n){super.register_model(e,n),n.then((n=>{this._modelsSync.set(e,n),n.once("comm:close",(()=>{this._modelsSync.delete(e)}))}))}async clear_state(){await super.clear_state(),this._modelsSync=new Map}get_state_sync(e={}){const n=[];for(const e of this._modelsSync.values())e.comm_live&&n.push(e);return(0,E.serialize_state)(n,e)}}class T extends v{constructor(e,n){super(n),this._kernel=e,e.statusChanged.connect(((e,n)=>{this._handleKernelStatusChange(n)})),e.connectionStatusChanged.connect(((e,n)=>{this._handleKernelConnectionStatusChange(n)})),this._handleKernelChanged({name:"kernel",oldValue:null,newValue:e}),this.restoreWidgets()}_handleKernelConnectionStatusChange(e){"connected"===e&&(this._kernelRestoreInProgress||this.restoreWidgets())}_handleKernelStatusChange(e){"restarting"===e&&this.disconnect()}async restoreWidgets(){try{this._kernelRestoreInProgress=!0,await this._loadFromKernel(),this._restoredStatus=!0,this._restored.emit()}catch(e){}this._kernelRestoreInProgress=!1}dispose(){this.isDisposed||(this._kernel=null,super.dispose())}get kernel(){return this._kernel}}class f extends v{constructor(e,n,t){var i,r;super(n),this._context=e,e.sessionContext.kernelChanged.connect(((e,n)=>{this._handleKernelChanged(n)})),e.sessionContext.statusChanged.connect(((e,n)=>{this._handleKernelStatusChange(n)})),e.sessionContext.connectionStatusChanged.connect(((e,n)=>{this._handleKernelConnectionStatusChange(n)})),(null===(i=e.sessionContext.session)||void 0===i?void 0:i.kernel)&&this._handleKernelChanged({name:"kernel",oldValue:null,newValue:null===(r=e.sessionContext.session)||void 0===r?void 0:r.kernel}),this.restoreWidgets(this._context.model),this._settings=t,e.saveState.connect(((e,n)=>{"started"===n&&t.saveState&&this._saveState()}))}_saveState(){const e=this.get_state_sync({drop_defaults:!0});this._context.model.metadata.set("widgets",{"application/vnd.jupyter.widget-state+json":e})}_handleKernelConnectionStatusChange(e){"connected"===e&&(this._kernelRestoreInProgress||this.restoreWidgets(this._context.model,{loadKernel:!0,loadNotebook:!1}))}_handleKernelStatusChange(e){"restarting"===e&&this.disconnect()}async restoreWidgets(e,{loadKernel:n,loadNotebook:t}={loadKernel:!0,loadNotebook:!0}){try{if(n)try{this._kernelRestoreInProgress=!0,await this._loadFromKernel()}finally{this._kernelRestoreInProgress=!1}t&&await this._loadFromNotebook(e),this._restoredStatus=!0,this._restored.emit()}catch(e){}}async _loadFromNotebook(e){const n=e.metadata.get("widgets");if(n&&n[D]){let e=n[D];e=this.filterExistingModelState(e),await this.set_state(e)}}dispose(){this.isDisposed||(this._context=null,super.dispose())}async resolveUrl(e){const n=await this.context.urlResolver.resolveUrl(e);return this.context.urlResolver.getDownloadUrl(n)}get context(){return this._context}get kernel(){var e,n,t;return null!==(t=null===(n=null===(e=this._context.sessionContext)||void 0===e?void 0:e.session)||void 0===n?void 0:n.kernel)&&void 0!==t?t:null}register_model(e,n){super.register_model(e,n),this.setDirty()}async clear_state(){await super.clear_state(),this.setDirty()}setDirty(){this._settings.saveState&&(this._context.model.dirty=!0)}}var x=t(7787),C=t(8097),R=t(2994),A=t.n(R);const P=x.OUTPUT_WIDGET_VERSION;class U extends x.OutputModel{defaults(){return Object.assign(Object.assign({},super.defaults()),{msg_id:"",outputs:[]})}initialize(e,n){super.initialize(e,n),this._outputs=new C.OutputAreaModel({trusted:!0}),this._msgHook=e=>(this.add(e),!1),this.widget_manager instanceof f&&this.widget_manager.context.sessionContext.kernelChanged.connect(((e,n)=>{this._handleKernelChanged(n)})),this.listenTo(this,"change:msg_id",this.reset_msg_id),this.listenTo(this,"change:outputs",this.setOutputs),this.setOutputs()}_handleKernelChanged({oldValue:e}){const n=this.get("msg_id");n&&e&&(e.removeMessageHook(n,this._msgHook),this.set("msg_id",null))}reset_msg_id(){const e=this.widget_manager.kernel,n=this.get("msg_id"),t=this.previous("msg_id");t&&e&&e.removeMessageHook(t,this._msgHook),n&&e&&e.registerMessageHook(n,this._msgHook)}add(e){const n=e.header.msg_type;switch(n){case"execute_result":case"display_data":case"stream":case"error":{const t=e.content;t.output_type=n,this._outputs.add(t);break}case"clear_output":this.clear_output(e.content.wait)}this.set("outputs",this._outputs.toJSON(),{newMessage:!0}),this.save_changes()}clear_output(e=!1){this._outputs.clear(e)}get outputs(){return this._outputs}setOutputs(e,n,t){t&&t.newMessage||(this.clear_output(),this._outputs.fromJSON(JSON.parse(JSON.stringify(this.get("outputs")))))}}class k extends x.OutputView{_createElement(e){return this.luminoWidget=new h.JupyterLuminoPanelWidget({view:this}),this.luminoWidget.node}_setElement(e){if(this.el||e!==this.luminoWidget.node)throw new Error("Cannot reset the DOM element.");this.el=this.luminoWidget.node,this.$el=A()(this.luminoWidget.node)}render(){super.render(),this._outputView=new C.OutputArea({rendermime:this.model.widget_manager.rendermime,contentFactory:C.OutputArea.defaultContentFactory,model:this.model.outputs}),this.luminoWidget.insertWidget(0,this._outputView),this.luminoWidget.addClass("jupyter-widgets"),this.luminoWidget.addClass("widget-output"),this.update()}remove(){return this._outputView.dispose(),super.remove()}}var I=t(61),S=t(6062),B=t.n(S),O=t(4036),_=t.n(O),z=t(6793),N=t.n(z),M=t(7892),L=t.n(M),W=t(1173),H=t.n(W),F=t(2464),V=t.n(F),G=t(937),Y={};Y.styleTagTransform=V(),Y.setAttributes=L(),Y.insert=N().bind(null,"head"),Y.domAPI=_(),Y.insertStyleElement=H(),B()(G.Z,Y),G.Z&&G.Z.locals&&G.Z.locals;var Z=t(5309),K={};K.styleTagTransform=V(),K.setAttributes=L(),K.insert=N().bind(null,"head"),K.domAPI=_(),K.insertStyleElement=H(),B()(Z.Z,K),Z.Z&&Z.Z.locals&&Z.Z.locals;var J=t(4579),$=t(2856);const X=[],q={saveState:!1};function*Q(e){for(const n of e.widgets)if("code"===n.model.type)for(const e of n.outputArea.widgets)for(const n of(0,l.toArray)(e.children()))n instanceof w&&(yield n)}function*ee(e,n){const t=(0,l.filter)(e.shell.widgets(),(e=>e.id.startsWith("LinkedOutputView-")&&e.path===n));for(const e of(0,l.toArray)(t))for(const n of(0,l.toArray)(e.children()))for(const e of(0,l.toArray)(n.children()))e instanceof w&&(yield e)}function*ne(...e){for(const n of e)yield*n}function te(e,n,t){let i=le.widgetManagerProperty.get(e);i||(i=new f(e,n,q),X.forEach((e=>i.register(e))),le.widgetManagerProperty.set(e,i));for(const e of t)e.manager=i;return n.removeMimeType(m),n.addFactory({safe:!1,mimeTypes:[m],createRenderer:e=>new w(e,i)},-10),new g.DisposableDelegate((()=>{n&&n.removeMimeType(m),i.dispose()}))}const ie={id:"@jupyter-widgets/jupyterlab-manager:plugin",requires:[d.IRenderMimeRegistry],optional:[o.INotebookTracker,r.ISettingRegistry,a.IMainMenu,s.ILoggerRegistry,$.ITranslator],provides:h.IJupyterWidgetRegistry,activate:function(e,n,t,i,r,o,a){const{commands:d}=e,s=(null!=a?a:$.nullTranslator).load("jupyterlab_widgets"),l=e=>{if(!o)return;const n=le.widgetManagerProperty.get(e.context);n&&n.onUnhandledIOPubMessage.connect(((n,t)=>{const i=o.getLogger(e.context.path);let r="warning";(J.KernelMessage.isErrorMsg(t)||J.KernelMessage.isStreamMsg(t)&&"stderr"===t.content.name)&&(r="error");const a=Object.assign(Object.assign({},t.content),{output_type:t.header.msg_type});i.rendermime=e.content.rendermime,i.log({type:"output",data:a,level:r})}))};return null!==i&&i.load(ie.id).then((e=>{e.changed.connect(re),re(e)})).catch((e=>{console.error(e.message)})),n.addFactory({safe:!1,mimeTypes:[m],createRenderer:e=>new w(e)},-10),null!==t&&(t.forEach((n=>{te(n.context,n.content.rendermime,ne(Q(n.content),ee(e,n.context.path))),l(n)})),t.widgetAdded.connect(((n,t)=>{te(t.context,t.content.rendermime,ne(Q(t.content),ee(e,t.context.path))),l(t)}))),null!==i&&d.addCommand("@jupyter-widgets/jupyterlab-manager:saveWidgetState",{label:s.__("Save Widget State Automatically"),execute:e=>i.set(ie.id,"saveState",!q.saveState).catch((e=>{console.error(`Failed to set ${ie.id}: ${e.message}`)})),isToggled:()=>q.saveState}),r&&r.settingsMenu.addGroup([{command:"@jupyter-widgets/jupyterlab-manager:saveWidgetState"}]),{registerWidget(e){X.push(e)}}},autoStart:!0};function re(e){q.saveState=e.get("saveState").composite}const oe={id:`@jupyter-widgets/jupyterlab-manager:base-${h.JUPYTER_WIDGETS_VERSION}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/base",version:h.JUPYTER_WIDGETS_VERSION,exports:{WidgetModel:h.WidgetModel,WidgetView:h.WidgetView,DOMWidgetView:h.DOMWidgetView,DOMWidgetModel:h.DOMWidgetModel,LayoutModel:h.LayoutModel,LayoutView:h.LayoutView,StyleModel:h.StyleModel,StyleView:h.StyleView,ErrorWidgetView:h.ErrorWidgetView}})}},ae={id:`@jupyter-widgets/jupyterlab-manager:controls-${I.N}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/controls",version:I.N,exports:()=>new Promise(((e,n)=>{t.e(863).then((n=>{e(t(2534))}).bind(null,t)).catch((e=>{n(e)}))}))})}},de={id:`@jupyter-widgets/jupyterlab-manager:output-${P}`,requires:[h.IJupyterWidgetRegistry],autoStart:!0,activate:(e,n)=>{n.registerWidget({name:"@jupyter-widgets/output",version:P,exports:{OutputModel:U,OutputView:k}})}},se=[ie,oe,ae,de];var le;!function(e){e.widgetManagerProperty=new p.AttachedProperty({name:"widgetManager",create:e=>{}})}(le||(le={}));const ge=se},584:e=>{e.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxOCAxOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTggMTg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO30KPC9zdHlsZT4KPHBhdGggZD0iTTUuMiw1LjlMOSw5LjdsMy44LTMuOGwxLjIsMS4ybC00LjksNWwtNC45LTVMNS4yLDUuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTAtMC42aDE4djE4SDBWLTAuNnoiLz4KPC9zdmc+Cg"}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js deleted file mode 100644 index 6bd683c..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/150.1a6d6a3a0542a41bec5a.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[150],{6110:(e,t,o)=>{"use strict";o.r(t),o.d(t,{CONTROL_COMM_PROTOCOL_VERSION:()=>g,CONTROL_COMM_TARGET:()=>f,CONTROL_COMM_TIMEOUT:()=>p,ManagerBase:()=>v,base64ToBuffer:()=>d,bufferToBase64:()=>m,bufferToHex:()=>a,hexToBuffer:()=>i,serialize_state:()=>b});var s=o(7193),n=o(1526),r=o(5766);const l=["00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F","10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F","30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F","40","41","42","43","44","45","46","47","48","49","4A","4B","4C","4D","4E","4F","50","51","52","53","54","55","56","57","58","59","5A","5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67","68","69","6A","6B","6C","6D","6E","6F","70","71","72","73","74","75","76","77","78","79","7A","7B","7C","7D","7E","7F","80","81","82","83","84","85","86","87","88","89","8A","8B","8C","8D","8E","8F","90","91","92","93","94","95","96","97","98","99","9A","9B","9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7","D8","D9","DA","DB","DC","DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7","F8","F9","FA","FB","FC","FD","FE","FF"];function a(e){const t=new Uint8Array(e),o=[];for(let e=0;e/g,">");for(navigator&&"Microsoft Internet Explorer"===navigator.appName&&(r=r.replace(/(%[^\n]*)\n/g,"$1
\n"));t>e;)n[t]="",t--;return n[e]="@@"+s.length+"@@",o&&(r=o(r)),s.push(r),n}var u=o(4330),h=o.n(u);const w=s.PROTOCOL_VERSION.split(".",1)[0],f="jupyter.widget.control",g="1.0.0",p=4e3;class v{constructor(){this.comm_target_name="jupyter.widget",this._models=Object.create(null)}setViewOptions(e={}){return e}create_view(e,t={}){const o=(0,s.uuid)(),n=e.state_change=e.state_change.then((async()=>{const n=e.get("_view_name"),r=e.get("_view_module");try{const s=new(await this.loadViewClass(n,r,e.get("_view_module_version")))({model:e,options:this.setViewOptions(t)});return s.listenTo(e,"destroy",s.remove),await s.render(),s.once("remove",(()=>{e.views&&delete e.views[o]})),s}catch(o){console.error(`Could not create a view for model id ${e.model_id}`);const l=`Failed to create view for '${n}' from module '${r}' with model '${e.name}' from module '${e.module}'`,a=new(s.createErrorWidgetModel(o,l)),i=new s.ErrorWidgetView({model:a,options:this.setViewOptions(t)});return await i.render(),i}}));return e.views&&(e.views[o]=n),n}callbacks(e){return{}}async get_model(e){const t=this._models[e];if(void 0===t)throw new Error("widget model not found");return t}has_model(e){return void 0!==this._models[e]}handle_comm_open(e,t){const o=(t.metadata||{}).version||"";if(o.split(".",1)[0]!==w){const e=`Wrong widget protocol version: received protocol version '${o}', but was expecting major version '${w}'`;return console.error(e),Promise.reject(e)}const n=t.content.data,r=n.buffer_paths||[],l=t.buffers||[];return(0,s.put_buffers)(n.state,r,l),this.new_model({model_name:n.state._model_name,model_module:n.state._model_module,model_module_version:n.state._model_module_version,comm:e},n.state).catch((0,s.reject)("Could not create a model.",!0))}new_widget(e,t={}){let o;if(void 0===e.view_name||void 0===e.view_module||void 0===e.view_module_version)return Promise.reject("new_widget(...) must be given view information in the options.");o=e.comm?Promise.resolve(e.comm):this._create_comm(this.comm_target_name,e.model_id,{state:{_model_module:e.model_module,_model_module_version:e.model_module_version,_model_name:e.model_name,_view_module:e.view_module,_view_module_version:e.view_module_version,_view_name:e.view_name}},{version:s.PROTOCOL_VERSION});const n=Object.assign({},e);return o.then((e=>(n.comm=e,this.new_model(n,t).then((e=>(e.sync("create",e),e))))),(()=>(n.model_id||(n.model_id=(0,s.uuid)()),this.new_model(n,t))))}register_model(e,t){this._models[e]=t,t.then((t=>{t.once("comm:close",(()=>{delete this._models[e]}))}))}async new_model(e,t={}){var o,s;const n=null!==(o=e.model_id)&&void 0!==o?o:null===(s=e.comm)||void 0===s?void 0:s.comm_id;if(!n)throw new Error("Neither comm nor model_id provided in options object. At least one must exist.");e.model_id=n;const r=this._make_model(e,t);return this.register_model(n,r),await r}async _loadFromKernel(){let e,t;try{const o=await this._create_comm(f,(0,s.uuid)(),{},{version:g});await new Promise(((s,n)=>{o.on_msg((o=>{e=o.content.data,"update_states"===e.method?(t=(o.buffers||[]).map((e=>e instanceof DataView?e:new DataView(e instanceof ArrayBuffer?e:e.buffer))),s(null)):console.warn(`\n Unknown ${e.method} message on the Control channel\n `)})),o.on_close((()=>n("Control comm was closed too early"))),o.send({method:"request_states"},{}),setTimeout((()=>n("Control comm did not respond in time")),p)})),o.close()}catch(e){return console.warn('Failed to fetch ipywidgets through the "jupyter.widget.control" comm channel, fallback to fetching individual model state. Reason:',e),this._loadFromKernelModels()}const o=e.states,n={},r={};for(let o=0;o({widget_id:e,comm:this.has_model(e)?void 0:await this._create_comm("jupyter.widget",e)}))));await Promise.all(l.map((async({widget_id:e,comm:t})=>{const l=o[e];e in n&&(0,s.put_buffers)(l,n[e],r[e]);try{if(t)await this.new_model({model_name:l.model_name,model_module:l.model_module,model_module_version:l.model_module_version,model_id:e,comm:t},l.state);else{const t=await this.get_model(e),o=await t.constructor._deserialize_state(l.state,this);t.set_state(o)}}catch(e){console.error(e)}})))}async _loadFromKernelModels(){const e=await this._get_comm_info(),t=await Promise.all(Object.keys(e).map((async e=>{if(this.has_model(e))return;const t=await this._create_comm(this.comm_target_name,e);let o="";const r=new n.PromiseDelegate;return t.on_msg((e=>{if(e.parent_header.msg_id===o&&"comm_msg"===e.header.msg_type&&"update"===e.content.data.method){const o=e.content.data,n=o.buffer_paths||[],l=e.buffers||[];(0,s.put_buffers)(o.state,n,l),r.resolve({comm:t,msg:e})}})),o=t.send({method:"request_state"},this.callbacks(void 0)),r.promise})));await Promise.all(t.map((async e=>{if(!e)return;const t=e.msg.content;await this.new_model({model_name:t.data.state._model_name,model_module:t.data.state._model_module,model_module_version:t.data.state._model_module_version,comm:e.comm},t.data.state)})))}async _make_model(e,t={}){const o=e.model_id,n=this.loadModelClass(e.model_name,e.model_module,e.model_module_version);let r;const l=(e,t)=>new(s.createErrorWidgetModel(e,t));try{r=await n}catch(e){const t="Could not instantiate widget";return console.error(t),l(e,t)}if(!r){const t="Could not instantiate widget";return console.error(t),l(new Error(`Cannot find model module ${e.model_module}@${e.model_module_version}, ${e.model_name}`),t)}let a;try{const s=await r._deserialize_state(t,this);a=new r(s,{widget_manager:this,model_id:o,comm:e.comm})}catch(t){console.error(t),a=l(t,`Model class '${e.model_name}' from module '${e.model_module}' is loaded but can not be instantiated`)}return a.name=e.model_name,a.module=e.model_module,a}clear_state(){return(0,s.resolvePromisesDict)(this._models).then((e=>{Object.keys(e).forEach((t=>e[t].close())),this._models=Object.create(null)}))}get_state(e={}){const t=Object.keys(this._models).map((e=>this._models[e]));return Promise.all(t).then((t=>b(t,e)))}set_state(e){if(!(e.version_major&&e.version_major<=2))throw"Unsupported widget state format";const t=e.state;return this._get_comm_info().then((e=>Promise.all(Object.keys(t).map((o=>{const n={base64:d,hex:i},r=t[o],l=r.state;if(r.buffers){const e=r.buffers.map((e=>e.path)),t=r.buffers.map((e=>new DataView(n[e.encoding](e.data))));(0,s.put_buffers)(r.state,e,t)}if(this.has_model(o))return this.get_model(o).then((e=>e.constructor._deserialize_state(l||{},this).then((t=>(e.set_state(t),e)))));const a={model_id:o,model_name:r.model_name,model_module:r.model_module,model_module_version:r.model_module_version};return Object.prototype.hasOwnProperty.call(e,"model_id")?this._create_comm(this.comm_target_name,o).then((e=>(a.comm=e,this.new_model(a)))):this.new_model(a,l)})))))}disconnect(){Object.keys(this._models).forEach((e=>{this._models[e].then((e=>{e.comm_live=!1}))}))}resolveUrl(e){return Promise.resolve(e)}inline_sanitize(e){const t=function(e){const t=[];let o,s=null,n=null,r=null,l=0;/`/.test(e)?(e=e.replace(/~/g,"~T").replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm,(e=>e.replace(/\$/g,"~D"))),o=e=>e.replace(/~([TD])/g,((e,t)=>"T"===t?"~":"$"))):o=e=>e;let a=e.replace(/\r\n?/g,"\n").split(c);for(let e=1,i=a.length;e{let o=n[t];return"\\\\("===o.substr(0,3)&&"\\\\)"===o.substr(o.length-3)?o="\\("+o.substring(3,o.length-3)+"\\)":"\\\\["===o.substr(0,3)&&"\\\\]"===o.substr(o.length-3)&&(o="\\["+o.substring(3,o.length-3)+"\\]"),o}))}async loadModelClass(e,t,o){try{const s=this.loadClass(e,t,o);return await s,s}catch(o){console.error(o);const n=`Failed to load model class '${e}' from module '${t}'`;return s.createErrorWidgetModel(o,n)}}async loadViewClass(e,t,o){try{const s=this.loadClass(e,t,o);return await s,s}catch(o){console.error(o);const n=`Failed to load view class '${e}' from module '${t}'`;return s.createErrorWidgetView(o,n)}}filterExistingModelState(e){let t=e.state;return t=Object.keys(t).filter((e=>!this.has_model(e))).reduce(((e,o)=>(e[o]=t[o],e)),{}),Object.assign(Object.assign({},e),{state:t})}}function b(e,t={}){const o={};return e.forEach((e=>{const n=e.model_id,r=(0,s.remove_buffers)(e.serialize(e.get_state(t.drop_defaults))),l=r.buffers.map(((e,t)=>({data:m(e),path:r.buffer_paths[t],encoding:"base64"})));o[n]={model_name:e.name,model_module:e.module,model_module_version:e.get("_model_module_version"),state:r.state},l.length>0&&(o[n].buffers=l)})),{version_major:2,version_minor:0,state:o}}},6527:()=>{},6969:()=>{},2232:()=>{},4195:()=>{},3443:()=>{}}]); \ No newline at end of file diff --git a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js b/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js deleted file mode 100644 index 1091231..0000000 --- a/static/extensions/@jupyter-widgets/jupyterlab-manager/static/291.0b98a9cbc7337e1749ed.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 291.0b98a9cbc7337e1749ed.js.LICENSE.txt */ -(self.webpackChunk_jupyter_widgets_jupyterlab_manager=self.webpackChunk_jupyter_widgets_jupyterlab_manager||[]).push([[291],{8291:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(r,i){"use strict";var o=[],a=Object.getPrototypeOf,s=o.slice,u=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},l=o.push,c=o.indexOf,f={},p=f.toString,d=f.hasOwnProperty,h=d.toString,g=h.call(Object),v={},y=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},m=function(e){return null!=e&&e===e.window},x=r.document,b={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,i,o=(n=n||x).createElement("script");if(o.text=e,t)for(r in b)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[p.call(e)]||"object":typeof e}var C="3.6.3",S=function(e,t){return new S.fn.init(e,t)};function E(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!y(e)&&!m(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}S.fn=S.prototype={jquery:C,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(e){return this.pushStack(S.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(S.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{if(n.cssSupportsSelector&&!CSS.supports("selector(:is("+y+"))"))throw new Error;return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.cssSupportsSelector=ce((function(){return CSS.supports("selector(*)")&&d.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)})),n.cssSupportsSelector||v.push(":has"),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType&&e.documentElement||e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(j),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=S[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&S(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Se(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),S=T+=null==w?1:Math.random()||.1,E=C.length;for(c&&(l=a==d||a||c);m!==E&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=S)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=S,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(j).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ce((function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(r);S.find=k,S.expr=k.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=k.uniqueSort,S.text=k.getText,S.isXMLDoc=k.isXML,S.contains=k.contains,S.escapeSelector=k.escape;var A=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},j=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=S.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var q=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return y(t)?S.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?S.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?S.grep(e,(function(e){return c.call(t,e)>-1!==n})):S.filter(t,e,n)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,(function(e){return 1===e.nodeType})))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter((function(){for(t=0;t1?S.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&N.test(e)?S(e):e||[],!1).length}});var H,O=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||H,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:O.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:x,!0)),q.test(r[1])&&S.isPlainObject(t))for(r in t)y(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=x.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):y(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,H=S(x);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?c.call(S(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return A(e,"parentNode")},parentsUntil:function(e,t,n){return A(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return A(e,"nextSibling")},prevAll:function(e){return A(e,"previousSibling")},nextUntil:function(e,t,n){return A(e,"nextSibling",n)},prevUntil:function(e,t,n){return A(e,"previousSibling",n)},siblings:function(e){return j((e.parentNode||{}).firstChild,e)},children:function(e){return j(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(D(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},(function(e,t){S.fn[e]=function(n,r){var i=S.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=S.filter(r,i)),this.length>1&&(R[e]||S.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}}));var I=/[^\x20\t\r\n\f]+/g;function W(e){return e}function F(e){throw e}function $(e,t,n,r){var i;try{e&&y(i=e.promise)?i.call(e).done(t).fail(n):e&&y(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return S.each(e.match(I)||[],(function(e,n){t[n]=!0})),t}(e):S.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?S.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},S.extend({Deferred:function(e){var t=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return S.Deferred((function(n){S.each(t,(function(t,r){var i=y(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&y(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,i){var o=0;function a(e,t,n,i){return function(){var s=this,u=arguments,l=function(){var r,l;if(!(e=o&&(n!==F&&(s=void 0,u=[r]),t.rejectWith(s,u))}};e?c():(S.Deferred.getStackHook&&(c.stackTrace=S.Deferred.getStackHook()),r.setTimeout(c))}}return S.Deferred((function(r){t[0][3].add(a(0,r,y(i)?i:W,r.notifyWith)),t[1][3].add(a(0,r,y(e)?e:W)),t[2][3].add(a(0,r,y(n)?n:F))})).promise()},promise:function(e){return null!=e?S.extend(e,i):i}},o={};return S.each(t,(function(e,r){var a=r[2],s=r[5];i[r[1]]=a.add,s&&a.add((function(){n=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(r[3].fire),o[r[0]]=function(){return o[r[0]+"With"](this===o?void 0:this,arguments),this},o[r[0]+"With"]=a.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=S.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&($(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||y(i[n]&&i[n].then)))return o.then();for(;n--;)$(i[n],a(n),o.reject);return o.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){r.console&&r.console.warn&&e&&B.test(e.name)&&r.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){r.setTimeout((function(){throw e}))};var _=S.Deferred();function z(){x.removeEventListener("DOMContentLoaded",z),r.removeEventListener("load",z),S.ready()}S.fn.ready=function(e){return _.then(e).catch((function(e){S.readyException(e)})),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0,!0!==e&&--S.readyWait>0||_.resolveWith(x,[S]))}}),S.ready.then=_.then,"complete"===x.readyState||"loading"!==x.readyState&&!x.documentElement.doScroll?r.setTimeout(S.ready):(x.addEventListener("DOMContentLoaded",z),r.addEventListener("load",z));var U=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)U(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,y(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Z.remove(this,e)}))}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){S.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:S.Callbacks("once memory").add((function(){K.remove(e,[t+"queue",n])}))})}}),S.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,me=/^$|^module$|\/(?:java|ecma)script/i;he=x.createDocumentFragment().appendChild(x.createElement("div")),(ge=x.createElement("input")).setAttribute("type","radio"),ge.setAttribute("checked","checked"),ge.setAttribute("name","t"),he.appendChild(ge),v.checkClone=he.cloneNode(!0).cloneNode(!0).lastChild.checked,he.innerHTML="",v.noCloneChecked=!!he.cloneNode(!0).lastChild.defaultValue,he.innerHTML="",v.option=!!he.lastChild;var xe={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function be(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?S.merge([e],n):n}function we(e,t){for(var n=0,r=e.length;n",""]);var Te=/<|&#?\w+;/;function Ce(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=se(o),a=be(f.appendChild(o),"script"),l&&we(a),n)for(c=0;o=a[c++];)me.test(o.type||"")&&n.push(o);return f}var Se=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Ae(e,t){return e===function(){try{return x.activeElement}catch(e){}}()==("focus"===t)}function je(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)je(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,i=function(e){return S().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=S.guid++)),e.each((function(){S.event.add(this,t,i,r,n)}))}function Ne(e,t,n){n?(K.set(e,t,!1),S.event.add(e,t,{namespace:!1,handler:function(e){var r,i,o=K.get(this,t);if(1&e.isTrigger&&this[t]){if(o.length)(S.event.special[t]||{}).delegateType&&e.stopPropagation();else if(o=s.call(arguments),K.set(this,t,o),r=n(this,t),this[t](),o!==(i=K.get(this,t))||r?K.set(this,t,!1):i={},o!==i)return e.stopImmediatePropagation(),e.preventDefault(),i&&i.value}else o.length&&(K.set(this,t,{value:S.event.trigger(S.extend(o[0],S.Event.prototype),o.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===K.get(e,t)&&S.event.add(e,t,Ee)}S.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=K.get(e);if(Q(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(ae,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==S&&S.event.triggered!==t.type?S.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;l--;)d=g=(s=Se.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=K.hasData(e)&&K.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(I)||[""]).length;l--;)if(d=g=(s=Se.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&K.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(K.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\s*$/g;function He(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Re(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(K.hasData(e)&&(s=K.get(e).events))for(i in K.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof h&&!v.checkClone&&qe.test(h))return e.each((function(i){var o=e.eq(i);g&&(t[0]=h.call(this,i,o.html())),Ie(o,t,n,r)}));if(p&&(o=(i=Ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=S.map(be(i,"script"),Oe)).length;f0&&we(a,!u&&be(e,"script")),s},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(Q(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),S.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return U(this,(function(e){return void 0===e?S.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Ie(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||He(this,e).appendChild(e)}))},prepend:function(){return Ie(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=He(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Ie(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Ie(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(be(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return S.clone(this,e,t)}))},html:function(e){return U(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!De.test(e)&&!xe[(ye.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function it(e,t,n){var r=Be(e),i=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Ve(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Fe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&D(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+rt(e,t,n||(i?"border":"content"),o,r,a)+"px"}function ot(e,t,n,r,i){return new ot.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ve(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=Y(t),u=$e.test(t),l=e.style;if(u||(t=Ke(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ce(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=Y(t);return $e.test(t)||(t=Ke(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ve(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],(function(e,t){S.cssHooks[t]={get:function(e,n,r){if(n)return!Ze.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):_e(e,et,(function(){return it(e,t,r)}))},set:function(e,n,r){var i,o=Be(e),a=!v.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===S.css(e,"boxSizing",!1,o),u=r?rt(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-rt(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=S.css(e,t)),nt(0,n,u)}}})),S.cssHooks.marginLeft=Ge(v.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ve(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),S.each({margin:"",padding:"",border:"Width"},(function(e,t){S.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(S.cssHooks[e+t].set=nt)})),S.fn.extend({css:function(e,t){return U(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Be(e),i=t.length;a1)}}),S.Tween=ot,ot.prototype={constructor:ot,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=ot.propHooks[this.prop];return e&&e.get?e.get(this):ot.propHooks._default.get(this)},run:function(e){var t,n=ot.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ot.propHooks._default.set(this),this}},ot.prototype.init.prototype=ot.prototype,ot.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Ke(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}},ot.propHooks.scrollTop=ot.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=ot.prototype.init,S.fx.step={};var at,st,ut=/^(?:toggle|show|hide)$/,lt=/queueHooks$/;function ct(){st&&(!1===x.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(ct):r.setTimeout(ct,S.fx.interval),S.fx.tick())}function ft(){return r.setTimeout((function(){at=void 0})),at=Date.now()}function pt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function dt(e,t,n){for(var r,i=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){S.removeAttr(this,e)}))}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?gt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),gt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=vt[t]||S.find.attr;vt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=vt[a],vt[a]=i,i=null!=n(e,t,r)?a:null,vt[a]=o),i}}));var yt=/^(?:input|select|textarea|button)$/i,mt=/^(?:a|area)$/i;function xt(e){return(e.match(I)||[]).join(" ")}function bt(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(I)||[]}S.fn.extend({prop:function(e,t){return U(this,S.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[S.propFix[e]||e]}))}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||mt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){S.propFix[this.toLowerCase()]=this})),S.fn.extend({addClass:function(e){var t,n,r,i,o,a;return y(e)?this.each((function(t){S(this).addClass(e.call(this,t,bt(this)))})):(t=wt(e)).length?this.each((function(){if(r=bt(this),n=1===this.nodeType&&" "+xt(r)+" "){for(o=0;o-1;)n=n.replace(" "+i+" "," ");a=xt(n),r!==a&&this.setAttribute("class",a)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,r,i,o,a=typeof e,s="string"===a||Array.isArray(e);return y(e)?this.each((function(n){S(this).toggleClass(e.call(this,n,bt(this),t),t)})):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=wt(e),this.each((function(){if(s)for(o=S(this),i=0;i-1)return!0;return!1}});var Tt=/\r/g;S.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=y(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,S(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=S.map(i,(function(e){return null==e?"":e+""}))),(t=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=S.valHooks[i.type]||S.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(Tt,""):null==n?"":n:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:xt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],(function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=S.inArray(S(e).val(),t)>-1}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),v.focusin="onfocusin"in r;var Ct=/^(?:focusinfocus|focusoutblur)$/,St=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,i){var o,a,s,u,l,c,f,p,h=[n||x],g=d.call(e,"type")?e.type:e,v=d.call(e,"namespace")?e.namespace.split("."):[];if(a=p=s=n=n||x,3!==n.nodeType&&8!==n.nodeType&&!Ct.test(g+S.event.triggered)&&(g.indexOf(".")>-1&&(v=g.split("."),g=v.shift(),v.sort()),l=g.indexOf(":")<0&&"on"+g,(e=e[S.expando]?e:new S.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=v.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),f=S.event.special[g]||{},i||!f.trigger||!1!==f.trigger.apply(n,t))){if(!i&&!f.noBubble&&!m(n)){for(u=f.delegateType||g,Ct.test(u+g)||(a=a.parentNode);a;a=a.parentNode)h.push(a),s=a;s===(n.ownerDocument||x)&&h.push(s.defaultView||s.parentWindow||r)}for(o=0;(a=h[o++])&&!e.isPropagationStopped();)p=a,e.type=o>1?u:f.bindType||g,(c=(K.get(a,"events")||Object.create(null))[e.type]&&K.get(a,"handle"))&&c.apply(a,t),(c=l&&a[l])&&c.apply&&Q(a)&&(e.result=c.apply(a,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(h.pop(),t)||!Q(n)||l&&y(n[g])&&!m(n)&&((s=n[l])&&(n[l]=null),S.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,St),n[g](),e.isPropagationStopped()&&p.removeEventListener(g,St),S.event.triggered=void 0,s&&(n[l]=s)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each((function(){S.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),v.focusin||S.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){S.event.simulate(t,e.target,S.event.fix(e))};S.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}}));var Et=r.location,kt={guid:Date.now()},At=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new r.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var jt=/\[\]$/,Nt=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,qt=/^(?:input|select|textarea|keygen)/i;function Lt(e,t,n,r){var i;if(Array.isArray(t))S.each(t,(function(t,i){n||jt.test(e)?r(e,i):Lt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==T(t))r(e,t);else for(i in t)Lt(e+"["+i+"]",t[i],n,r)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=y(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,(function(){i(this.name,this.value)}));else for(n in e)Lt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&qt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!ve.test(e))})).map((function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,(function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}})):{name:t.name,value:n.replace(Nt,"\r\n")}})).get()}});var Ht=/%20/g,Ot=/#.*$/,Pt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,It=/^\/\//,Wt={},Ft={},$t="*/".concat("*"),Bt=x.createElement("a");function _t(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(I)||[];if(y(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function zt(e,t,n,r){var i={},o=e===Ft;function a(s){var u;return i[s]=!0,S.each(e[s]||[],(function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Ut(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Bt.href=Et.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ut(Ut(e,S.ajaxSettings),t):Ut(S.ajaxSettings,e)},ajaxPrefilter:_t(Wt),ajaxTransport:_t(Ft),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,o,a,s,u,l,c,f,p,d=S.ajaxSetup({},t),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?S(h):S.event,v=S.Deferred(),y=S.Callbacks("once memory"),m=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Rt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)m[t]=[m[t],e[t]];return this},abort:function(e){var t=e||T;return n&&n.abort(t),E(0,t),this}};if(v.promise(C),d.url=((e||d.url||Et.href)+"").replace(It,Et.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(I)||[""],null==d.crossDomain){u=x.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Bt.protocol+"//"+Bt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=S.param(d.data,d.traditional)),zt(Wt,d,t,C),l)return C;for(f in(c=S.event&&d.global)&&0==S.active++&&S.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Mt.test(d.type),i=d.url.replace(Ot,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Ht,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(At.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Pt,"$1"),p=(At.test(i)?"&":"?")+"_="+kt.guid+++p),d.url=i+p),d.ifModified&&(S.lastModified[i]&&C.setRequestHeader("If-Modified-Since",S.lastModified[i]),S.etag[i]&&C.setRequestHeader("If-None-Match",S.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+$t+"; q=0.01":""):d.accepts["*"]),d.headers)C.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,C,d)||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),n=zt(Ft,d,t,C)){if(C.readyState=1,c&&g.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(s=r.setTimeout((function(){C.abort("timeout")}),d.timeout));try{l=!1,n.send(b,E)}catch(e){if(l)throw e;E(-1,e)}}else E(-1,"No Transport");function E(e,t,a,u){var f,p,x,b,w,T=t;l||(l=!0,s&&r.clearTimeout(s),n=void 0,o=u||"",C.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,C,a)),!f&&S.inArray("script",d.dataTypes)>-1&&S.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,b,C,f),f?(d.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(S.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(S.etag[i]=w)),204===e||"HEAD"===d.type?T="nocontent":304===e?T="notmodified":(T=b.state,p=b.data,f=!(x=b.error))):(x=T,!e&&T||(T="error",e<0&&(e=0))),C.status=e,C.statusText=(t||T)+"",f?v.resolveWith(h,[p,T,C]):v.rejectWith(h,[C,T,x]),C.statusCode(m),m=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[C,d,f?p:x]),y.fireWith(h,[C,T]),c&&(g.trigger("ajaxComplete",[C,d]),--S.active||S.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],(function(e,t){S[t]=function(e,n,r,i){return y(n)&&(i=i||r,r=n,n=void 0),S.ajax(S.extend({url:e,type:t,dataType:i,data:n,success:r},S.isPlainObject(e)&&e))}})),S.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(y(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return y(e)?this.each((function(t){S(this).wrapInner(e.call(this,t))})):this.each((function(){var t=S(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=y(e);return this.each((function(n){S(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){S(this).replaceWith(this.childNodes)})),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(e){}};var Xt={0:200,1223:204},Vt=S.ajaxSettings.xhr();v.cors=!!Vt&&"withCredentials"in Vt,v.ajax=Vt=!!Vt,S.ajaxTransport((function(e){var t,n;if(v.cors||Vt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=n=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Xt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),n=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=n:s.onreadystatechange=function(){4===s.readyState&&r.setTimeout((function(){t&&n()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),S.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),S.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=S(" - - - - - diff --git a/static/jupyter-lite.ipynb b/static/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/jupyter-lite.json b/static/jupyter-lite.json deleted file mode 100644 index 058bf9b..0000000 --- a/static/jupyter-lite.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "appName": "JupyterLite", - "appVersion": "0.1.0", - "baseUrl": "./", - "appUrl": "./lab", - "defaultKernelName": "python", - "faviconUrl": "./lab/favicon.ico", - "federated_extensions": [], - "fullLabextensionsUrl": "./extensions", - "fullMathjaxUrl": "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js", - "fullStaticUrl": "./build", - "licensesUrl": "./lab/api/licenses", - "mathjaxConfig": "TeX-AMS_CHTML-full,Safe" - } -} diff --git a/static/jupyterlite.schema.v0.json b/static/jupyterlite.schema.v0.json deleted file mode 100644 index 288793c..0000000 --- a/static/jupyterlite.schema.v0.json +++ /dev/null @@ -1,331 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "https://jupyterlite.readthedocs.org/en/latest/reference/schema-v0.html#", - "title": "JupyterLite Schema v0", - "description": "a schema for user-serviceable customizaton of a JupyterLite", - "$ref": "#/definitions/top", - "definitions": { - "top": { - "title": "JupyterLite Configuration", - "description": "a user-serviceable file for customizing a JupyterLite site", - "properties": { - "jupyter-lite-schema-version": { - "type": "integer", - "description": "version of the schema to which the instance conforms", - "enum": [0] - }, - "jupyter-config-data": { - "$ref": "#/definitions/jupyter-config-data" - } - } - }, - "jupyterlab-settings-overrides": { - "title": "JupyterLab Settings Overrides", - "description": "A map of config objects keyed by `@org/pkg:plugin` which override the default settings. See https://jupyterlab.readthedocs.io/en/stable/user/directories.html#overridesjson", - "type": "object", - "patternProperties": { - "^(@[a-z0-9-~][a-z0-9-._~]*/)?[a-z0-9-~][a-z0-9-._~]*:(.*)$": { - "description": "A valid configuration which must conform to the plugin's defined schema", - "type": "object" - } - } - }, - "jupyter-config-data": { - "title": "Jupyter Config Data", - "description": "contents of a jupyter-config-data ` - - - diff --git a/static/lab/jupyter-lite.ipynb b/static/lab/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/lab/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/lab/jupyter-lite.json b/static/lab/jupyter-lite.json deleted file mode 100644 index 222730a..0000000 --- a/static/lab/jupyter-lite.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/static/lab/package.json b/static/lab/package.json deleted file mode 100644 index c676306..0000000 --- a/static/lab/package.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "name": "@jupyterlite/app-lab", - "version": "0.1.0", - "private": true, - "resolutions": { - "@jupyterlab/application": "~3.5.3", - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/cell-toolbar": "~3.5.3", - "@jupyterlab/cell-toolbar-extension": "~3.5.3", - "@jupyterlab/celltags-extension": "~3.5.3", - "@jupyterlab/codeeditor": "~3.5.3", - "@jupyterlab/codemirror": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/coreutils": "~5.5.3", - "@jupyterlab/csvviewer-extension": "~3.5.3", - "@jupyterlab/docmanager": "~3.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/docprovider": "~3.5.3", - "@jupyterlab/documentsearch": "~3.5.3", - "@jupyterlab/documentsearch-extension": "~3.5.3", - "@jupyterlab/filebrowser": "~3.5.3", - "@jupyterlab/filebrowser-extension": "~3.5.3", - "@jupyterlab/fileeditor": "~3.5.3", - "@jupyterlab/fileeditor-extension": "~3.5.3", - "@jupyterlab/help-extension": "~3.5.3", - "@jupyterlab/htmlviewer-extension": "~3.5.3", - "@jupyterlab/imageviewer": "~3.5.3", - "@jupyterlab/imageviewer-extension": "~3.5.3", - "@jupyterlab/inspector": "~3.5.3", - "@jupyterlab/inspector-extension": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/launcher": "~3.5.3", - "@jupyterlab/launcher-extension": "~3.5.3", - "@jupyterlab/logconsole": "~3.5.3", - "@jupyterlab/logconsole-extension": "~3.5.3", - "@jupyterlab/mainmenu": "~3.5.3", - "@jupyterlab/mainmenu-extension": "~3.5.3", - "@jupyterlab/markdownviewer": "~3.5.3", - "@jupyterlab/markdownviewer-extension": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/notebook": "~3.5.3", - "@jupyterlab/notebook-extension": "~3.5.3", - "@jupyterlab/outputarea": "~3.5.3", - "@jupyterlab/pdf-extension": "~3.5.3", - "@jupyterlab/rendermime": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/rendermime-interfaces": "~3.5.3", - "@jupyterlab/running-extension": "~3.5.3", - "@jupyterlab/services": "~6.5.3", - "@jupyterlab/settingeditor": "~3.5.3", - "@jupyterlab/settingeditor-extension": "~3.5.3", - "@jupyterlab/settingregistry": "~3.5.3", - "@jupyterlab/shared-models": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/statedb": "~3.5.3", - "@jupyterlab/statusbar": "~3.5.3", - "@jupyterlab/statusbar-extension": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/toc-extension": "~5.5.3", - "@jupyterlab/tooltip": "~3.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlab/ui-components": "~3.5.3", - "@jupyterlab/ui-components-extension": "~3.5.3", - "@jupyterlab/vega5-extension": "~3.5.3", - "@jupyterlite/application-extension": "~0.1.0", - "@jupyterlite/contents": "~0.1.0", - "@jupyterlite/iframe-extension": "~0.1.0", - "@jupyterlite/kernel": "~0.1.0", - "@jupyterlite/licenses": "~0.1.0", - "@jupyterlite/localforage": "~0.1.0", - "@jupyterlite/server": "~0.1.0", - "@jupyterlite/server-extension": "~0.1.0", - "@jupyterlite/types": "~0.1.0", - "@jupyterlite/ui-components": "~0.1.0", - "@lumino/algorithm": "~1.9.2", - "@lumino/application": "~1.31.3", - "@lumino/commands": "~1.21.1", - "@lumino/coreutils": "~1.12.1", - "@lumino/disposable": "~1.10.4", - "@lumino/domutils": "~1.8.2", - "@lumino/dragdrop": "~1.14.4", - "@lumino/messaging": "~1.10.3", - "@lumino/properties": "~1.8.2", - "@lumino/signaling": "~1.11.1", - "@lumino/virtualdom": "~1.14.3", - "@lumino/widgets": "~1.37.1", - "es6-promise": "^4.2.8", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "yjs": "^13.5.43" - }, - "dependencies": { - "@jupyterlab/application": "~3.5.3", - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/cell-toolbar-extension": "~3.5.3", - "@jupyterlab/celltags-extension": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/csvviewer-extension": "~3.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/documentsearch-extension": "~3.5.3", - "@jupyterlab/filebrowser-extension": "~3.5.3", - "@jupyterlab/fileeditor-extension": "~3.5.3", - "@jupyterlab/help-extension": "~3.5.3", - "@jupyterlab/htmlviewer-extension": "~3.5.3", - "@jupyterlab/imageviewer-extension": "~3.5.3", - "@jupyterlab/inspector-extension": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/launcher-extension": "~3.5.3", - "@jupyterlab/logconsole-extension": "~3.5.3", - "@jupyterlab/mainmenu-extension": "~3.5.3", - "@jupyterlab/markdownviewer-extension": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/notebook-extension": "~3.5.3", - "@jupyterlab/pdf-extension": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/running-extension": "~3.5.3", - "@jupyterlab/settingeditor-extension": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/statusbar-extension": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/toc-extension": "~5.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlab/ui-components-extension": "~3.5.3", - "@jupyterlab/vega5-extension": "~3.5.3", - "@jupyterlite/application-extension": "^0.1.0", - "@jupyterlite/iframe-extension": "^0.1.0", - "@jupyterlite/licenses": "^0.1.0", - "@jupyterlite/localforage": "^0.1.0", - "@jupyterlite/server": "^0.1.0", - "@jupyterlite/server-extension": "^0.1.0", - "@jupyterlite/types": "^0.1.0", - "@jupyterlite/ui-components": "^0.1.0", - "es6-promise": "~4.2.8", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "yjs": "^13.5.6" - }, - "jupyterlab": { - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/celltags-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/csvviewer-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/documentsearch-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/help-extension", - "@jupyterlab/htmlviewer-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/inspector-extension", - "@jupyterlab/json-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/launcher-extension", - "@jupyterlab/logconsole-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/markdownviewer-extension", - "@jupyterlab/mathjax2-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/pdf-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/running-extension", - "@jupyterlab/settingeditor-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/statusbar-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/toc-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/ui-components-extension", - "@jupyterlab/vega5-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/docprovider", - "@jupyterlab/documentsearch", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/shared-models", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/licenses", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - }, - "jupyterlite": { - "pages": [ - "index" - ] - } -} diff --git a/static/lab/tree/index.html b/static/lab/tree/index.html deleted file mode 100644 index 961e460..0000000 --- a/static/lab/tree/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/static/lab/workspaces/index.html b/static/lab/workspaces/index.html deleted file mode 100644 index 1358c21..0000000 --- a/static/lab/workspaces/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/static/manifest.webmanifest b/static/manifest.webmanifest deleted file mode 100644 index 3077e6f..0000000 --- a/static/manifest.webmanifest +++ /dev/null @@ -1,32 +0,0 @@ -{ - "short_name": "JupyterLite", - "name": "JupyterLite", - "description": "WASM powered JupyterLite app", - "icons": [ - { - "src": "./icon-120x120.png", - "type": "image/png", - "sizes": "120x120" - }, { - "src": "./icon-512x512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": "./", - "background_color": "#fff", - "display": "standalone", - "scope": "./", - "shortcuts" : [ - { - "name": "JupyterLite", - "url": "/lab", - "description": "The main JupyterLite application" - }, - { - "name": "Replite", - "url": "/repl?toolbar=1", - "description": "A single-cell interface for JupyterLite" - } - ] -} diff --git a/static/package.json b/static/package.json deleted file mode 100644 index e56c8df..0000000 --- a/static/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@jupyterlite/app", - "version": "0.1.0", - "private": true, - "homepage": "https://github.com/jupyterlite/jupyterlite", - "bugs": { - "url": "https://github.com/jupyterlite/jupyterlite/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/jupyterlite/jupyterlite" - }, - "license": "BSD-3-Clause", - "author": "JupyterLite Contributors", - "scripts": { - "build": "webpack", - "build:prod": "yarn clean && yarn build --mode=production", - "clean": "rimraf build **/build", - "watch": "webpack --config webpack.config.watch.js" - }, - "devDependencies": { - "@jupyterlab/builder": "~3.5.3", - "css-loader": "^6.6.0", - "file-loader": "^6.2.0", - "fs-extra": "^9.0.1", - "glob": "^7.2.0", - "handlebars": "^4.5.3", - "html-webpack-plugin": "^5.5.0", - "ignore-loader": "^0.1.2", - "json-loader": "^0.5.7", - "mini-css-extract-plugin": "^2.5.3", - "raw-loader": "^4.0.2", - "rimraf": "^3.0.2", - "source-map-loader": "^4.0.1", - "style-loader": "^3.3.1", - "svg-url-loader": "^7.1.1", - "url-loader": "^4.1.1", - "webpack": "^5.68.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-cli": "^4.9.2", - "webpack-merge": "^5.8.0" - }, - "jupyterlite": { - "apps": [ - "lab", - "repl", - "retro" - ] - } -} diff --git a/static/repl/index.html b/static/repl/index.html deleted file mode 100644 index 00a3d64..0000000 --- a/static/repl/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - JupyterLite - - - - - - - - - diff --git a/static/repl/jupyter-lite.ipynb b/static/repl/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/repl/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/repl/jupyter-lite.json b/static/repl/jupyter-lite.json deleted file mode 100644 index 222730a..0000000 --- a/static/repl/jupyter-lite.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "settingsUrl": "../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/static/repl/package.json b/static/repl/package.json deleted file mode 100644 index 324088c..0000000 --- a/static/repl/package.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "name": "@jupyterlite/app-repl", - "version": "0.1.0", - "private": true, - "resolutions": { - "@jupyterlab/application": "~3.5.3", - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/codeeditor": "~3.5.3", - "@jupyterlab/codemirror": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/coreutils": "~5.5.3", - "@jupyterlab/docmanager": "~3.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/docprovider": "~3.5.3", - "@jupyterlab/documentsearch": "~3.5.3", - "@jupyterlab/filebrowser": "~3.5.3", - "@jupyterlab/fileeditor": "~3.5.3", - "@jupyterlab/imageviewer": "~3.5.3", - "@jupyterlab/imageviewer-extension": "~3.5.3", - "@jupyterlab/inspector": "~3.5.3", - "@jupyterlab/inspector-extension": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/launcher": "~3.5.3", - "@jupyterlab/logconsole": "~3.5.3", - "@jupyterlab/mainmenu": "~3.5.3", - "@jupyterlab/markdownviewer": "~3.5.3", - "@jupyterlab/markdownviewer-extension": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/notebook": "~3.5.3", - "@jupyterlab/outputarea": "~3.5.3", - "@jupyterlab/pdf-extension": "~3.5.3", - "@jupyterlab/rendermime": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/rendermime-interfaces": "~3.5.3", - "@jupyterlab/services": "~6.5.3", - "@jupyterlab/settingregistry": "~3.5.3", - "@jupyterlab/shared-models": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/statedb": "~3.5.3", - "@jupyterlab/statusbar": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/tooltip": "~3.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlab/ui-components": "~3.5.3", - "@jupyterlab/vega5-extension": "~3.5.3", - "@jupyterlite/application": "~0.1.0", - "@jupyterlite/application-extension": "~0.1.0", - "@jupyterlite/contents": "~0.1.0", - "@jupyterlite/iframe-extension": "~0.1.0", - "@jupyterlite/kernel": "~0.1.0", - "@jupyterlite/server": "~0.1.0", - "@jupyterlite/server-extension": "~0.1.0", - "@jupyterlite/ui-components": "~0.1.0", - "@lumino/algorithm": "~1.9.2", - "@lumino/application": "~1.31.3", - "@lumino/commands": "~1.21.1", - "@lumino/coreutils": "~1.12.1", - "@lumino/disposable": "~1.10.4", - "@lumino/domutils": "~1.8.2", - "@lumino/dragdrop": "~1.14.4", - "@lumino/messaging": "~1.10.3", - "@lumino/properties": "~1.8.2", - "@lumino/signaling": "~1.11.1", - "@lumino/virtualdom": "~1.14.3", - "@lumino/widgets": "~1.37.1", - "@retrolab/application-extension": "~0.3.21", - "es6-promise": "^4.2.8", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "yjs": "^13.5.43" - }, - "dependencies": { - "@jupyterlab/application": "~3.5.3", - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/imageviewer-extension": "~3.5.3", - "@jupyterlab/inspector-extension": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/markdownviewer-extension": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/pdf-extension": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlab/vega5-extension": "~3.5.3", - "@jupyterlite/application": "^0.1.0", - "@jupyterlite/application-extension": "^0.1.0", - "@jupyterlite/iframe-extension": "^0.1.0", - "@jupyterlite/server": "^0.1.0", - "@jupyterlite/server-extension": "^0.1.0", - "@jupyterlite/ui-components": "^0.1.0", - "@retrolab/application-extension": "^0.3.21", - "es6-promise": "~4.2.8", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "yjs": "^13.5.6" - }, - "jupyterlab": { - "extensions": [ - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/imageviewer-extension", - "@jupyterlab/inspector-extension", - "@jupyterlab/json-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/markdownviewer-extension", - "@jupyterlab/mathjax2-extension", - "@jupyterlab/pdf-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/vega5-extension", - "@jupyterlite/application-extension", - "@jupyterlite/repl-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/server-extension", - "@retrolab/application-extension" - ], - "singletonPackages": [ - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/docprovider", - "@jupyterlab/documentsearch", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingregistry", - "@jupyterlab/shared-models", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "mimeExtensions": { - "@jupyterlab/javascript-extension": "", - "@jupyterlab/json-extension": "", - "@jupyterlab/vega5-extension": "" - }, - "linkedPackages": {} - }, - "jupyterlite": { - "pages": [ - "index" - ] - } -} diff --git a/static/retro/consoles/favicon.ico b/static/retro/consoles/favicon.ico deleted file mode 100644 index 97fcfd5436556489c4cf455979de2bf23236456c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYHg1R)sA2NK_3UHbp#>=d#v zOz*`GrvKz%n7!oa1?i!O{_8VT{y*N44#ziUX~6x8ZvUljj{mPuPxyazvLsy1-4$;C zzdb(#$M@Ix!R65PUz?`z|JSF-|G&S!ied(?@IluPQg?lZD$!G=AW(; diff --git a/static/retro/consoles/index.html b/static/retro/consoles/index.html deleted file mode 100644 index 3d72441..0000000 --- a/static/retro/consoles/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - JupyterLite Retro - Console - - - - - - - diff --git a/static/retro/consoles/jupyter-lite.ipynb b/static/retro/consoles/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/retro/consoles/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/retro/consoles/jupyter-lite.json b/static/retro/consoles/jupyter-lite.json deleted file mode 100644 index c9b76eb..0000000 --- a/static/retro/consoles/jupyter-lite.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "retroPage": "consoles", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../../build" - } -} diff --git a/static/retro/edit/favicon.ico b/static/retro/edit/favicon.ico deleted file mode 100644 index 8167018cd005ff4a24d8287c620539e23c69aac9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmeHGu?@m75Ih7usc1=q#Ar}3g9{1u5G9Vze%<}~9qSED z_*E4+*VxQ}1%Nd{icIFY0Mu3#9X}t*S|qcPXdmjkckEEPihH)7%2nLouWvxzmEyD; z_Z}H)ul%aFKJ%B}O15MDW@wjZiljJOvMuwx&zB)}Yvgo9FK{i_b#L8MN~r!Z`{GSC cvToVotH@v7c?w*vZ?LC+B96p?o;l#&8_znXx&QzG diff --git a/static/retro/edit/index.html b/static/retro/edit/index.html deleted file mode 100644 index 2bea352..0000000 --- a/static/retro/edit/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - JupyterLite Retro - Edit - - - - - - - diff --git a/static/retro/edit/jupyter-lite.ipynb b/static/retro/edit/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/retro/edit/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/retro/edit/jupyter-lite.json b/static/retro/edit/jupyter-lite.json deleted file mode 100644 index b8a2258..0000000 --- a/static/retro/edit/jupyter-lite.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "retroPage": "edit", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../../build" - } -} diff --git a/static/retro/favicon.ico b/static/retro/favicon.ico deleted file mode 100644 index 2d1bcff7ca0ed6c77fdf1b016986f9137a43d31a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32038 zcmeI4U5FG{7ROsAA|fG?5JY4_k?9XRYJ%itpLE5Qd5}CTSqV$nU6$YuB0hvnSGNw% z5*9HcG7rljAx|Of2kb(SAVHR88S)UqAR>zoOCCg)ARz>&t7k?;dw>7xx;=NQtGcVF zKWDlc&eW}2_nxnN>fUqDJvFJ+medQWmtRit+nf6R3#ru4RoYv-{|oj1pzih8{rmA$ z>X)ykQb&*0?z2BjrJnyZmCAA}6nlX!-e20#FZiogt6PGQF1WkXh4N{j-~(lMcd%XX zp0?w_-+`wNviJo^c=^??1z);#+$d~?5U`?YYa`~5LEYVy==z5f1&y%TDiN>!_!faaOK zz)`@=Gc(@YMTPaV`5WePw!nPgxXgFuS>S8nAt2ijsI0nKwNcw{$&x9S_k(v1u;)56 z=S5xBc20fQ%SXQWMDyQeKsFskr&YcBUKXx)_{ccree}EA0o@>9cZD+!56sA4(YRvcV_c;7|FUkpY1j9noOLR1dbFTv@I&_u>sHrgHu!^A=)D5GXX^9L zO2c@VXT7=(f@ZH|N$@uA6%w5!I*DrogP03!nwkqWC&uNs({`Hcp?AjMG3$@k22We+K#J_PrGf7)ViZ3WZF61JvUb#7=|1Zp*z<@#RZPFS3Rl1{Bx& zE%V~J@q$|vaDPs9dZspNI}CF2K5U1t6YzSC>pY-+?sveCfZ{h=_XH}dPS4b4KJAp% z=Y(+dQvQYSH6& zyudZ0JU&&EPkcv}(^KH8;k+Um-IjqhXFEE2CtX^A5LTJ9&JynXT3Z)210ufdf^#%=BL9M%57^x`)52zg|A zS2TQDPi?#McxoX7d!23Y_5p3po<#b8m?@Osr~YuJu=G+C58bNIK?B_!gzkCdu-BKe zcoUCNw9-@V1pTx|J_Qz7BhR9jp7R{ZPsx3eF`0yyZ#M+T)x0O_Vxqw z)(zhKd|10d)WKH{8<^v&_hUXiQ*Brq;P({IIB#+%50tvUPw!OjytA|u`#B>X#jA}k zH@&=*_jWE_baQt7FqWA=a_IO^;@R*=d}hDie{(iB!(_YKozlc|}f7BjLd$nQXKj$b13N3ho?lW72VNEc;`Pz-6VHZ-4KYT+_?2Qv=h<@} z%oQs=j|C}4hJ7n;{60WDq!w$X?8mQ`BI8${3{J(1AKEcU`f5BB^ZXe3-bI$&f$4Hn zJi-+h6pQ4&%PTes4aMs3`!>M2NIeGoX}VB}6$8yWWy!E$%V3pdgT$E^ZxOGXhUUp^ zF^?r2CLKbbVZT=9LvQ zMXuKIbK0n_>F48az^8iAZaaQ184i84dVXQ)-lruUSu(XMw|egBJQSaIesS<>`{x(+ zafm!W3e{J*PW>}7Pv>#UT{u57{Oh`Ue#hBb!8>E~&KS(N=o(e7@f@n#hA|}G|AhAb z`Ca#OXLBWUe!BQAHvh~!H}&6*sIteuC*SIL1>17}jCSBGUl9#kcik@6&#!BF0p9sS zOa1#Y8d(BYaBvphhx6;8E||ADGjLnx4k3vA(kJc(~tW# z`5RNU{0&d9-Z;7EC=Xr!MnCk@ibgFTNZ&;1mt6a;2jyuU1!e$~rTnr8g+GKrn&>a`&h=QT)?OPD|7olnKSR;BkN3d*@Ig7j-GjKXsbTzyAgHjXGc09z{zu2mOBJO67NWe|e94FLO8z_n~;`w=J-5$`k*Y59etBx_}q))DJym zi%Y*C_SQFBkE>(xB;I&iRiR>fntb>PkIPWkh=V=?G<=-~5itr16V zRQ3NcZmnM?d>n@upyS?zuQ`02t7)fliP+)?d}}o+P+4`*xvCgF*PGZGaYOk>>zhx+ zvv}{+7QmzY+PF6VBl6usCgP{%jK=MfdyCA)l}uRQe%5hb zIxbyccXm$h8he#2?eIh{?>_J;HWk3*E-=o&Iy%$&d({pSNB%5S3_4ZZ%63_of9>j!QznRL|!36W;!!X}4TdcfCF2#w> zByX53l2Nh-pJ^Qp)@|1NQId7Dj$tBKW2`;VNura)1`-=cY#_0L#0C-@NNganfy4$9 z8%S&*v4O+}n%lrA#e~9S9rgI97yl+UtQhfTeODCQSByU_{wIy>6vw(wfX-G$t@1_N&h7y__Q}eEax-{u^-b>Dyp1;VA3Pm2 z$$vqY572S(wTmnJ2W<<=!NIPlb*>qd+uXOC|6*iP?vTL|d3D@7%D+)glIhp$t8%Th zMlsfRBl+@eKr(c~4>V%uztwUr+%LR*By!f2yVeP9^;HgCEuRH>$*n`)zU9A(epm7z z$z?>3H~rkk==?`=BbjICSg&r@=C8r$KS~Gkm*8t8^IvWIMF%69|7`1El=I(>9!B~5 z2crXBNA>#`TL**q{)x5W@i2V - - - - - - diff --git a/static/retro/jupyter-lite.ipynb b/static/retro/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/retro/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/retro/jupyter-lite.json b/static/retro/jupyter-lite.json deleted file mode 100644 index 59bf929..0000000 --- a/static/retro/jupyter-lite.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "fullStaticUrl": "../build", - "settingsUrl": "../../build/schemas", - "themesUrl": "./build/themes" - } -} diff --git a/static/retro/notebooks/favicon.ico b/static/retro/notebooks/favicon.ico deleted file mode 100644 index 4537e2d989843ae1a96a0548aa0a7066a22e2698..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmd6kJxT;Y5QX2WpqU$)xPggaBK}}1>McBhsCWizK|@m`1#e)g;lhS0Vx(Z8XsF1B zf@t|QGc63$HWTg)-xU2`y`G|5YVo$);ya`5F=+Oz;Y!U7Un(3%^tjC*nw^$zt$lCLQe;7 z68RSTXM;T!>A8mbS(zU-$nVo*u$!1+qs)I$$1A@12wJ$KD_DZdiXRr{6L1H)bNs;% z_xMoD7kliL`IDM&zEXNy)YY0_ - - - JupyterLite Retro - Notebook - - - - - - - - diff --git a/static/retro/notebooks/jupyter-lite.ipynb b/static/retro/notebooks/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/retro/notebooks/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/retro/notebooks/jupyter-lite.json b/static/retro/notebooks/jupyter-lite.json deleted file mode 100644 index 7248800..0000000 --- a/static/retro/notebooks/jupyter-lite.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "retroPage": "notebooks", - "faviconUrl": "./favicon.ico", - "fullStaticUrl": "../../build" - } -} diff --git a/static/retro/package.json b/static/retro/package.json deleted file mode 100644 index a90b05c..0000000 --- a/static/retro/package.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "name": "@jupyterlite/app-retro", - "version": "0.1.0", - "private": true, - "resolutions": { - "@jupyterlab/application": "~3.5.3", - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/cell-toolbar": "~3.5.3", - "@jupyterlab/cell-toolbar-extension": "~3.5.3", - "@jupyterlab/celltags": "~3.5.3", - "@jupyterlab/codeeditor": "~3.5.3", - "@jupyterlab/codemirror": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/coreutils": "~5.5.3", - "@jupyterlab/docmanager": "~3.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/docprovider": "~3.5.3", - "@jupyterlab/documentsearch": "~3.5.3", - "@jupyterlab/filebrowser": "~3.5.3", - "@jupyterlab/filebrowser-extension": "~3.5.3", - "@jupyterlab/fileeditor": "~3.5.3", - "@jupyterlab/fileeditor-extension": "~3.5.3", - "@jupyterlab/imageviewer": "~3.5.3", - "@jupyterlab/inspector": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/launcher": "~3.5.3", - "@jupyterlab/logconsole": "~3.5.3", - "@jupyterlab/mainmenu": "~3.5.3", - "@jupyterlab/mainmenu-extension": "~3.5.3", - "@jupyterlab/markdownviewer": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/notebook": "~3.5.3", - "@jupyterlab/notebook-extension": "~3.5.3", - "@jupyterlab/outputarea": "~3.5.3", - "@jupyterlab/rendermime": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/rendermime-interfaces": "~3.5.3", - "@jupyterlab/services": "~6.5.3", - "@jupyterlab/settingeditor": "~3.5.3", - "@jupyterlab/settingregistry": "~3.5.3", - "@jupyterlab/shared-models": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/statedb": "~3.5.3", - "@jupyterlab/statusbar": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/tooltip": "~3.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlab/ui-components": "~3.5.3", - "@jupyterlite/application-extension": "~0.1.0", - "@jupyterlite/contents": "~0.1.0", - "@jupyterlite/iframe-extension": "~0.1.0", - "@jupyterlite/kernel": "~0.1.0", - "@jupyterlite/localforage": "~0.1.0", - "@jupyterlite/retro-application-extension": "~0.1.0", - "@jupyterlite/server": "~0.1.0", - "@jupyterlite/server-extension": "~0.1.0", - "@jupyterlite/types": "~0.1.0", - "@lumino/algorithm": "~1.9.2", - "@lumino/application": "~1.31.3", - "@lumino/commands": "~1.21.1", - "@lumino/coreutils": "~1.12.1", - "@lumino/disposable": "~1.10.4", - "@lumino/domutils": "~1.8.2", - "@lumino/dragdrop": "~1.14.4", - "@lumino/messaging": "~1.10.3", - "@lumino/properties": "~1.8.2", - "@lumino/signaling": "~1.11.1", - "@lumino/virtualdom": "~1.14.3", - "@lumino/widgets": "~1.37.1", - "@retrolab/application": "~0.3.21", - "@retrolab/application-extension": "~0.3.21", - "@retrolab/docmanager-extension": "~0.3.21", - "@retrolab/help-extension": "~0.3.21", - "@retrolab/notebook-extension": "~0.3.21", - "@retrolab/tree-extension": "~0.3.21", - "@retrolab/ui-components": "~0.3.21", - "es6-promise": "^4.2.8", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "yjs": "^13.5.43" - }, - "dependencies": { - "@jupyterlab/application-extension": "~3.5.3", - "@jupyterlab/apputils-extension": "~3.5.3", - "@jupyterlab/attachments": "~3.5.3", - "@jupyterlab/cell-toolbar-extension": "~3.5.3", - "@jupyterlab/celltags": "~3.5.3", - "@jupyterlab/codemirror-extension": "~3.5.3", - "@jupyterlab/completer-extension": "~3.5.3", - "@jupyterlab/console-extension": "~3.5.3", - "@jupyterlab/coreutils": "~5.5.3", - "@jupyterlab/docmanager-extension": "~3.5.3", - "@jupyterlab/filebrowser-extension": "~3.5.3", - "@jupyterlab/fileeditor-extension": "~3.5.3", - "@jupyterlab/javascript-extension": "~3.5.3", - "@jupyterlab/json-extension": "~3.5.3", - "@jupyterlab/mainmenu-extension": "~3.5.3", - "@jupyterlab/mathjax2-extension": "~3.5.3", - "@jupyterlab/notebook-extension": "~3.5.3", - "@jupyterlab/rendermime-extension": "~3.5.3", - "@jupyterlab/shortcuts-extension": "~3.5.3", - "@jupyterlab/theme-dark-extension": "~3.5.3", - "@jupyterlab/theme-light-extension": "~3.5.3", - "@jupyterlab/tooltip-extension": "~3.5.3", - "@jupyterlab/translation-extension": "~3.5.3", - "@jupyterlite/application-extension": "^0.1.0", - "@jupyterlite/iframe-extension": "^0.1.0", - "@jupyterlite/localforage": "^0.1.0", - "@jupyterlite/retro-application-extension": "^0.1.0", - "@jupyterlite/server": "^0.1.0", - "@jupyterlite/server-extension": "^0.1.0", - "@jupyterlite/types": "^0.1.0", - "@retrolab/application": "^0.3.21", - "@retrolab/application-extension": "^0.3.21", - "@retrolab/docmanager-extension": "^0.3.21", - "@retrolab/help-extension": "^0.3.21", - "@retrolab/notebook-extension": "^0.3.21", - "@retrolab/tree-extension": "^0.3.21", - "@retrolab/ui-components": "^0.3.21", - "es6-promise": "~4.2.8", - "react": "^17.0.1", - "react-dom": "^17.0.1" - }, - "jupyterlab": { - "extensions": [ - "@retrolab/application-extension", - "@retrolab/docmanager-extension", - "@retrolab/help-extension", - "@retrolab/notebook-extension", - "@retrolab/tree-extension", - "@jupyterlab/application-extension", - "@jupyterlab/apputils-extension", - "@jupyterlab/cell-toolbar-extension", - "@jupyterlab/codemirror-extension", - "@jupyterlab/completer-extension", - "@jupyterlab/console-extension", - "@jupyterlab/docmanager-extension", - "@jupyterlab/filebrowser-extension", - "@jupyterlab/fileeditor-extension", - "@jupyterlab/javascript-extension", - "@jupyterlab/json-extension", - "@jupyterlab/mainmenu-extension", - "@jupyterlab/mathjax2-extension", - "@jupyterlab/notebook-extension", - "@jupyterlab/rendermime-extension", - "@jupyterlab/shortcuts-extension", - "@jupyterlab/theme-dark-extension", - "@jupyterlab/theme-light-extension", - "@jupyterlab/tooltip-extension", - "@jupyterlab/translation-extension", - "@jupyterlab/vega5-extension", - "@jupyterlite/application-extension", - "@jupyterlite/iframe-extension", - "@jupyterlite/retro-application-extension", - "@jupyterlite/server-extension" - ], - "singletonPackages": [ - "@jupyterlab/application", - "@jupyterlab/apputils", - "@jupyterlab/cell-toolbar", - "@jupyterlab/codeeditor", - "@jupyterlab/codemirror", - "@jupyterlab/completer", - "@jupyterlab/console", - "@jupyterlab/coreutils", - "@jupyterlab/docmanager", - "@jupyterlab/docprovider", - "@jupyterlab/documentsearch", - "@jupyterlab/filebrowser", - "@jupyterlab/fileeditor", - "@jupyterlab/imageviewer", - "@jupyterlab/inspector", - "@jupyterlab/launcher", - "@jupyterlab/logconsole", - "@jupyterlab/mainmenu", - "@jupyterlab/markdownviewer", - "@jupyterlab/notebook", - "@jupyterlab/outputarea", - "@jupyterlab/rendermime", - "@jupyterlab/rendermime-interfaces", - "@jupyterlab/services", - "@jupyterlab/settingeditor", - "@jupyterlab/settingregistry", - "@jupyterlab/shared-models", - "@jupyterlab/statedb", - "@jupyterlab/statusbar", - "@jupyterlab/tooltip", - "@jupyterlab/translation", - "@jupyterlab/ui-components", - "@jupyterlite/contents", - "@jupyterlite/kernel", - "@jupyterlite/localforage", - "@jupyterlite/types", - "@lumino/algorithm", - "@lumino/application", - "@lumino/commands", - "@lumino/coreutils", - "@lumino/disposable", - "@lumino/domutils", - "@lumino/dragdrop", - "@lumino/messaging", - "@lumino/properties", - "@lumino/signaling", - "@lumino/virtualdom", - "@lumino/widgets", - "react", - "react-dom", - "yjs" - ], - "mimeExtensions": {}, - "linkedPackages": {} - }, - "jupyterlite": { - "pages": [ - "consoles/index", - "edit/index", - "notebooks/index", - "tree/index" - ] - } -} diff --git a/static/retro/tree/index.html b/static/retro/tree/index.html deleted file mode 100644 index c197dce..0000000 --- a/static/retro/tree/index.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - JupyterLite Retro - Tree - - - - - - - diff --git a/static/retro/tree/jupyter-lite.ipynb b/static/retro/tree/jupyter-lite.ipynb deleted file mode 100644 index c4a4922..0000000 --- a/static/retro/tree/jupyter-lite.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "dea14a34-4803-44da-ae14-88b2c87a6f12", - "metadata": {}, - "source": [ - "# jupyter-lite.ipynb\n", - "\n", - "This notebook is the preferred source of site-specific runtime [configuration](https://jupyterlite.readthedocs.io/en/latest/configuring.html) for a JupyterLite app, and will override any configuration in [`jupyter-lite.json`](./jupyter-lite.json)." - ] - }, - { - "cell_type": "markdown", - "id": "6d19715a-0a8c-4600-9ff1-e82ba667e2d3", - "metadata": {}, - "source": [ - "## Editing Configuration\n", - "\n", - "The configuration is stored in this Notebook's metadata under the `jupyter-lite` key. To edit the configuration in JupyterLab.\n", - "\n", - "- open the _Property Inspector_ sidebar\n", - "- expand the _Advanced Tools_ section\n", - "- edit the `jupyter-lite` metadata sub-key\n", - "- press the \"check\" icon\n", - "- save the notebook" - ] - } - ], - "metadata": { - "jupyter-lite": { - "jupyter-config-data": {}, - "jupyter-lite-schema-version": 0 - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/static/retro/tree/jupyter-lite.json b/static/retro/tree/jupyter-lite.json deleted file mode 100644 index b7f616e..0000000 --- a/static/retro/tree/jupyter-lite.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "jupyter-lite-schema-version": 0, - "jupyter-config-data": { - "retroPage": "tree", - "fullStaticUrl": "../../build" - } -} diff --git a/static/service-worker-b2fb40a.js b/static/service-worker-b2fb40a.js deleted file mode 100644 index fa5a769..0000000 --- a/static/service-worker-b2fb40a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";const CACHE="precache",broadcast=new BroadcastChannel("/api/drive.v1");function onInstall(t){self.skipWaiting(),t.waitUntil(cacheAll())}function onActivate(t){t.waitUntil(self.clients.claim())}async function onFetch(t){const{request:a}=t,n=new URL(t.request.url);let e=null;shouldBroadcast(n)?e=broadcastOne(a):shouldDrop(a,n)||(e=maybeFromCache(t)),e&&t.respondWith(e)}async function maybeFromCache(t){const{request:a}=t;let n=await fromCache(a);return n?t.waitUntil(refetch(a)):(n=await fetch(a),t.waitUntil(updateCache(a,n.clone()))),n}async function fromCache(t){const a=await openCache(),n=await a.match(t);return n&&404!==n.status?n:null}async function refetch(t){const a=await fetch(t);return await updateCache(t,a),a}function shouldBroadcast(t){return t.origin===location.origin&&t.pathname.includes("/api/drive")}function shouldDrop(t,a){return"GET"!==t.method||null===a.origin.match(/^http/)||a.pathname.includes("/api/")}async function broadcastOne(t){const a=new Promise((t=>{broadcast.onmessage=a=>{t(new Response(JSON.stringify(a.data)))}}));return broadcast.postMessage(await t.json()),await a}async function openCache(){return await caches.open(CACHE)}async function updateCache(t,a){return(await openCache()).put(t,a)}async function cacheAll(){const t=await openCache();return await t.addAll([])}self.addEventListener("install",onInstall),self.addEventListener("activate",onActivate),self.addEventListener("fetch",onFetch); \ No newline at end of file diff --git a/static/tree/index.html b/static/tree/index.html deleted file mode 100644 index 3a954bb..0000000 --- a/static/tree/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - From 31509ac59965c456ad8578f15fdb44da64334994 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 14:09:23 -0400 Subject: [PATCH 04/12] Make build script executable --- build.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 build.sh diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 From 677496f54534cd35f0b7a88741731f505374a817 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 14:11:41 -0400 Subject: [PATCH 05/12] Remove runtime specification --- runtime.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 runtime.txt diff --git a/runtime.txt b/runtime.txt deleted file mode 100644 index c83686f..0000000 --- a/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -PYTHON_VERSION=3.9 From 14ac1ead1a7408fe2a7649d07fe6537bda883a3c Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 14:18:00 -0400 Subject: [PATCH 06/12] Flexible requirements --- Pipfile | 6 ++-- requirements.txt | 76 ++++++++---------------------------------------- 2 files changed, 15 insertions(+), 67 deletions(-) diff --git a/Pipfile b/Pipfile index 0972a34..e50b7b1 100644 --- a/Pipfile +++ b/Pipfile @@ -8,14 +8,14 @@ awswrangler = "*" boto3 = "*" ipython = "*" ipywidgets = "*" +jupyterlite-core = "*" +jupyterlite-pyodide-kernel = "*" +jupyterlab-open-url-parameter = "*" matplotlib = "*" numpy = "*" pandas = "*" plotly = "*" python-dotenv = "*" -jupyterlite-core = "*" -jupyterlite-pyodide-kernel = "*" -jupyterlab-open-url-parameter = "*" [dev-packages] diff --git a/requirements.txt b/requirements.txt index 74f45cd..ba257e5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,64 +1,12 @@ -appnope==0.1.3 -asttokens==2.2.1 -awswrangler==3.1.1 -backcall==0.2.0 -boto3==1.26.150 -botocore==1.29.150 -cloudpickle==2.2.1 -comm==0.1.3 -contourpy==1.0.7 -cycler==0.11.0 -debugpy==1.6.7 -decorator==5.1.1 -doit==0.36.0 -executing==1.2.0 -fonttools==4.39.4 -importlib-metadata==6.6.0 -importlib-resources==5.12.0 -ipykernel==6.23.1 -ipython==8.14.0 -ipywidgets==8.0.6 -jedi==0.18.2 -jmespath==1.0.1 -jupyter_client==8.2.0 -jupyter_core==5.3.0 -jupyterlab-widgets==3.0.7 -jupyterlite-core==0.1.0 -jupyterlite-pyodide-kernel==0.0.8 -kiwisolver==1.4.4 -matplotlib==3.7.1 -matplotlib-inline==0.1.6 -nest-asyncio==1.5.6 -numpy==1.24.3 -packaging==23.1 -pandas==2.0.2 -parso==0.8.3 -pexpect==4.8.0 -pickleshare==0.7.5 -Pillow==9.5.0 -pkginfo==1.9.6 -platformdirs==3.5.1 -plotly==5.15.0 -prompt-toolkit==3.0.38 -psutil==5.9.5 -ptyprocess==0.7.0 -pure-eval==0.2.2 -pyarrow==12.0.0 -Pygments==2.15.1 -pyparsing==3.0.9 -python-dateutil==2.8.2 -python-dotenv==1.0.0 -pytz==2023.3 -pyzmq==25.1.0 -s3transfer==0.6.1 -six==1.16.0 -stack-data==0.6.2 -tenacity==8.2.2 -tornado==6.3.2 -traitlets==5.9.0 -typing_extensions==4.6.3 -tzdata==2023.3 -urllib3==1.26.16 -wcwidth==0.2.6 -widgetsnbextension==4.0.7 -zipp==3.15.0 +awswrangler +boto3 +ipython +ipywidgets +jupyterlite-core +jupyterlite-pyodide-kernel +jupyterlab-open-url-parameter +matplotlib +numpy +pandas +plotly +python-dotenv \ No newline at end of file From 882a9d75c99cd0a15a6bddedec64abb75bdf4cc8 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 14:23:55 -0400 Subject: [PATCH 07/12] Don't need build script --- build.sh | 7 ------- 1 file changed, 7 deletions(-) delete mode 100755 build.sh diff --git a/build.sh b/build.sh deleted file mode 100755 index b8e8086..0000000 --- a/build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# Install Python dependencies -python -m pip install -r requirements.txt - -# Build Jupyter Lite -jupyter lite build --output-dir dist From 3135ddb1ab5bae3b90aad9a0da832666e09e31eb Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 15:29:02 -0400 Subject: [PATCH 08/12] Adjustments to packages --- Pipfile | 2 + Pipfile.lock | 712 ++++++++++++++++++++++++++++++++++++++++++++++- requirements.txt | 2 + 3 files changed, 715 insertions(+), 1 deletion(-) diff --git a/Pipfile b/Pipfile index e50b7b1..64aa463 100644 --- a/Pipfile +++ b/Pipfile @@ -10,7 +10,9 @@ ipython = "*" ipywidgets = "*" jupyterlite-core = "*" jupyterlite-pyodide-kernel = "*" +jupyterlab = "*" jupyterlab-open-url-parameter = "*" +jupyterlab-server = "*" matplotlib = "*" numpy = "*" pandas = "*" diff --git a/Pipfile.lock b/Pipfile.lock index d858e33..0d46e78 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e2f93363c1a56433a08f833bda980dd6447250dca175ad1fcf43d46180778663" + "sha256": "6a2ff4c2f4dde1c9e38c565962bcf4182899ee57bdcfc6b3c96b6b7ad9b42e30" }, "pipfile-spec": 6, "requires": { @@ -17,6 +17,14 @@ ] }, "default": { + "anyio": { + "hashes": [ + "sha256:275d9973793619a5374e1c89a4f4ad3f4b0a5510a2b5b939444bee8f4c4d37ce", + "sha256:eddca883c4175f14df8aedce21054bfca3adb70ffe76a9f607aef9d7fa2ea7f0" + ], + "markers": "python_version >= '3.7'", + "version": "==3.7.0" + }, "appnope": { "hashes": [ "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24", @@ -25,6 +33,49 @@ "markers": "sys_platform == 'darwin'", "version": "==0.1.3" }, + "argon2-cffi": { + "hashes": [ + "sha256:8c976986f2c5c0e5000919e6de187906cfd81fb1c72bf9d88c01177e77da7f80", + "sha256:d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b" + ], + "markers": "python_version >= '3.6'", + "version": "==21.3.0" + }, + "argon2-cffi-bindings": { + "hashes": [ + "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670", + "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f", + "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583", + "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194", + "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c", + "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a", + "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082", + "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5", + "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f", + "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7", + "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d", + "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f", + "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae", + "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3", + "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86", + "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367", + "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d", + "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93", + "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb", + "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e", + "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351" + ], + "markers": "python_version >= '3.6'", + "version": "==21.2.0" + }, + "arrow": { + "hashes": [ + "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1", + "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2" + ], + "markers": "python_version >= '3.6'", + "version": "==1.2.3" + }, "asttokens": { "hashes": [ "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3", @@ -32,6 +83,22 @@ ], "version": "==2.2.1" }, + "async-lru": { + "hashes": [ + "sha256:3b87ec4f2460c52cc7916a0138cc606b584c75d1ef7d661853c95d1d3acb869a", + "sha256:d7c2b873e9af5c5a1f0a87a6c145e7e0b4eb92342b7235dda9dd5b10e950d6e2" + ], + "markers": "python_version >= '3.8'", + "version": "==2.0.2" + }, + "attrs": { + "hashes": [ + "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", + "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" + ], + "markers": "python_version >= '3.7'", + "version": "==23.1.0" + }, "awswrangler": { "hashes": [ "sha256:237041c856a29524bd1b58f48a95a88b4c5433c673d82bc193f13fbdea3abdcb", @@ -40,6 +107,14 @@ "index": "pypi", "version": "==3.1.1" }, + "babel": { + "hashes": [ + "sha256:b4246fb7677d3b98f501a39d43396d3cafdc8eadb045f4a31be01863f655c610", + "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455" + ], + "markers": "python_version >= '3.7'", + "version": "==2.12.1" + }, "backcall": { "hashes": [ "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", @@ -47,6 +122,22 @@ ], "version": "==0.2.0" }, + "beautifulsoup4": { + "hashes": [ + "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da", + "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a" + ], + "markers": "python_full_version >= '3.6.0'", + "version": "==4.12.2" + }, + "bleach": { + "hashes": [ + "sha256:1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414", + "sha256:33c16e3353dbd13028ab4799a0f89a83f113405c766e9c122df8a06f5b85b3f4" + ], + "markers": "python_version >= '3.7'", + "version": "==6.0.0" + }, "boto3": { "hashes": [ "sha256:0ab83f1b8f997527a513152bc64fd1873536b1d92bdc98cb40f927aca6af6325", @@ -63,6 +154,164 @@ "markers": "python_version >= '3.7'", "version": "==1.29.150" }, + "certifi": { + "hashes": [ + "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7", + "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716" + ], + "markers": "python_version >= '3.6'", + "version": "==2023.5.7" + }, + "cffi": { + "hashes": [ + "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5", + "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef", + "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104", + "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426", + "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405", + "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375", + "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a", + "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e", + "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc", + "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf", + "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185", + "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497", + "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3", + "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35", + "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c", + "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83", + "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21", + "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca", + "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984", + "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac", + "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd", + "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee", + "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a", + "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2", + "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192", + "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7", + "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585", + "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f", + "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e", + "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27", + "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b", + "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e", + "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e", + "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d", + "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c", + "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415", + "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82", + "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02", + "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314", + "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325", + "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", + "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3", + "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914", + "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045", + "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d", + "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9", + "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5", + "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2", + "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c", + "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3", + "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2", + "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8", + "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d", + "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d", + "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9", + "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162", + "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76", + "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4", + "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e", + "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9", + "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6", + "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b", + "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01", + "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0" + ], + "version": "==1.15.1" + }, + "charset-normalizer": { + "hashes": [ + "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6", + "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1", + "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e", + "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373", + "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62", + "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230", + "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be", + "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c", + "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0", + "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448", + "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f", + "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649", + "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d", + "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0", + "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706", + "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a", + "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59", + "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23", + "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5", + "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb", + "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e", + "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e", + "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c", + "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28", + "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d", + "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41", + "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974", + "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce", + "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f", + "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1", + "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d", + "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8", + "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017", + "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31", + "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7", + "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8", + "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e", + "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14", + "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd", + "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d", + "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795", + "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b", + "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b", + "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b", + "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203", + "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f", + "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19", + "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1", + "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a", + "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac", + "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9", + "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0", + "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137", + "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f", + "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6", + "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5", + "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909", + "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f", + "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0", + "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324", + "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755", + "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb", + "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854", + "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c", + "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60", + "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84", + "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0", + "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b", + "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1", + "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531", + "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1", + "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11", + "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326", + "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df", + "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==3.1.0" + }, "cloudpickle": { "hashes": [ "sha256:61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f", @@ -180,6 +429,14 @@ "markers": "python_version >= '3.5'", "version": "==5.1.1" }, + "defusedxml": { + "hashes": [ + "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", + "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.7.1" + }, "doit": { "hashes": [ "sha256:71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc", @@ -188,6 +445,14 @@ "markers": "python_version >= '3.8'", "version": "==0.36.0" }, + "exceptiongroup": { + "hashes": [ + "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e", + "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785" + ], + "markers": "python_version < '3.11'", + "version": "==1.1.1" + }, "executing": { "hashes": [ "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc", @@ -195,6 +460,13 @@ ], "version": "==1.2.0" }, + "fastjsonschema": { + "hashes": [ + "sha256:4b90b252628ca695280924d863fe37234eebadc29c5360d322571233dc9746e0", + "sha256:f4eeb8a77cef54861dbf7424ac8ce71306f12cbb086c45131bcba2c6a4f726e3" + ], + "version": "==2.17.1" + }, "fonttools": { "hashes": [ "sha256:106caf6167c4597556b31a8d9175a3fdc0356fdcd70ab19973c3b0d4c893c461", @@ -203,6 +475,21 @@ "markers": "python_version >= '3.8'", "version": "==4.39.4" }, + "fqdn": { + "hashes": [ + "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", + "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014" + ], + "version": "==1.5.1" + }, + "idna": { + "hashes": [ + "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", + "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" + ], + "markers": "python_version >= '3.5'", + "version": "==3.4" + }, "importlib-metadata": { "hashes": [ "sha256:43dd286a2cd8995d5eaef7fee2066340423b818ed3fd70adf0bad5f1fac53fed", @@ -219,6 +506,14 @@ "markers": "python_version < '3.10'", "version": "==5.12.0" }, + "install": { + "hashes": [ + "sha256:0d3fadf4aa62c95efe8d34757c8507eb46177f86c016c21c6551eafc6a53d5a9", + "sha256:e67c8a0be5ccf8cb4ffa17d090f3a61b6e820e6a7e21cd1d2c0f7bc59b18e647" + ], + "index": "pypi", + "version": "==1.3.5" + }, "ipykernel": { "hashes": [ "sha256:1aba0ae8453e15e9bc6b24e497ef6840114afcdb832ae597f32137fa19d42a6f", @@ -243,6 +538,13 @@ "index": "pypi", "version": "==8.0.6" }, + "isoduration": { + "hashes": [ + "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", + "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042" + ], + "version": "==20.11.0" + }, "jedi": { "hashes": [ "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e", @@ -251,6 +553,14 @@ "markers": "python_version >= '3.6'", "version": "==0.18.2" }, + "jinja2": { + "hashes": [ + "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", + "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" + ], + "markers": "python_version >= '3.7'", + "version": "==3.1.2" + }, "jmespath": { "hashes": [ "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", @@ -259,6 +569,28 @@ "markers": "python_version >= '3.7'", "version": "==1.0.1" }, + "json5": { + "hashes": [ + "sha256:740c7f1b9e584a468dbb2939d8d458db3427f2c93ae2139d05f47e453eae964f", + "sha256:9ed66c3a6ca3510a976a9ef9b8c0787de24802724ab1860bc0153c7fdd589b02" + ], + "version": "==0.9.14" + }, + "jsonpointer": { + "hashes": [ + "sha256:51801e558539b4e9cd268638c078c6c5746c9ac96bc38152d443400e4f3793e9", + "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a" + ], + "version": "==2.3" + }, + "jsonschema": { + "hashes": [ + "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d", + "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6" + ], + "markers": "python_version >= '3.7'", + "version": "==4.17.3" + }, "jupyter-client": { "hashes": [ "sha256:9fe233834edd0e6c0aa5f05ca2ab4bdea1842bfd2d8a932878212fc5301ddaf0", @@ -275,6 +607,46 @@ "markers": "python_version >= '3.8'", "version": "==5.3.0" }, + "jupyter-events": { + "hashes": [ + "sha256:57a2749f87ba387cd1bfd9b22a0875b889237dbf2edc2121ebb22bde47036c17", + "sha256:9a6e9995f75d1b7146b436ea24d696ce3a35bfa8bfe45e0c33c334c79464d0b3" + ], + "markers": "python_version >= '3.7'", + "version": "==0.6.3" + }, + "jupyter-lsp": { + "hashes": [ + "sha256:8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1", + "sha256:9e06b8b4f7dd50300b70dd1a78c0c3b0c3d8fa68e0f2d8a5d1fbab62072aca3f" + ], + "markers": "python_version >= '3.8'", + "version": "==2.2.0" + }, + "jupyter-server": { + "hashes": [ + "sha256:19525a1515b5999618a91b3e99ec9f6869aa8c5ba73e0b6279fcda918b54ba36", + "sha256:ae4af349f030ed08dd78cb7ac1a03a92d886000380c9ea6283f3c542a81f4b06" + ], + "markers": "python_version >= '3.8'", + "version": "==2.6.0" + }, + "jupyter-server-terminals": { + "hashes": [ + "sha256:57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d", + "sha256:75779164661cec02a8758a5311e18bb8eb70c4e86c6b699403100f1585a12a36" + ], + "markers": "python_version >= '3.8'", + "version": "==0.4.4" + }, + "jupyterlab": { + "hashes": [ + "sha256:0a77898aebb55da391e5f57022774c089fb075e98803ff3d514a79b727dc934d", + "sha256:201b4f729a7dc5e22ca6c4dd8944cde792f1cb008d7c6b821e0a48d2502205c8" + ], + "index": "pypi", + "version": "==4.0.2" + }, "jupyterlab-open-url-parameter": { "hashes": [ "sha256:07ec58e68e865896624bba445473796461820ec0165a06fb926e1e8e84a89fc4", @@ -283,6 +655,22 @@ "index": "pypi", "version": "==0.1.0" }, + "jupyterlab-pygments": { + "hashes": [ + "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f", + "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d" + ], + "markers": "python_version >= '3.7'", + "version": "==0.2.2" + }, + "jupyterlab-server": { + "hashes": [ + "sha256:1c8eb55c7cd70a50a51fef42a7b4e26ef2f7fc48728f0290604bd89b1dd156e6", + "sha256:dfaaf898af84b9d01ae9583b813f378b96ee90c3a66f24c5186ea5d1bbdb2089" + ], + "index": "pypi", + "version": "==2.22.1" + }, "jupyterlab-widgets": { "hashes": [ "sha256:c3a50ed5bf528a0c7a869096503af54702f86dda1db469aee1c92dc0c01b43ca", @@ -381,6 +769,62 @@ "markers": "python_version >= '3.7'", "version": "==1.4.4" }, + "markupsafe": { + "hashes": [ + "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e", + "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e", + "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", + "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", + "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", + "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc", + "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c", + "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0", + "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4", + "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", + "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", + "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba", + "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d", + "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3", + "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", + "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155", + "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", + "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", + "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", + "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8", + "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b", + "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24", + "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea", + "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198", + "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0", + "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee", + "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be", + "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2", + "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707", + "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", + "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58", + "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", + "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636", + "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", + "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", + "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", + "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc", + "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", + "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48", + "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", + "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e", + "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b", + "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", + "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5", + "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e", + "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", + "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", + "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", + "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", + "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2" + ], + "markers": "python_version >= '3.7'", + "version": "==2.1.3" + }, "matplotlib": { "hashes": [ "sha256:08308bae9e91aca1ec6fd6dda66237eef9f6294ddb17f0d0b3c863169bf82353", @@ -436,6 +880,37 @@ "markers": "python_version >= '3.5'", "version": "==0.1.6" }, + "mistune": { + "hashes": [ + "sha256:0246113cb2492db875c6be56974a7c893333bf26cd92891c85f63151cee09d34", + "sha256:bad7f5d431886fcbaf5f758118ecff70d31f75231b34024a1341120340a65ce8" + ], + "version": "==2.0.5" + }, + "nbclient": { + "hashes": [ + "sha256:25e861299e5303a0477568557c4045eccc7a34c17fc08e7959558707b9ebe548", + "sha256:f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55" + ], + "markers": "python_full_version >= '3.8.0'", + "version": "==0.8.0" + }, + "nbconvert": { + "hashes": [ + "sha256:51b6c77b507b177b73f6729dba15676e42c4e92bcb00edc8cc982ee72e7d89d7", + "sha256:af5064a9db524f9f12f4e8be7f0799524bd5b14c1adea37e34e83c95127cc818" + ], + "markers": "python_version >= '3.7'", + "version": "==7.4.0" + }, + "nbformat": { + "hashes": [ + "sha256:8c8fa16d6d05062c26177754bfbfac22de644888e2ef69d27ad2a334cf2576e5", + "sha256:e98ebb6120c3efbafdee2a40af2a140cadee90bb06dd69a2a63d9551fcc7f976" + ], + "markers": "python_version >= '3.8'", + "version": "==5.9.0" + }, "nest-asyncio": { "hashes": [ "sha256:b9a953fb40dceaa587d109609098db21900182b16440652454a146cffb06e8b8", @@ -444,6 +919,14 @@ "markers": "python_version >= '3.5'", "version": "==1.5.6" }, + "notebook-shim": { + "hashes": [ + "sha256:a83496a43341c1674b093bfcebf0fe8e74cbe7eda5fd2bbc56f8e39e1486c0c7", + "sha256:f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9" + ], + "markers": "python_version >= '3.7'", + "version": "==0.2.3" + }, "numpy": { "hashes": [ "sha256:0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187", @@ -478,6 +961,14 @@ "index": "pypi", "version": "==1.24.3" }, + "overrides": { + "hashes": [ + "sha256:6187d8710a935d09b0bcef8238301d6ee2569d2ac1ae0ec39a8c7924e27f58ca", + "sha256:8b97c6c1e1681b78cbc9424b138d880f0803c2254c5ebaabdde57bb6c62093f2" + ], + "markers": "python_version >= '3.6'", + "version": "==7.3.1" + }, "packaging": { "hashes": [ "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", @@ -517,6 +1008,14 @@ "index": "pypi", "version": "==2.0.2" }, + "pandocfilters": { + "hashes": [ + "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38", + "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.5.0" + }, "parso": { "hashes": [ "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0", @@ -612,6 +1111,14 @@ "markers": "python_version >= '3.7'", "version": "==9.5.0" }, + "pip": { + "hashes": [ + "sha256:0e7c86f486935893c708287b30bd050a36ac827ec7fe5e43fe7cb198dd835fba", + "sha256:3ef6ac33239e4027d9a5598a381b9d30880a1477e50039db2eac6e8a8f6d1b18" + ], + "index": "pypi", + "version": "==23.1.2" + }, "pkginfo": { "hashes": [ "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546", @@ -636,6 +1143,14 @@ "index": "pypi", "version": "==5.15.0" }, + "prometheus-client": { + "hashes": [ + "sha256:9c3b26f1535945e85b8934fb374678d263137b78ef85f305b1156c7c881cd11b", + "sha256:a77b708cf083f4d1a3fb3ce5c95b4afa32b9c521ae363354a4a910204ea095ce" + ], + "markers": "python_version >= '3.6'", + "version": "==0.17.0" + }, "prompt-toolkit": { "hashes": [ "sha256:23ac5d50538a9a38c8bde05fecb47d0b403ecd0662857a86f886f798563d5b9b", @@ -709,6 +1224,13 @@ "markers": "python_version >= '3.7'", "version": "==12.0.0" }, + "pycparser": { + "hashes": [ + "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", + "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + ], + "version": "==2.21" + }, "pygments": { "hashes": [ "sha256:8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c", @@ -725,6 +1247,39 @@ "markers": "python_full_version >= '3.6.8'", "version": "==3.0.9" }, + "pyrsistent": { + "hashes": [ + "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8", + "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440", + "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a", + "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c", + "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3", + "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393", + "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9", + "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da", + "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf", + "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64", + "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a", + "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3", + "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98", + "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2", + "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8", + "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf", + "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc", + "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7", + "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28", + "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2", + "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b", + "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a", + "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64", + "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19", + "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1", + "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9", + "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c" + ], + "markers": "python_version >= '3.7'", + "version": "==0.19.3" + }, "python-dateutil": { "hashes": [ "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", @@ -741,6 +1296,14 @@ "index": "pypi", "version": "==1.0.0" }, + "python-json-logger": { + "hashes": [ + "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c", + "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd" + ], + "markers": "python_version >= '3.6'", + "version": "==2.0.7" + }, "pytz": { "hashes": [ "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588", @@ -748,6 +1311,52 @@ ], "version": "==2023.3" }, + "pyyaml": { + "hashes": [ + "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf", + "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", + "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", + "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", + "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", + "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", + "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", + "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", + "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", + "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", + "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", + "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", + "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782", + "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", + "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", + "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", + "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", + "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", + "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1", + "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", + "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", + "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", + "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", + "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", + "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", + "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d", + "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", + "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", + "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7", + "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", + "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", + "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", + "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358", + "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", + "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", + "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", + "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", + "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f", + "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", + "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" + ], + "markers": "python_version >= '3.6'", + "version": "==6.0" + }, "pyzmq": { "hashes": [ "sha256:01f06f33e12497dca86353c354461f75275a5ad9eaea181ac0dc1662da8074fa", @@ -831,6 +1440,30 @@ "markers": "python_version >= '3.6'", "version": "==25.1.0" }, + "requests": { + "hashes": [ + "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", + "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" + ], + "markers": "python_version >= '3.7'", + "version": "==2.31.0" + }, + "rfc3339-validator": { + "hashes": [ + "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", + "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.1.4" + }, + "rfc3986-validator": { + "hashes": [ + "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", + "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==0.1.1" + }, "s3transfer": { "hashes": [ "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346", @@ -839,6 +1472,14 @@ "markers": "python_version >= '3.7'", "version": "==0.6.1" }, + "send2trash": { + "hashes": [ + "sha256:a384719d99c07ce1eefd6905d2decb6f8b7ed054025bb0e618919f945de4f679", + "sha256:c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==1.8.2" + }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", @@ -847,6 +1488,22 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, + "sniffio": { + "hashes": [ + "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101", + "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.0" + }, + "soupsieve": { + "hashes": [ + "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8", + "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea" + ], + "markers": "python_version >= '3.7'", + "version": "==2.4.1" + }, "stack-data": { "hashes": [ "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815", @@ -862,6 +1519,30 @@ "markers": "python_version >= '3.6'", "version": "==8.2.2" }, + "terminado": { + "hashes": [ + "sha256:6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333", + "sha256:8650d44334eba354dd591129ca3124a6ba42c3d5b70df5051b6921d506fdaeae" + ], + "markers": "python_version >= '3.7'", + "version": "==0.17.1" + }, + "tinycss2": { + "hashes": [ + "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847", + "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627" + ], + "markers": "python_version >= '3.7'", + "version": "==1.2.1" + }, + "tomli": { + "hashes": [ + "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" + ], + "markers": "python_version < '3.11'", + "version": "==2.0.1" + }, "tornado": { "hashes": [ "sha256:05615096845cf50a895026f749195bf0b10b8909f9be672f50b0fe69cba368e4", @@ -903,6 +1584,13 @@ "markers": "python_version >= '2'", "version": "==2023.3" }, + "uri-template": { + "hashes": [ + "sha256:934e4d09d108b70eb8a24410af8615294d09d279ce0e7cbcdaef1bd21f932b06", + "sha256:f1699c77b73b925cf4937eae31ab282a86dc885c333f2e942513f08f691fc7db" + ], + "version": "==1.2.0" + }, "urllib3": { "hashes": [ "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f", @@ -918,6 +1606,28 @@ ], "version": "==0.2.6" }, + "webcolors": { + "hashes": [ + "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf", + "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a" + ], + "version": "==1.13" + }, + "webencodings": { + "hashes": [ + "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", + "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" + ], + "version": "==0.5.1" + }, + "websocket-client": { + "hashes": [ + "sha256:3566f8467cd350874c4913816355642a4942f6c1ed1e9406e3d42fae6d6c072a", + "sha256:b96f3bce3e54e3486ebe6504bc22bd4c140392bd2eb71764db29be8f2639aa65" + ], + "markers": "python_version >= '3.7'", + "version": "==1.5.3" + }, "widgetsnbextension": { "hashes": [ "sha256:be3228a73bbab189a16be2d4a3cd89ecbd4e31948bfdc64edac17dcdee3cd99c", diff --git a/requirements.txt b/requirements.txt index ba257e5..ce32beb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,9 @@ ipython ipywidgets jupyterlite-core jupyterlite-pyodide-kernel +jupyterlab jupyterlab-open-url-parameter +jupyterlab-server matplotlib numpy pandas From 02e2e026190d7b9f38b5b7755a737a509c9d3062 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 15:39:24 -0400 Subject: [PATCH 09/12] Files from jupyterlite demo --- .github/workflows/deploy.yml | 48 +++ .nojekyll | 0 content/python.ipynb | 721 +++++++++++++++++++++++++++++++++++ repl/jupyter-lite.json | 10 + 4 files changed, 779 insertions(+) create mode 100644 .github/workflows/deploy.yml create mode 100644 .nojekyll create mode 100644 content/python.ipynb create mode 100644 repl/jupyter-lite.json diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..0e98d46 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,48 @@ +name: Build and Deploy + +on: + push: + branches: + - bob/jupyterlite + pull_request: + branches: + - '*' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install the dependencies + run: | + python -m pip install -r requirements.txt + - name: Build the JupyterLite site + run: | + cp README.md content + jupyter lite build --contents content --output-dir dist + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./dist + + deploy: + needs: build + if: github.ref == 'refs/heads/main' + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/content/python.ipynb b/content/python.ipynb new file mode 100644 index 0000000..689e883 --- /dev/null +++ b/content/python.ipynb @@ -0,0 +1,721 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# A Python kernel backed by Pyodide\n", + "\n", + "![](https://raw.githubusercontent.com/pyodide/pyodide/master/docs/_static/img/pyodide-logo.png)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import pyodide_kernel\n", + "pyodide_kernel.__version__" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Simple code execution" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "a = 3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "a" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "b = 89\n", + "\n", + "def sq(x):\n", + " return x * x\n", + "\n", + "sq(b)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "print" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# Redirected streams" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import sys\n", + "\n", + "print(\"Error !!\", file=sys.stderr)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Error handling" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true, + "trusted": true + }, + "outputs": [], + "source": [ + "\"Hello\"\n", + "\n", + "def dummy_function():\n", + " import missing_module" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "dummy_function()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Code completion" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### press `tab` to see what is available in `sys` module" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from sys import " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Code inspection" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### using the question mark" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "?print" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### by pressing `shift+tab`" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "print(" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Input support" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "name = await input('Enter your name: ')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "'Hello, ' + name" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Rich representation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import display, Markdown, HTML, JSON, Latex" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## HTML" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "print('Before display')\n", + "\n", + "s = '

HTML Title

'\n", + "display(HTML(s))\n", + "\n", + "print('After display')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Markdown" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "Markdown('''\n", + "# Title\n", + "\n", + "**in bold**\n", + "\n", + "~~Strikthrough~~\n", + "''')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Pandas DataFrame" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from string import ascii_uppercase as letters\n", + "from IPython.display import display\n", + "\n", + "df = pd.DataFrame(np.random.randint(0, 100, size=(100, len(letters))), columns=list(letters))\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Show the same DataFrame " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## IPython.display module" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import clear_output, display, update_display\n", + "from asyncio import sleep" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Update display" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "class Square:\n", + " color = 'PeachPuff'\n", + " def _repr_html_(self):\n", + " return '''\n", + "
\n", + "
''' % self.color\n", + "square = Square()\n", + "\n", + "display(square, display_id='some-square')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "square.color = 'OliveDrab'\n", + "update_display(square, display_id='some-square')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Clear output" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "print(\"hello\")\n", + "await sleep(3)\n", + "clear_output() # will flicker when replacing \"hello\" with \"goodbye\"\n", + "print(\"goodbye\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "print(\"hello\")\n", + "await sleep(3)\n", + "clear_output(wait=True) # prevents flickering\n", + "print(\"goodbye\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Display classes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import HTML\n", + "HTML('''\n", + "
\n", + "
''')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import Math\n", + "Math(r'F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import Latex\n", + "Latex(r\"\"\"\\begin{eqnarray}\n", + "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", + "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", + "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", + "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n", + "\\end{eqnarray}\"\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import ProgressBar\n", + "\n", + "for i in ProgressBar(10):\n", + " await sleep(0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import JSON\n", + "JSON(['foo', {'bar': ('baz', None, 1.0, 2)}], metadata={}, expanded=True, root='test')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from IPython.display import GeoJSON\n", + "GeoJSON(\n", + " data={\n", + " \"type\": \"Feature\",\n", + " \"geometry\": {\n", + " \"type\": \"Point\",\n", + " \"coordinates\": [11.8, -45.04]\n", + " }\n", + " }, url_template=\"http://s3-eu-west-1.amazonaws.com/whereonmars.cartodb.net/{basemap_id}/{z}/{x}/{y}.png\",\n", + " layer_options={\n", + " \"basemap_id\": \"celestia_mars-shaded-16k_global\",\n", + " \"attribution\" : \"Celestia/praesepe\",\n", + " \"tms\": True,\n", + " \"minZoom\" : 0,\n", + " \"maxZoom\" : 5\n", + " }\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Network requests and JSON" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import json\n", + "from js import fetch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "res = await fetch('https://httpbin.org/get')\n", + "text = await res.text()\n", + "obj = json.loads(text) \n", + "JSON(obj)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sympy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from sympy import Integral, sqrt, symbols, init_printing\n", + "\n", + "init_printing()\n", + "\n", + "x = symbols('x')\n", + "\n", + "Integral(sqrt(1 / x), x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Magics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import os\n", + "os.listdir()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "%cd /home" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "%pwd" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "current_path = %pwd\n", + "print(current_path)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "%%writefile test.txt\n", + "\n", + "This will create a new file. \n", + "With the text that you see here." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "%history" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "%%timeit \n", + "\n", + "time.sleep(0.1)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python (Pyodide)", + "language": "python", + "name": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/repl/jupyter-lite.json b/repl/jupyter-lite.json new file mode 100644 index 0000000..6cfcd77 --- /dev/null +++ b/repl/jupyter-lite.json @@ -0,0 +1,10 @@ +{ + "jupyter-lite-schema-version": 0, + "jupyter-config-data": { + "disabledExtensions": [ + "@jupyterlab/drawio-extension", + "jupyterlab-kernel-spy", + "jupyterlab-tour" + ] + } +} From e06dfd76b2fde4878de766d1060d0f79cba816d2 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 15:46:44 -0400 Subject: [PATCH 10/12] Build for this branch --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0e98d46..ba02af8 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -32,7 +32,7 @@ jobs: deploy: needs: build - if: github.ref == 'refs/heads/main' + if: github.ref == 'refs/heads/bob/jupyterlite' permissions: pages: write id-token: write From 2c94a72552f318b07f74fc932fc7781a06259a06 Mon Sep 17 00:00:00 2001 From: Robert Calise Date: Fri, 9 Jun 2023 16:01:52 -0400 Subject: [PATCH 11/12] Use examples folder as content --- .github/workflows/deploy.yml | 2 +- content/python.ipynb | 721 ----------------------------------- 2 files changed, 1 insertion(+), 722 deletions(-) delete mode 100644 content/python.ipynb diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index ba02af8..4f661e9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,7 +24,7 @@ jobs: - name: Build the JupyterLite site run: | cp README.md content - jupyter lite build --contents content --output-dir dist + jupyter lite build --contents examples --output-dir dist - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: diff --git a/content/python.ipynb b/content/python.ipynb deleted file mode 100644 index 689e883..0000000 --- a/content/python.ipynb +++ /dev/null @@ -1,721 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "# A Python kernel backed by Pyodide\n", - "\n", - "![](https://raw.githubusercontent.com/pyodide/pyodide/master/docs/_static/img/pyodide-logo.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import pyodide_kernel\n", - "pyodide_kernel.__version__" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Simple code execution" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "a = 3" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "a" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "b = 89\n", - "\n", - "def sq(x):\n", - " return x * x\n", - "\n", - "sq(b)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "print" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "# Redirected streams" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import sys\n", - "\n", - "print(\"Error !!\", file=sys.stderr)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Error handling" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "scrolled": true, - "trusted": true - }, - "outputs": [], - "source": [ - "\"Hello\"\n", - "\n", - "def dummy_function():\n", - " import missing_module" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "dummy_function()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Code completion" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### press `tab` to see what is available in `sys` module" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from sys import " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Code inspection" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### using the question mark" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "?print" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### by pressing `shift+tab`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "print(" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Input support" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "name = await input('Enter your name: ')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "'Hello, ' + name" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Rich representation" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import display, Markdown, HTML, JSON, Latex" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "tags": [] - }, - "source": [ - "## HTML" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "print('Before display')\n", - "\n", - "s = '

HTML Title

'\n", - "display(HTML(s))\n", - "\n", - "print('After display')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Markdown" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "Markdown('''\n", - "# Title\n", - "\n", - "**in bold**\n", - "\n", - "~~Strikthrough~~\n", - "''')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Pandas DataFrame" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import numpy as np\n", - "from string import ascii_uppercase as letters\n", - "from IPython.display import display\n", - "\n", - "df = pd.DataFrame(np.random.randint(0, 100, size=(100, len(letters))), columns=list(letters))\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Show the same DataFrame " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## IPython.display module" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import clear_output, display, update_display\n", - "from asyncio import sleep" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Update display" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "class Square:\n", - " color = 'PeachPuff'\n", - " def _repr_html_(self):\n", - " return '''\n", - "
\n", - "
''' % self.color\n", - "square = Square()\n", - "\n", - "display(square, display_id='some-square')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "square.color = 'OliveDrab'\n", - "update_display(square, display_id='some-square')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Clear output" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "print(\"hello\")\n", - "await sleep(3)\n", - "clear_output() # will flicker when replacing \"hello\" with \"goodbye\"\n", - "print(\"goodbye\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "print(\"hello\")\n", - "await sleep(3)\n", - "clear_output(wait=True) # prevents flickering\n", - "print(\"goodbye\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Display classes" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import HTML\n", - "HTML('''\n", - "
\n", - "
''')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import Math\n", - "Math(r'F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import Latex\n", - "Latex(r\"\"\"\\begin{eqnarray}\n", - "\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n", - "\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n", - "\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n", - "\\end{eqnarray}\"\"\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import ProgressBar\n", - "\n", - "for i in ProgressBar(10):\n", - " await sleep(0.1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import JSON\n", - "JSON(['foo', {'bar': ('baz', None, 1.0, 2)}], metadata={}, expanded=True, root='test')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from IPython.display import GeoJSON\n", - "GeoJSON(\n", - " data={\n", - " \"type\": \"Feature\",\n", - " \"geometry\": {\n", - " \"type\": \"Point\",\n", - " \"coordinates\": [11.8, -45.04]\n", - " }\n", - " }, url_template=\"http://s3-eu-west-1.amazonaws.com/whereonmars.cartodb.net/{basemap_id}/{z}/{x}/{y}.png\",\n", - " layer_options={\n", - " \"basemap_id\": \"celestia_mars-shaded-16k_global\",\n", - " \"attribution\" : \"Celestia/praesepe\",\n", - " \"tms\": True,\n", - " \"minZoom\" : 0,\n", - " \"maxZoom\" : 5\n", - " }\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Network requests and JSON" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import json\n", - "from js import fetch" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "res = await fetch('https://httpbin.org/get')\n", - "text = await res.text()\n", - "obj = json.loads(text) \n", - "JSON(obj)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Sympy" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from sympy import Integral, sqrt, symbols, init_printing\n", - "\n", - "init_printing()\n", - "\n", - "x = symbols('x')\n", - "\n", - "Integral(sqrt(1 / x), x)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Magics" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import os\n", - "os.listdir()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "%cd /home" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "%pwd" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "current_path = %pwd\n", - "print(current_path)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "%%writefile test.txt\n", - "\n", - "This will create a new file. \n", - "With the text that you see here." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "%history" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "import time" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "%%timeit \n", - "\n", - "time.sleep(0.1)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python (Pyodide)", - "language": "python", - "name": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "python", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 4 -} From 7e965e7c249d791ded3e2b7f6f6a777185c0ad01 Mon Sep 17 00:00:00 2001 From: Nikhil Gupta Date: Thu, 29 Jun 2023 15:44:16 -0400 Subject: [PATCH 12/12] Add toolkit as requirement --- examples/Recommendations.ipynb | 4 ++-- requirements.txt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/Recommendations.ipynb b/examples/Recommendations.ipynb index 095c90d..f777767 100644 --- a/examples/Recommendations.ipynb +++ b/examples/Recommendations.ipynb @@ -18,8 +18,8 @@ "source": [ "#@title Install Python Packages\n", "\n", - "!pip install git+https://github.com/RebootMotion/reboot-toolkit.git@v2.3.2#egg=reboot_toolkit > /dev/null\n", - "!echo \"Done Installing\"" + "# !pip install git+https://github.com/RebootMotion/reboot-toolkit.git@v2.3.2#egg=reboot_toolkit > /dev/null\n", + "# !echo \"Done Installing\"" ] }, { diff --git a/requirements.txt b/requirements.txt index ce32beb..8ee3a18 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,4 +11,5 @@ matplotlib numpy pandas plotly -python-dotenv \ No newline at end of file +python-dotenv +git+https://github.com/RebootMotion/reboot-toolkit.git@v2.3.2#egg=reboot_toolkit